如何为Nuget工件配置Azure Devops Pipeline包名称



我们已经设置了一个现有的Devops管道,用于使用.Net Core任务将.Net Standard类库打包并推送为Nuget工件。我们正试图用一个使用Nuget任务的管道来取代它——我们正在使用Nuget Pack和Nuget Push。我们无法获得Nuget任务创建的包名称,以匹配我们在与.Net Core任务打包时使用的包名称。

.Net Core任务从.csproj文件中指定的PackageId中提取包名称。Nuget任务似乎是从项目的程序集名称中提取的。有没有办法用Nuget任务配置pacakge名称?

新的devops管道

我没有你的问题的具体答案,但如果你正在处理Net核心项目,对我来说有效的是将项目设置为生成nuget on build任务。在csproj中查找GeneratePackageOnBuild。这将在每次使用csproj上的属性构建nuget时创建nuget。

如果不设置AssemblyName,则程序包名称将与csproj文件名相同。。

<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework>
<Company>ACME inc</Company>
<Version>1.1.0</Version>
<AssemblyName>YourPackageID</AssemblyName>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
</PropertyGroup>
</Project>

您不需要打包任何东西,只需在构建目录中推送nupkg即可。NugetPush任务只需要一个这样的正则表达式-路径可能包含多个正则表达式:

$(Build.SourcesDirectory)/**/**/*.nupkg;$(Build.SourcesDirectory)/**/**/**/*.nupkg;

最新更新