我有一个参考其他一些项目的项目。它们都是使用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或其任何设置信息都不应该受到责备。
我只是希望我知道要查看我的应用程序来纠正它。
答案 0 :(得分:2)
问题在于:
/p:ApplicationVersion=DEPLOY.[App_Name]_2016.11.09.16
版本格式不符合要求。请尝试使用以下格式:1.2.3.4。
有关详细信息,请参阅MSBuild Error MSB3174和Version Constructor (String)。
<强>说明强>
version参数只能包含major,minor, 按顺序构建和修订,并按句点分隔。 必须至少有两个组件,最多四个。前两个 假设组件是主要的和次要的。未指定的值 组件未定义。版本号的格式为 如下。可选组件显示在方括号中(&#39; [&#39;和 &#39;]&#39;):major.minor [.build [.revision]]所有定义的组件必须是 整数大于或等于0.例如,如果是主要数字 是6,次要编号是2,内部编号是1,修订版 number为3,则版本应为&#34; 6.2.1.3&#34;。