3

我正在使用 Daniel Schroeder 的“每次构建后从项目创建新的 NuGet 包”NuGet 包通过 Visual Studio 2013 从我的项目中自动创建 NuGet 包。在 .nuspec 文件中指定组依赖项时遇到问题。这就是我的 .nuspec 文件中的内容:

<dependencies>
   <group targetFramework=".NETFramework3.5">
        <dependency id="BitMiracle.LibTiff.NET" version="2.4.500.0" />
   </group>
   <group targetFramework=".NETFramework3.5">
       <dependency id="FAImage.Net35" version="1.0.0" />
   </group>
   <group targetFramework="Silverlight5.0">
      <dependency id="FAImage.SL50" version="1.0.0" />
  </group>
</dependencies>

依赖项包含在包中,但它们不绑定到 .nuspec 文件的标记中指定的特定平台。它们都被列为“非特定框架”。当通过 NuGet 包资源管理器创建相同的包时,依赖项的来源是正确的。任何帮助将不胜感激。

4

2 回答 2

2

我是 nuget 的新手,但您是否尝试过:

<group targetFramework="net35">
   <dependency id="BitMiracle.LibTiff.NET" version="2.4.500.0" />
   <dependency id="FAImage.Net35" version="1.0.0" />
</group>
<group targetFramework="sl5">
    <dependency id="FAImage.SL50" version="1.0.0" />
</group>
于 2015-02-13T14:49:01.503 回答
2

您的 nuspec 文件缺少<frameworkAssemblies>您要定位的每个框架的标记。正如@Patrick 指出的那样,您还需要使用框架别名。

    <package>
        <metadata>
            <!-- snip other data -->
            <dependencies>
                <group targetFramework="net35">
                    <dependency id="BitMiracle.LibTiff.NET" version="2.4.500.0" />
                    <dependency id="FAImage.Net35" version="1.0.0" />
                </group>
                <group targetFramework="sl5">
                    <dependency id="FAImage.SL50" version="1.0.0" />
                </group>
            </dependencies>
            <frameworkAssemblies>
                <frameworkAssembly assemblyName="System.Core" targetFramework="net35" />
                <frameworkAssembly assemblyName="System.Core" targetFramework="sl5" />
            </frameworkAssemblies>
        </metadata>
    </package>
于 2016-05-26T09:14:10.500 回答