【发布时间】:2015-08-16 04:45:51
【问题描述】:
我在 VS2015 RC 中创建了一个 C# 测试项目。它在本地构建,但是当我尝试在我们的 CI 构建服务器(TeamCity)上构建时,它失败并出现错误:
UnitTest1.cs(2,17):错误 CS0234:类型或命名空间名称 命名空间“Microsoft”中不存在“VisualStudio”(您是 缺少程序集参考?) [... .Tests.csproj] UnitTest1.cs(9,10):错误 CS0246:类型或命名空间名称 找不到“TestMethod”(您是否缺少 using 指令或 装配参考?) [... .Tests.csproj]
显然这是因为包含这些命名空间 (Microsoft.VisualStudio.QualityTools.UnitTestFramework) 的程序集不在构建服务器上;在我的本地机器上,它位于C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\PublicAssemblies\Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll。
我可以将程序集复制到我的解决方案中,使其成为代码库的一部分,但手动移动文件感觉有点不雅。我在 nuget 上四处搜索,发现 http://www.nuget.org/packages/Microsoft.VisualStudio.QualityTools.UnitTestFramework/ 我认为可以解决问题,但安装该软件包失败:
安装包:无法安装包 'Microsoft.VisualStudio.QualityTools.UnitTestFramework 11.0.50727.1'。 您正在尝试将此软件包安装到一个针对 '.NETFramework, Version=v4.5.2',但包中不包含任何 与之兼容的程序集引用或内容文件 框架
解决这个问题的最佳选择是什么?我很惊讶在 VS2015 中创建一个测试项目并不会自动包含我需要的所有依赖项,尽管我可能很天真(我是一个初出茅庐的点网员)。
【问题讨论】:
-
为什么会有人标记这个?这是一个完全有效的问题。我是一个缺乏经验的 .net 开发人员,在花费了相当长的时间在谷歌上搜索并没有得到任何结果之后,我正在寻找一些关于如何进步的指导。如此精英主义以至于我不被允许这样做吗?认真的吗?
-
@jaimiet 我遇到了同样的问题,在您的 TeamCity 代理上,您是在 Linux 上的 Mono 下构建的吗? Mono 不提供该库作为其分发的一部分。如果它是 Windows 下的 .NET,那么您有几种选择可以将其安装到位。
标签: c# visual-studio unit-testing visual-studio-2015