如何在Nuget-Package中定位我的可移植类库?

时间:2016-05-26 17:59:27

标签: nuget nuget-package

我正在尝试为另一个项目创建一个Nuget包,它在项目属性中设置了以下目标:

  • .NET Framework 4.5
  • ASP.NET Core 1.0
  • Windows 8
  • Windows Phone Silverlight 8
  • Xamarin.Android
  • Xamarin.iOS
  • Xamarin.iOS(经典)

我创建包的项目目标完全相同。

在Nuget Package Explorer中,我创建了一个lib文件夹,并在lib - 文件夹中添加了另一个包含Add Portable Library的文件夹和以下设置:

  • .NET Framework v4.5及更高版本
  • Windows Phone 8

创建后的目录名称为:

portable-net45 + wp8(.NETPortable,Version = v0.0,Profile = net45 + wp8)

我将Nuget Package发布到我的私有存储库并尝试将其导入我上面描述的项目中,但它给了我一个错误:

  

无法安装包' my.package 0.0.1-alpha1'。你正试图   将此包安装到目标项目中   ' .NETPortable,版本= v4.5,Profile = Profile78',但包有   不包含任何程序集引用或内容文件   与该框架兼容。有关更多信息,请联系   包裹作者。

任何人都可以告诉我,如何正确设置我的包装,这样我的包装可以导入吗?有什么问题?

提前致谢!

1 个答案:

答案 0 :(得分:0)

您的NuGet包具有便携式配置文件:

portable-net45+wp8

配置文件78具有便携式配置文件:

portable-net45+win8+wp8

所以问题是您使用的配置文件并不表示它支持Windows 8(win8),因此NuGet认为它与Profile 78不兼容。

如果您的可移植类库程序集以Profile 78为目标,那么您可以将该目录重命名为包含win8,使其成为portable-net45+win8+wp8