【问题标题】:Createing reference with NuGet in Azure Devops在 Azure Devops 中使用 NuGet 创建引用
【发布时间】:2020-05-08 07:51:45
【问题描述】:

我创建了一个 NuGet 包并将其发布到 Azure Devops 中的源。

当使用它时,不包含依赖 dll,它不作为 NuGet 包存在,所以我无法像那样修复它。

我更改了 csproj 并按照here 的描述添加了它。

现在我得到了 dll,但没有添加为参考。这可以在 Azure Devops 中解决吗?

【问题讨论】:

  • 嗨@berinder,您是否获得了更改以尝试以下解决方法,效果如何?
  • 我手动添加了它,就像您在第一个替代方案中建议的那样。第二种选择感觉更干净,但我还没有考虑过。

标签: c# azure-devops nuget-package


【解决方案1】:

由于您使用 NuGet 包打包了依赖 dll。当你的项目使用 NuGet 包时,依赖的 dll 将存在于..\packages\{yourNugetPackage}\lib\{targetFramework}\dependent.dll

所以你可以在你的项目中手动添加一个引用到这个依赖的dll。下面的例子。

<ItemGroup>
    <Reference Include="DependentDll">
          <HintPath>..\packages\yourNugetPackage.1.0.0\lib\netcoreapp2.0\dependent.dll</HintPath>
    </Reference>
</ItemGroup>

另一种可能的解决方法是,您可以尝试为此依赖的 dll 创建另一个 Nuget 包并将其发布到 azure devops 中的提要。

然后将 dependency 添加到原始 Nuget 包项目中的此包中,并重新发布以供 Azure Devops 中使用。这样依赖的 dll 就可以使用您的原始 Nuget 包进行管理。请参见下面的简单示例。

<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
    <metadata>
        <id>sample</id>
        <version>1.0.0</version>
        <authors>Microsoft</authors>
        <dependencies>
            <dependency id="dependentDllPackage" version="1.0.0" />
         </dependencies>
    </metadata>
</package>

【讨论】:

    猜你喜欢
    • 2020-01-19
    • 2021-08-18
    • 1970-01-01
    • 1970-01-01
    • 2019-03-26
    • 1970-01-01
    • 2020-01-14
    • 1970-01-01
    • 2020-12-22
    相关资源
    最近更新 更多