Windows Phone 7:现有库不受支持?

6
我希望只需要引用现有的库就能在 WP7 上使用它们,但实际使用时提示无法加载它们,因为 .Net CF。难道我需要将它们重新编译为 .NET CF 或其他什么吗?我认为 WP7 的一个很大优势是能利用现有的代码库……如果必须剥离所有内容并维护多个版本,那我怎么能利用我的现有代码库呢?
3个回答

1

是的,您需要启动一个 Windows Phone 库(其中包含对 netcf bcl 的引用)... 您可以将大多数文件作为链接文件引用添加。这样,一旦编译,您就可以更改一个源文件,每个平台都会自动更新。

查找一些 XNA 教程/视频,了解如何跨平台游戏的示例。


我理解的对吗,你不能一次性链接多个文件,而是需要一个一个地链接它们? - Peterdk
我相信只要这些文件在同一个文件夹中,你就可以同时链接多个文件。只需打开“添加现有文件”对话框,按住Ctrl键单击要添加的每个文件,然后选择“添加为链接”。 - Joel Martinez
如果你依赖于现有的代码,请非常小心,因为Windows Phone上的Silverlight可能不允许您在项目中使用非Silverlight 3库。如果在添加引用时收到警告,则可能表明该库在设备上无法工作。 - RoguePlanetoid
是的,@RoguePlanetoid 是正确的,这就是为什么您需要针对具有正确 bcl 引用的项目重新编译您的代码的原因。 - Joel Martinez

1

.NET Compact Framework 是完整 .NET Framework 的一个子集,带有一些额外的功能以支持移动开发。如果您想为 Windows 和 Windows Phone 编译库,则需要为每个平台构建代码。

您仍然可以利用大部分与 .NET 库相同的代码,但是您需要使用 预处理器符号 和条件编译来排除在其他框架中不受支持的桌面(或电话)功能。

为此,请创建两个项目。一个项目将包含所有针对桌面框架的文件。另一个项目将包含缩小框架的链接版本的文件。您可以在每个项目中定义符号,以触发有条件编译的代码块。

这意味着您已经在 .NET 中投资的任何内容都可以轻松转换为 Windows Phone 世界,但您还要确保您的库的性能特征易于由性能较弱的设备支持。

祝您好运!


0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接