Pரத*_*ீப் 6 c# azure nuget nuget-package azure-devops
我已经创建了 .net 标准库。创建后,我尝试通过选择项目文件中的包选项从我的 Visual Studio 创建 nuget 包。然后尝试在另一个控制台应用程序中使用本地创建的 .nupkg 文件,效果很好。它按预期显示依赖项
然后我通过创建管道通过 Azure DevOps 部署了相同的库。现在在同一个控制台应用程序中,如果我从 Azure devops 源中选择 nuget,它不会显示任何依赖项。安装后控制台应用程序将无法工作,它要求在控制台应用程序中再次安装依赖项。
这是我的项目文件。
<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>
Run Code Online (Sandbox Code Playgroud)
我尝试按照此处的建议在项目文件中添加以下内容,但没有帮助。
<PackageReference Include="NuGet.Build.Tasks.Pack" Version="5.4.0">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
</PackageReference>
Run Code Online (Sandbox Code Playgroud)
注意:.nuspec
我的项目中没有文件
我在这里错过了什么。
ziv*_*kan 14
它可能更清楚(事实上,我刚刚创建了一个 PR来这样做),但隐藏在Azure DevOps NuGet 任务上文档的 YAML 片段的注释末尾,它说:
使用 NuGet.exe 并与 .NET Framework 应用程序配合使用。对于 .NET Core 和 .NET Standard 应用,请使用 .NET Core 任务。
查看nuget'exe pack
docs,它说:
对基于 PackageReference 的项目使用 dotnet pack 或 msbuild -t:pack。
所以基本上,nuget.exe pack
不支持PackageReference,所有.NET Core 项目都是PackageReference。因此,不应使用 Azure DevOps 中的 NuGet 任务来打包 PackageReference 项目,要么使用 .NET Core 任务(使用 dotnet cli),要么使用带有-t:pack
参数的MSBuild 。
归档时间: |
|
查看次数: |
2079 次 |
最近记录: |