当前位置: 首页 > 知识库问答 >
问题:

NuGet-当使用“在每个构建之后创建新的NuGet包”包时,在.nuspec文件中添加组依赖项

潘皓
2023-03-14

我正在使用Daniel Schroeder的“create New NuGet Package from project after Each build”NuGet Package来通过Visual Studio2013从我的项目中自动创建NuGet Package。当在.nuspec文件中指定组依赖项时,我遇到了一个问题。这是我的.nuspec文件中的内容:

xml prettyprint-override"><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 package Explorer创建相同的包时,依赖项的来源是正确的。任何帮助都将不胜感激。

共有2个答案

孔宇
2023-03-14

您的nuspec文件缺少您要针对的每个框架的 标记。正如@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>
訾凯歌
2023-03-14

我对nuget是个新手,但你试过吗:

xml prettyprint-override"><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>
 类似资料:
  • 我正在使用Nuget创建包。我想创建一个包,该包不包含任何其他NuGet包的依赖项(在文件中)。我的项目确实在其文件中定义了NuGet包依赖项。 首先创建文件... 我将生成的文件编辑为最小,没有依赖项。 然后我构建了解决方案并创建了一个NuGet包... 下面是该命令的输出... 创建的包包含一个文件,但它包含一个依赖项节,而我在原始文件中没有这个节... 我相信这是因为...(来自上面的输出)

  • 我将我的应用程序更新为引用兼容性库的v23(xamarin.android.support.v7.appCompat version=“23.3.0”),并且不能再构建应用程序了。我得到以下错误: 检索项的父项时出错:找不到与给定名称“theme.appcompat.light.noactionbar”匹配的资源。 找不到与给定名称:attr“window actionbar”匹配的资源。 找不到

  • 我最近正在使用Azure管道,并且我的构建过程中有一个NuGet任务。此进度始终失败,因为 NuGet 源中没有名为“机器人实用性”的包。这是因为此包由我自己创建,并且仅存储在 Azure 项目中。 ##[错误]nuget命令失败,并出现退出代码(1)和错误(NU1101:找不到包BotUtive。源中不存在具有此ID的包:NuGetOrg 构建管道有可能到达Azure工件中的这个包吗?如果可以,

  • 使用Azure Functions,我可以在我的C#函数中引用和使用NuGet包吗?

  • 我正在关注一个名为“在C#中使用SQLite”的YouTube教程。 当他在NuGet/Browse中输入“sqlite”时,他会得到这些结果 但是当我打字的时候,我什么也没有得到 我在谷歌上搜索时什么也找不到。如果有人能帮忙,我将感激不尽。

  • 我从吉图卜克隆了项目。我的解决方案有 6 个项目,每个项目都有 packages.config 文件(其中包含包及其版本的列表),但这些包不会还原。 我已经尝试恢复nuget包的方法: 在 Visual Studio 中: