【发布时间】:2016-11-09 20:15:26
【问题描述】:
我有一个项目引用了其他几个项目。它们都是使用 x86 作为平台构建的。这在我的桌面上编译得很好。
在我的远程 VSO 构建期间,我总是收到错误
MSB3174:“AssemblyVersion”的值无效
当我编辑.csproj 文件时,我发现它没有任何问题。我做错了什么?
VSO 构建参数很简单: /t:发布 /p:ApplicationVersion=$(Build.BuildNumber)
我有其他项目使用 $(Build.BuildNumber) 没有问题
VSO 构建日志中的参数(为清楚起见已截断):
"C:\Program Files (x86)\MSBuild\12.0\bin\msbuild.exe" "[App_PATH].csproj"
/nologo
/nr:false
/t:"Clean"
/dl:CentralLogger,[*snip dll path]
/t:Publish
/p:ApplicationVersion=DEPLOY.[App_Name]_2016.11.09.16
/p:platform="x86"
/p:configuration="DV1"
/p:_MSDeployUserAgent="VSTS[*snip]"
编辑:我尝试从本地命令提示符运行 MSBuild,但我得到了相同的行为。 VSTS 或其任何设置信息都不应受到指责。
我只是希望我知道要查看我的应用程序来纠正它。
【问题讨论】:
-
您是否有一个步骤来填充 AssemblyVersion(通常在 AssembliyInfo.cs 中)作为构建的一部分 - 可能使用构建服务器上不存在或不同的变量?
-
你能告诉我们你认为没有问题的部分吗?您是否使用this question 等命令行参数覆盖它?
-
在构建之前有一个步骤可以更新 AssemblyInfo.cs 文件中的 AssemblyFileVersion,但是我验证了它是否正确地完成了它的工作并且 b- 我已经在没有它的情况下运行了构建并且我得到相同的行为。 AssemblyVersion:1.0.0.0 和 AssemblyFileVersion:1.0.0.0 的默认值
-
你能用一个新项目重现这个问题吗?您可以在 OneDrive 上共享项目。
-
这个错误的MSDN docs 相当不错。使用 /v:diag 选项来获取构建跟踪详细信息,这样您就可以看到出错了。
标签: c# msbuild azure-devops