Windows phone 7 Nuget是否支持绑定到特定平台的依赖关系?

Windows phone 7 Nuget是否支持绑定到特定平台的依赖关系?,windows-phone-7,dependencies,nuget,nuget-package,Windows Phone 7,Dependencies,Nuget,Nuget Package,我有一个库,我想为其创建一个包,该包具有以下情况: 该库编译为不同的版本: Silverlight 4.0 .NET4.0 .net 3.5 Windows Phone 幸运的是,所有这些平台都受到Nuget的支持,因此在我的包的lib文件夹中,我可以为每个平台创建子文件夹,当库安装在这些平台上时,Nuget将做正确的事情 问题是我还有一些其他依赖项,它们因平台而异。例如:在Windows Phone上,我需要包含第三方zip库(wpSharpLibZip),但在包含压缩实用程序的其他平台上

我有一个库,我想为其创建一个包,该包具有以下情况:

该库编译为不同的版本:

  • Silverlight 4.0
  • .NET4.0
  • .net 3.5
  • Windows Phone
幸运的是,所有这些平台都受到Nuget的支持,因此在我的包的lib文件夹中,我可以为每个平台创建子文件夹,当库安装在这些平台上时,Nuget将做正确的事情

问题是我还有一些其他依赖项,它们因平台而异。例如:在Windows Phone上,我需要包含第三方zip库(wpSharpLibZip),但在包含压缩实用程序的其他平台上不存在此依赖关系

Nuget是否支持此场景?我希望能够使wpSharpLibZip依赖项仅存在于Windows Phone平台上。我是否必须为每个平台创建一个单独的包


如果此功能不存在,我可以想象它的实现方式如下:

更改包清单的部分以支持:

<dependencies>
   <dependency id="Newtonsoft.Json" version="3.5.8" />
   <dependency id="wpSharpLibZip">
       <platform>Silverlight 4.0 - Windows Phone</platform>
   </dependency>
</dependencies>

Silverlight 4.0-Windows Phone

或者,另一种方法是允许在每个平台文件夹(在lib文件夹下)内使用一个单独的.nuspec文件,该文件可以列出特定于平台的依赖项。

为每个不同的依赖项集提供单独的包。依赖项是包级别的。NuGet目前不支持此场景,并且可能暂时不支持

更新:自NuGet 2.x以来,依赖项具有组,因此您可以通过这种方式设置依赖项。有关详细信息,请参阅

<dependencies> 
   <group>
      <dependency id="RouteMagic" version="1.1.0" />
   </group>

   <group targetFramework="net40">
      <dependency id="jQuery" />
      <dependency id="WebActivator" />
   </group>

   <group targetFramework="sl30">
   </group>
</dependencies>

这已作为提案提交到nuget codeplex网站: