TFS构建和清单文件:属性版本的值无效

时间:2017-01-10 14:36:21

标签: wpf tfs manifest tfsbuild tfs2012

我有一个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({3}}。好的,很高兴知道。
  • 我可以通过设置1.0.1.2更改版本值并“解决”问题(不再出现错误,应用程序启动)。
  • 当我从Visual Studio(调试和发布)构建它时,版本值始终为1.1.0.0。
  • 我也注意到版本大约是60000,直到最近才跳到70000左右。它可能会被改变为年度变化:2016 - &gt; 2017年?!

我的问题是:

  • TFS构建如何生成此数字?
  • 如何更改?

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

1 个答案:

答案 0 :(得分:1)

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