首页 > 解决方案 > 错误 MSB3174:使用 %2a 的自动递增版本的“AssemblyVersion”值无效

问题描述

我有一个 .csproj 文件。并根据要求。我编写了 PowerShell 脚本来自动增加应用程序版本。我使用了来自以下链接的参考,并使用了其中的一些逻辑并将其与我的 PowerShell 脚本集成。 https://github.com/deadlydog/Set-ProjectFilesClickOnceVersion

当我测试 PowerShell 脚本时,它显示它会将修订号更改为“%2a”,用于自动递增操作。并在名为“ApplicationRevision”的 .csproj 文件中创建新元素,该元素存储版本的实际修订号。例如,如果应用程序版本1.0.0.0在增量之后,应用程序版本看起来像1.0.0.%2a. 并且应用程序修订元素值为1

之后,我将此 PowerShell 脚本与 Azure 管道集成。但是在运行管道时出现错误,“错误 MSB3174:'AssemblyVersion' 的值无效”。我检查了程序集版本并手动更新它。但手动增加程序集版本后仍然出现相同的错误。

标签: c#powershellazure-devopsmsbuild

解决方案


指定一个星号 (*) 代替构建版本号以使其自动递增。

[assembly: AssemblyVersion("1.0.0.*")]

提供 (*) 代替绝对数字会使编译器在每次构建时将数字增加一。

有关详细信息,请参阅AssemblyVersionAttribute 类特殊字符。


推荐阅读