InstallShield LE 2012 ToolsVersion默认为3.5,TFS自动构建失败

时间:2013-06-26 08:08:09

标签: tfs msbuild tfs2012 installshield-le

有没有办法更改InstallShield LE 2012项目,以便它始终默认为MSBuild ToolsVersion 4.0?

我看到当我将其设置为3.5时,我的自动构建在TFS中失败。当我用记事本手动设置为4.0时,它工作正常。但是,在IDE之后对项目文件的任何更改都会导致它恢复为3.5。

无论如何将此默认为4.0?

由于

1 个答案:

答案 0 :(得分:0)

我还没有找到让项目默认使用4.0工具版的方法,但是你总是可以将/tv:4.0 MSBuild参数传递给你的TFS自动构建。唯一的问题是,如果您的解决方案包含任何不应在4.0工具下构建的项目。

另一个选项是确保在构建服务器上安装并正确配置3.5工具。我知道这有一些问题,它需要对Installshield Target文件进行一些修改才能使3.5正常工作。

为了使其适用于安装的3.5和4.0工具,请替换读取

的部分
<UsingTask TaskName="Microsoft.Build.Tasks.AssignProjectConfiguration"
           AssemblyName="Microsoft.Build.Tasks.v3.5"
                   Condition="'$(MsBuildToolsVersion)'=='3.5'"/>

使用以下

<UsingTask TaskName="Microsoft.Build.Tasks.AssignProjectConfiguration"
           AssemblyName="Microsoft.Build.Tasks.v3.5,Version=3.5.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a"   
                   Condition="'$(MsBuildToolsVersion)'=='3.5'"/>