gpt4 book ai didi

c# - 通过 Azure Devops 部署 Nuget 包时未添加依赖项

转载 作者:行者123 更新时间:2023-12-02 05:50:47 27 4
gpt4 key购买 nike

我已经创建了.net标准库。创建后,我尝试通过选择项目文件中存在的包选项从我的 Visual Studio 创建 nuget 包。然后尝试在另一个控制台应用程序中使用本地创建的 .nupkg 文件,它工作正常。它按预期显示了依赖关系

enter image description here

然后,我通过创建管道通过 Azure DevOps 部署了相同的库。现在,在同一个控制台应用程序中,如果我从 Azure DevOps 源中选择 nuget,它不会显示任何依赖项。安装后控制台应用程序将无法运行,它要求在控制台应用程序中再次安装依赖项。

enter image description here

这是我的项目文件。

<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework>
<Company>MyCompany</Company>
<Authors>Me</Authors>
<Version>1.0.0</Version>
<Description>Library for managing Azure KeyVault</Description>
</PropertyGroup>

<ItemGroup>
<PackageReference Include="Microsoft.Azure.KeyVault" Version="3.0.5" />
<PackageReference Include="Microsoft.IdentityModel.Clients.ActiveDirectory" Version="5.2.7" />
</ItemGroup>

</Project>

我尝试按照建议在项目文件中添加以下内容 here ,但没有帮助。

<PackageReference Include="NuGet.Build.Tasks.Pack" Version="5.4.0">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
</PackageReference>

注意:我的项目中没有 .nuspec 文件

我在这里缺少什么。

最佳答案

它可能会更清晰(事实上, I just created a PR 这样做),但隐藏在 the docs on the Azure DevOps NuGet Task 的 YAML 片段中的注释末尾。它说:

Uses NuGet.exe and works with .NET Framework apps. For .NET Core and .NET Standard apps, use the .NET Core task.

查看nuget'exe pack docs ,它说:

Use dotnet pack or msbuild -t:pack for PackageReference based projects.

所以基本上,nuget.exe pack 不支持 PackageReference,并且所有 .NET Core 项目都是 PackageReference。因此,不应使用 Azure DevOps 中的 NuGet 任务来打包 PackageReference 项目,而应使用 .NET Core 任务(使用 dotnet cli)或带有 -t:pack 参数的 MSBuild。

关于c# - 通过 Azure Devops 部署 Nuget 包时未添加依赖项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60558273/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com