TFS生成和清单文件:属性版本的值无效



我有一个TFS 2012版本,它(成功地)生成了一个WPF客户端应用程序,其中包含一个清单文件,看起来像:

<?xml version="1.0" encoding="utf-8"?>
<asmv1:assembly xsi:schemaLocation="urn:schemas-microsoft-com:asm.v1 assembly.adaptive.xsd" manifestVersion="1.0" xmlns:asmv1="urn:schemas-microsoft-com:asm.v1" xmlns="urn:schemas-microsoft-com:asm.v2" xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:co.v1="urn:schemas-microsoft-com:clickonce.v1" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns:co.v2="urn:schemas-microsoft-com:clickonce.v2">
<asmv1:assemblyIdentity name="MyApp.exe" version="1.0.70109.2" publicKeyToken="0000000000000000" language="fr" processorArchitecture="msil" type="win32" />
<!-- ... -->
</asmv1:assembly>

当我尝试启动应用程序时,我会出现以下错误:

应用程序无法启动,因为它是并排的配置不正确。。。

在事件日志中,错误为:

"C:\Dev\MyApp.exe.Manifest"的激活上下文生成失败。第行的清单或策略文件"C:\Dev\MyApp.exe.manifest"中出现错误3.元素"assemblyIdentity"中属性"version"的值"1.0.70109.2"无效。

到目前为止我能说的:

  • 版本号的每个部分似乎都限制在0-65535(包括0-65535):MSDN上的应用程序清单。好的,很高兴知道
  • 我可以通过设置1.0.1.2来更改版本值,它"修复"了问题(不再出现错误,应用程序将启动)
  • 当我从Visual Studio(调试和发布)中构建它时,版本值总是1.1.0.0
  • 我还注意到,这个版本大约是60000,直到最近才跳到70000左右。它是否可能与年份变化决斗:2016年->2017年

我的问题是:

  • TFS构建是如何生成这个数字的
  • 如何更改

FWIW,我最近也从Visual Studio 2012升级到了Visual Studio 2015。

从Visual Studio 2012升级到Visual Studio 2015后,您的第一步应该是在生成服务器上安装Visual Studio 2015(或者Microsoft build Tools 2015)。在此之前,您的工作将不必要地受到当前本地构建与MSBuildTFS工作流活动在服务器上执行的构建的不同逻辑的阻碍。然后检查生成定义的所选生成过程模板在MSBuild之外可能执行的版本控制逻辑,最后选择并实现一种适合您需求的版本控制方法。

最新更新