Bamboo随机运行不同版本的msbuild.exe并且构建失败

时间:2015-05-06 09:48:00

标签: .net visual-studio-2012 msbuild bamboo sql-server-data-tools

我使用Bamboo使用VS2012构建我的SSDT数据库解决方案。当我将数据库单元测试项目添加到解决方案时,问题就开始了。有时构建失败的消息是随机的:

  

错误CS0234:类型或命名空间名称' VisualStudio'不存在   在名称空间' Microsoft' (你错过了一个程序集引用吗?)

Bamboo总是从这个位置运行msbuild:C:\ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ MSBuild.exe

我注意到每当构建失败时,msbuild.exe输出为:

  

Microsoft(R)Build Engine版本4.0.30319.18408

     

[Microsoft .NET Framework,版本4.0.30319.18449]

当构建成功时输出为:

  

Microsoft(R)Build Engine版本4.0.30319.34209

     

[Microsoft .NET Framework,版本4.0.30319.34209]

我不知道从哪里购买版本4.0.30319.18408。我在整个磁盘上搜索了msbuild.exe并执行了所有人,其中没有一个版本为4.0.30319.18408。

我需要一个建议如何强制Bamboo运行正确版本的msbuild.exe或如何卸载版本4.0.30319.18408。

构建机器上的组件如下:

Microsoft .NET Framework 4 Multi-Targeting Pack                        4.0.30319  
Microsoft .NET Framework 4.5 Multi-Targeting Pack                      4.5.50709  
Microsoft .NET Framework 4.5 SDK                                       4.5.50710  
Microsoft .NET Framework 4.5.2 Multi-Targeting Pack                    4.5.51651  
Microsoft .NET Framework 4.5.2 Multi-Targeting Pack (ENU)              4.5.51209  
Microsoft Visual Studio 2010 Shell (Integrated) - ENU                  10.0.40219  
Microsoft Visual Studio 2010 Shell (Isolated) - ENU                    10.0.40219  
Microsoft Visual Studio 2012 Devenv                                    11.0.50727  
Microsoft Visual Studio 2012 Devenv Resources                          11.0.50727  
Microsoft Visual Studio 2012 Performance Collection Tools              11.0.50727  
Microsoft Visual Studio 2012 Performance Collection Tools - ENU        11.0.50727  
Microsoft Visual Studio 2012 Preparation                               11.0.50727  
Microsoft Visual Studio 2012 Shell (Minimum)                           11.0.50727  
Microsoft Visual Studio 2012 Shell (Minimum) Interop Assemblies        11.0.50727  
Microsoft Visual Studio 2012 Shell (Minimum) Resources                 11.0.50727  
Microsoft Visual Studio 2012 Tools for SQL Server Compact 4.0 SP1 ENU  4.0.8876.1  
Microsoft Visual Studio Professional 2012                              11.0.50727  
Microsoft Visual Studio Professional 2012 - ENU                        11.0.50727  
Microsoft SQL Server Data Tools – Database Projects – Web installer... 10.3.20116.0  
Microsoft SQL Server Data Tools - enu (11.1.50318.0)                   11.1.50318.0  
Microsoft SQL Server Data Tools Build Utilities - enu (11.1.40403.0)   11.1.40403.0  

路径中没有msbuild。

编辑: 组件列表使用PowerShell编写脚本。我刚刚注意到程序和功能中的实际列表较短。只有一个Visual Studio 2012专业版。

1 个答案:

答案 0 :(得分:0)

我修改了Bamboo任务,不是为了调用msbuild可执行文件而是为了运行这样的脚本:

  
<style>
.circle-blue {
  width: 10px;
  height: 10px;
  background: deepskyblue;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  border-radius: 5px;
}
.circle-gray {
  width: 10px;
  height: 10px;
  background: gray;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  border-radius: 5px;
}
.cell {
  display: table-cell;
  font-size: 6px;
}
</style>
<table>
<tr>
<td style="padding: 5px"><div class="circle-blue cell"></div></td>
<td style="padding: 5px"><div class="circle-gray cell"></div></td>
<td style="padding: 5px"><div class="circle-blue cell"></div></td>
</tr>
</table>

到目前为止它的确有效。