无法使用自定义配置文件将PCL NuGet包添加到PCL项目

时间:2013-03-24 05:37:31

标签: xamarin.ios nuget portable-class-library

所以我一直在做一个游戏,而且大量的项目变得无法管理。输入NuGet。

我想确保我的代码可以在不同的设备上运行,所以我一直将这些项目作为可移植类库。我需要在XBox,Windows,iOS,Android和Silverlight上使用它们。我在C:\ Program Files(x86)\ Reference Assemblies \ Microsoft \ Framework.NETPortable \ v4.0 \ Profile \ Profile1 \ SupportedFrameworks中创建了一些自定义的自定义SupportedFrameworks 特别是MonoAndroid和VSMonoTouch

我成功地将其中一个PCL转换为NuGet包,但是当我尝试将它们添加到同一配置文件的另一个PCL时,我收到此错误: 无法安装包'Framework.dll 1.0.0.0'。您正在尝试将此软件包安装到以“.NETPortable,Version = v4.0,Profile = Profile1”为目标的项目中,但该软件包不包含任何与该框架兼容的程序集引用或内容文件。有关更多信息,请与软件包作者联系。

包文件夹被放下并包含一个名为:portable-win + net40 + MonoAndroid16 + sl40 + net10 + wp + Xbox40的文件夹,确实包含所请求的dll。我可以手动将这个dll添加到我的项目中,所以我相信这可能是NuGet中的一个错误。我在网上对此进行了调查,发现主要的修复方法是更新NuGet,因为最新版本可以更好地使用PCL。我已更新,但无济于事。

有没有人见过这个,或者我错过了一些明显的东西?任何帮助都将大大适应=)

谢谢, 约书亚

1 个答案:

答案 0 :(得分:0)

您在“Profile1 SupportedFrameworks”文件夹中放置的XML文件中使用“.NETFramework”作为标识符。这基本上是在Windows上构建iOS项目的黑客攻击,但是对于该场景的真正支持,您应该将该标识符更改为MonoTouch。然后,当你创建包时,应该使用monotouch代替net10作为lib / portable-x + y + z文件夹。

然后,正如@Deepak建议的那样,安装nightly build of NuGet。然后你应该能够将NuGet包安装到你的PCL项目中。如果您尝试这样做,请告诉我它是否有效。 :)

相关问题