VS2015/TFS2013 构建服务器问题
VS2015/TFS2013 build server problems
TFS2013 update 5
,在 dev PC 和 build server 上 VS2015 Enterprise update 3
(根据 What is required for doing Unit Tests on a Build Server?).
项目是一个标准的 MVC5 框架,目前几乎没有任何修改。该项目编译但有 2 个主要问题。
第一期:
C:\Program Files (x86)\MSBuild.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.Owin
、WebGrease
和 Newtonsoft.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
存在,并且在整个位置存在重要安装。
我还查看了 ,它建议使用特定的 MSBuild 参数。鉴于上面的路径问题,它似乎是有道理的,但在我尝试之前,我想确认它对我的问题集有意义并且特定参数是正确的。另外,MSBuild 参数是否可以解决第一期中提到的冲突?
最后,在研究这一切时,我开始看到构建服务器配置有多大。这有点吓人。我会很感激我可以开始学习的参考资料或书籍,以便更好地接受这个过程的教育。
更新: 根据 中的简单 MSBuild 参数 /tv:14.0
,第一个问题已解决。构建现在找到了正确的程序集。
仍在寻求解决关于 Test Runner 的第二个问题,但我正在阅读的一些帖子暗示这个特定的 VS/TFS 组合是不寻常的。构建服务器可能需要 VS2015 和 VS2013,测试需要 VS2013。会回来报告的。
我建议您在线查看 visual studio 或尽可能升级到最新的 TFS 版本 (2017)。
TFS 和构建配置的最新更改远远优于以前提供的内容。 XAML 和工作流程的日子已经一去不复返了。新界面非常漂亮,他们提供的发布管理工具非常好。
就构建代理配置而言,我的建议是 - 基本上将其设置为您的开发机器的克隆:即,在构建代理上安装您在开发环境中使用的相同工具。
Microsoft 的 Continuous Integration and Deployment 和其他相关页面包含大量好东西 material 并且有望回答您的一些问题
第二个问题的解决方案是安装Visual Studio 2013或者如果你想继续使用Visual Studio 测试 运行ner.
因为无法为“运行 VS Test 运行ner”activity设置工具版本或工具路径,安装 VS 2013 应该是摆脱此错误的唯一方法。
这是因为 Test Agent 2015 不再需要测试控制器,因为代理编排现在由服务器(TFS2015 或 VSTS)管理。
If you need your test agent or test controller to work with TFS
2013, use Agents for Microsoft Visual Studio 2013 Update 5 and
configure the test controller.
更多详情请看教程:Install and configure test agents
关于构建服务器配置,您最好确保构建代理(构建服务器)环境与您本地环境相同,这将大大减少 tfs 构建问题。
TFS2013 update 5
,在 dev PC 和 build server 上 VS2015 Enterprise update 3
(根据 What is required for doing Unit Tests on a Build Server?).
项目是一个标准的 MVC5 框架,目前几乎没有任何修改。该项目编译但有 2 个主要问题。
第一期:
C:\Program Files (x86)\MSBuild.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.Owin
、WebGrease
和 Newtonsoft.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
存在,并且在整个位置存在重要安装。
我还查看了
最后,在研究这一切时,我开始看到构建服务器配置有多大。这有点吓人。我会很感激我可以开始学习的参考资料或书籍,以便更好地接受这个过程的教育。
更新: 根据 /tv:14.0
,第一个问题已解决。构建现在找到了正确的程序集。
仍在寻求解决关于 Test Runner 的第二个问题,但我正在阅读的一些帖子暗示这个特定的 VS/TFS 组合是不寻常的。构建服务器可能需要 VS2015 和 VS2013,测试需要 VS2013。会回来报告的。
我建议您在线查看 visual studio 或尽可能升级到最新的 TFS 版本 (2017)。
TFS 和构建配置的最新更改远远优于以前提供的内容。 XAML 和工作流程的日子已经一去不复返了。新界面非常漂亮,他们提供的发布管理工具非常好。
就构建代理配置而言,我的建议是 - 基本上将其设置为您的开发机器的克隆:即,在构建代理上安装您在开发环境中使用的相同工具。
Microsoft 的 Continuous Integration and Deployment 和其他相关页面包含大量好东西 material 并且有望回答您的一些问题
第二个问题的解决方案是安装Visual Studio 2013或者如果你想继续使用Visual Studio 测试 运行ner.
因为无法为“运行 VS Test 运行ner”activity设置工具版本或工具路径,安装 VS 2013 应该是摆脱此错误的唯一方法。
这是因为 Test Agent 2015 不再需要测试控制器,因为代理编排现在由服务器(TFS2015 或 VSTS)管理。
If you need your test agent or test controller to work with TFS 2013, use Agents for Microsoft Visual Studio 2013 Update 5 and configure the test controller.
更多详情请看教程:Install and configure test agents
关于构建服务器配置,您最好确保构建代理(构建服务器)环境与您本地环境相同,这将大大减少 tfs 构建问题。