使用 Powershell 更改发布版本

Changing publish version using Powershell

我已经编写了一个 Powershell 脚本来构建一个解决方案 (.sln) 文件。 我的脚本工作正常,没有任何问题,甚至通过了完整性测试,但问题是它没有更改发布版本。 解决方案需要发布。它正在使用

成功发布

/t:publish

争论。但无法更改发布版本 知道如何使用 PowerShell 更改发布版本。 要构建我正在使用的 sln 文件

msbuild foo.sln /p:Configuration=$configuration /t:Publish

是否有任何 msbuild 参数可以更改发布版本或任何其他方式。

MSBUILD 不会重新生成输出文件夹中已存在的相同文件,如果您不更改任何代码,MSBUILD 将不会重建和创建新文件,因此版本文件编号不会改变。

首先,在您的 .csproj 文件中,调整元素 <ApplicationVersion>*.*.*.*</ApplicationVersion>, 并将其删除。然后您可以构建并发布应用程序,app.application 版本将由 /property:ApplicationVersion 参数指定。

然后使用如下命令:

msbuild xxx.csproj /target:clean;publish /property:ApplicationVersion=x.x.x.x

你也可以使用Daniel Nolan在这个问题中回答的方式:Specify publish version with MSBuild command line as assembly version of project as stijn mentioned.

另一种方法是编写一个 powershell 脚本来使用新版本号修改 csproj 文件。