使用TFS 2017 BuildAgent构建解决方案时出现错误CS0234

Tob*_*eel 15 .net c# msbuild tfs visual-studio

当尝试使用TFS构建定义进行构建时,我遇到了以下探测器.

执行构建时,代理会记录以下错误:

错误CS0234:命名空间"Microsoft"中不存在类型或命名空间名称"VisualStudio"(您是否缺少程序集引用?)

错误CS0246:找不到类型或命名空间名称'TestInitializeAttribute'(您是否缺少using指令或程序集引用?)

错误CS0246:找不到类型或命名空间名称'TestCleanupAttribute'(您是否缺少using指令或程序集引用?)

错误CS0246:找不到类型或命名空间名称'TestCleanup'(您是否缺少using指令或程序集引用?)

错误CS0246:找不到类型或命名空间名称'TestMethodAttribute'(您是否缺少using指令或程序集引用?)

所以我理解这样的消息,即buildAgent无法找到以下.dll

Microsoft.VisualStudio.TestTools.UnitTesting;

我在服务器上安装了Visual Studio 2017 RC和Visual Studio 2017 Build Tools,它运行TFS和Buildagents.

我还在那个mashine上安装了.net 4.6.1.

这个 接受的答案对我来说不是解决方案.

必须有某种解决方案,不包括将该DLL复制到git trunk并从那里引用它.

更新

我能够在该mashine上使用Visual Studio 2017 RC在本地构建解决方案.但构建代理仍然会抛出相同的错误.

Tob*_*eel 24

我最终想出了如何解决这个问题.

我添加了以下nuget包作为我的项目的参考:

https://www.nuget.org/packages/MSTest.TestFramework/

那就是mstestv2框架.

之后我不得不删除对mstestv1框架的旧引用.

构建错误现在消失了.

更新:

如果您想让您的测试可被发现,请将MSTest TestAdapter添加到您的项目中.

感谢Maciej提供的信息.

  • 如果希望在Visual Studio中可以发现/运行测试,则还需要添加MSTest.TestAdapter 1.2.0版:Install-Package MSTest.TestAdapter -Version 1.2.0 (3认同)