在未安装某些平台的计算机上修改可移植类库项目

3

我有一个支持以下平台的PCL项目:

  • .NET 4.5
  • .NET市场应用程序
  • Windows Phone 8

问题在于:虽然我可以在安装了Windows Phone 8 SDK的计算机上使用该项目(其中还安装了Windows 8),但我无法在任何未安装WinPhone8 SDK的Windows 7计算机上构建该项目。我也无法安装WP8 SDK,因为它需要Windows 8。我可以手动编辑源文件,但我无法构建PCL项目以验证是否存在编译器错误。

在没有安装某些平台(如WP8)的计算机上更改我的PCL项目的“最佳实践”是什么?我只应该手动删除本地副本的这些平台吗?

4个回答

4
我们现在对此没有一个好的答案。如果您放弃对Phone 8的支持(回到Phone 7.5或完全放弃),则可以像您已经注意到的那样,在Windows 7上进行构建。原因是,Phone工具本身带有Phone 8支持,因此它不能安装在Windows 7上,便无法使用便携式Phone 8支持。
但是,我们正在研究在明年的某个Visual Studio更新中解决这个问题,并且我已经在visualstudio.uservoice.com上提交了一个用户建议:http://visualstudio.uservoice.com/forums/121579-visual-studio/suggestions/3374340-allow-portable-libraries-targeting-windows-phone-8
如果您觉得重要,请投票 - 在我们试图找出下一步应该做什么时,客户反馈非常重要。

1

1

一个选项是只支持1-4个配置文件 - 这些配置文件在第一代PCL工具中可用 - http://visualstudiogallery.msdn.microsoft.com/b0e0b5e9-e138-410b-ad10-00cb3caf4981

如果您想开发更高级的功能(例如Linq2Xml),则需要将缺失的“配置文件”安装到win7机器上。

这可能只需升级到PCL2下载 - http://visualstudiogallery.msdn.microsoft.com/b0e0b5e9-e138-410b-ad10-00cb3caf4981/ - 这应该(我认为)安装超出1-4的新配置文件

希望以上内容对您有所帮助...

如果不行的话,你需要在Windows 7上浏览到参考程序集目录,并手动从Win8复制缺失的配置文件。关于PCL参考程序集如何工作的一些参考信息,请查看我们为了让MonoTouch和MonoDroid构建而进行的一些破解 - http://jpobst.blogspot.co.uk/2012/04/mono-for-android-portable-libraries-in.htmlhttp://slodge.blogspot.co.uk/2012/04/using-portable-library-tools-for.html

还有一件事情可能对您有用——NuGet包将await/async带回到wp7.1开发中——http://blogs.msdn.com/b/bclteam/archive/2012/10/22/using-async-await-without-net-framework-4-5.aspx


谢谢您的输入,但PCL2下载旨在使Visual Studio 2010与VS2012兼容。我在Windows 7和Windows 8机器上都使用VS2012;我的问题更多地与需要安装特定的市场后平台有关。 - BTownTKD
我认为你不需要平台,只需要检查安装了哪些配置文件。MSBuild并不知道PCL项目支持哪些平台,它只知道要构建哪个配置文件。 - Stuart

0
在一台没有安装某些平台(如WP8)的计算机上更改我的PCL项目,应该采用什么样的“最佳实践”?我应该只为该本地项目副本手动删除那些平台吗?
你的问题就是解决方案,因为Windows 7本身不支持Windows Phone 8 SDK要求,所以你将无法在Windows 7上工作PCL项目。除非Windows Phone 8 SDK支持Windows 7,否则你的选择有限,除非你删除Windows 7不支持的平台。

这最终是我必须要做的。我只需在Windows 7中打开项目,并“取消选中”Windows Phone 8平台,以便其余部分可以编译。 - BTownTKD
@BTownTKD - 也许在将来发布的Windows Phone 7.8版本的SDK中,你可以逃过一劫。遗憾的是,目前还没有关于Windows Phone 7.8到底支持Windows Phone 8中哪些功能的信息被公布出来。不过,这仍然无法解决根本问题,但我猜将来可能会变得不那么严重。 - Security Hound

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