VS2015 / TFS2013构建服务器问题

时间:2017-07-09 23:56:26

标签: visual-studio-2015 msbuild continuous-integration tfs2013 build-server

TFS2013 update 5开发计算机上的VS2015 Enterprise update 3以及构建服务器(每What is required for doing Unit Tests on a Build Server?)。

Project是一个标准的MVC5框架,但尚未进行任何修改。该项目编制但有两个主要问题。

第一个问题:

C:\Program Files (x86)\MSBuild\12.0\bin\amd64\Microsoft.Common.CurrentVersion.targets (1697): Found conflicts between different versions of the same dependent assembly. In Visual Studio, double-click this warning (or select it and press Enter) to fix the conflicts; otherwise, add the following binding redirects to the "runtime" node in the application configuration file: 

接下来是<runtime>节点的一系列建议的xml编辑,如下所示:

<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
    <dependentAssembly>
        <assemblyIdentity name="System.Web.Mvc" culture="neutral" publicKeyToken="31bf3856ad364e35" />
        <bindingRedirect oldVersion="0.0.0.0-5.2.3.0" newVersion="5.2.3.0" />
    </dependentAssembly>
</assemblyBinding>

其他3条建议在此不再重复,因为它们基本上是相同的。它们分别针对Microsoft.OwinWebGreaseNewtonsoft.Json。但这很令人困惑,因为当我检查web.config中的<runtime>节点时,警告消息中建议的精确xml元素已经存在于所有4个项目的web.config中。另外,警告说双击或选择它,但我不能这样做。

第二个问题:

TF900547: The directory containing the assemblies for the Visual Studio Test Runner is not valid 'C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\CommonExtensions\Microsoft\TestWindow'.

我在构建服务器上检查了指定的位置,并且确定所请求的文件夹树不存在,树停在(x86)\Microsoft Visual Studio 12.0\Common7\IDE\。我在(x86)\Microsoft Visual Studio 14.0下检查并且存在(x86)\Microsoft Visual Studio 14.0\Common7\IDE\\CommonExtensions\Microsoft\TestWindow,并且整个位置都有重要的安装。

我还查看了VS2015 build with TFS2013,它建议了一个特定的MSBuild参数。鉴于上面的路径问题,它似乎有意义,但在我尝试之前,我想得到确认它对我的问题集合有意义,并且特定参数是正确的。另外,MSBuild参数是否会解决第一期中提到的冲突?

最后,在研究这一切时,我开始看到构建服务器配置的规模有多大。这有点吓人。我很感激我可以开始学习的参考书或书籍,以便在这个过程中受到更好的教育。

更新:遵循TFS 2013 building .NET 4.6 / C# 6.0中的简单MSBuild参数/tv:14.0,第一个问题已解决。构建现在可以找到正确的程序集。

仍然希望解决关于Test Runner的第二个问题,但我正在阅读的一些帖子暗示这个特定的VS / TFS组合是不寻常的。可能是构建服务器上需要VS2015和VS2013,测试需要VS2013。将报告回来。

2 个答案:

答案 0 :(得分:2)

如果您想继续使用Visual Studio Test Runner,第二个问题的解决方案是安装Visual Studio 2013 或Microsoft Visual Studio 2013代理。

因为无法为&#34; 运行VS Test Runner &#34;设置工具版本或工具路径。活动,安装VS 2013应该是摆脱这个错误的唯一方法。

这是由于Test Agent 2015不再需要测试控制器,因为代理业务流程现在由服务器(TFS2015或VSTS)管理。

  

如果您需要测试代理或测试控制器使用TFS   2013 ,使用代理 Microsoft Visual Studio 2013 Update 5 和   配置测试控制器。

更多详情请参阅本教程: Install and configure test agents

对于构建服务器配置,您最好确保构建代理(构建服务器)环境与本地环境相同,这将大大减少tfs构建问题。

答案 1 :(得分:1)

如果可能的话,我建议您在线查看visual studio或升级到最新的TFS版本(2017)。

TFS和构建配置的最新更改远远优于以前提供的更改。 XAML和工作流程的日子已经一去不复返了。新界面非常灵活,它们提供的发布管理工具非常好。

就构建代理配置而言,我的建议是 - 基本上将其设置为开发机器的克隆:即,在构建代理上安装的开发环境中使用相同的工具。

Microsoft的 Continuous Integration and Deployment和其他关联页面包含大量优质材料,希望能回答您的一些问题