首页 文章

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

提问于
浏览
11

当尝试使用TFS构建定义构建时,我遇到了以下probem .

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

错误CS0234:命名空间“Microsoft”中不存在类型或命名空间名称“VisualStudio”(您是否缺少程序集引用?)错误CS0246:找不到类型或命名空间名称“TestInitializeAttribute”(您是否遗漏了使用指令或程序集引用?)错误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 .

这个accepted answer对我来说不是解决方案 .

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

Update

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

3 回答

  • 3

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

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

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

    那就是mstestv2框架 .

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

    构建错误现在消失了 .

    Update:

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

    感谢Maciej获取该信息 .

  • 20

    我在VS 2017中将目标框架从4.7更改为4.6.1,并且已修复

  • 1

    确保在包含NuGet包和DLL的/ packages目录中检查了 have not . 我不小心将此目录检查到源代码管理中,它阻止了NuGet还原任务正确下载所需的DLL

    关键消息是构建日志中的早期警告:

    警告MSB3245:无法解析此引用 . 无法找到程序集“Microsoft.VisualStudio.TestPlatform.TestFramework,Version = 14.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a,processorArchitecture = MSIL” . 检查以确保磁盘上存在程序集 . 如果您的代码需要此引用,则可能会出现编译错误 .

相关问题