Msbuild 在VSTS内部版本和.net标准下未更新包版本
我正在使用VSTS构建和GitVersion构建一个.net标准组件。由于其.net标准,我不得不使用“msbuild/t:pack”而不是nuget pack步骤 这导致软件包版本号始终为1.0.0,我认为这意味着没有设置“PackageVersion”。GitVersion文档说“当UpdateVersionProperties为true时设置以下MSBuild属性”,但似乎没有相应的选项 有人知道如何让它工作吗 编辑 项目文件: 我更改了工作生成定义中的两项内容,禁用了Nuget Pack步骤,并在Visual Studio生成步骤中添加了“/t:Pack”作为msbuild参数 Nuspec文件 您应该让任务优先于MSBuild任务。它将生成带有1.1.0的nuget包版本。但它不会在源代码中更新新版本(1.1.0),因此当您再次构建时,您将始终获得nuget软件包版本1.1.0 还有另一种生成nuget包并根据需要指定包版本的方法。详细构建定义如下:Msbuild 在VSTS内部版本和.net标准下未更新包版本,msbuild,azure-pipelines,.net-standard,gitversion,Msbuild,Azure Pipelines,.net Standard,Gitversion,我正在使用VSTS构建和GitVersion构建一个.net标准组件。由于其.net标准,我不得不使用“msbuild/t:pack”而不是nuget pack步骤 这导致软件包版本号始终为1.0.0,我认为这意味着没有设置“PackageVersion”。GitVersion文档说“当UpdateVersionProperties为true时设置以下MSBuild属性”,但似乎没有相应的选项 有人知道如何让它工作吗 编辑 项目文件: 我更改了工作生成定义中的两项内容,禁用了Nuget Pac
- .NET核心任务与命令还原:指定.csproj的路径
- 带命令的.NET核心任务
:指定.csproj的路径build
- .NET核心任务和命令
:根据需要指定.csproj的路径和包版本(pack
) 要为nuget软件包使用Gitversion变量,只需在.NET核心包任务中添加参数/p:PackageVersion
变量/p:PackageVersion=$(Gitversion.Major)。$(Gitversion.Minor)。$(Gitversion.Patch)
、$(GitVersion.Major)
和$(GitVersion.Minor)
在执行GitVersion任务后自动生成$(GitVersion.Patch)
PackageVersion
默认为GitVersion设置的版本。请分享您的设置(csproj文件)的更多详细信息,我想我会用GitVersion创建的环境变量替换版本号?环境变量可以在/p:PackageVersion
中使用,但是您应该注意到格式应该是major.minor.patch
。那么您能否在您的示例中阐明我如何使用GitVersion生成包版本?谢谢,我在回答的最后添加了使用GitVersion for package的设置,您可以试一试。您可以改为使用NuGet push任务。