VS2010中的Microsoft.VisualStudio.TestTools.UnitTesting命名空间在哪里?

我将包含一些unit testing项目的VS2008解决scheme转换为VS2010。 转换后,我试图编译解决scheme,但我得到以下错误:

名称空间“Microsoft”中不存在types或名称空间名称“VisualStudio”(是否缺less程序集引用?)

无法using Microsoft.VisualStudio.TestTools.UnitTesting;find命名空间声明using Microsoft.VisualStudio.TestTools.UnitTesting; 。 另外,当我尝试添加新的项目引用时,找不到Microsoft.VisualStudio.QualityTools.UnitTestFramework程序集。

有谁知道我在做什么错?

我也有这个问题,以及一个Microsoft.Data.Schema库。 答案是正确的,因为这些库在机器上和VS 10.0目录中。

问题(至less对我来说)是从VS2008转换的解决scheme和转换实用程序的目标为.NET 3.5的项目。 由于10.0库需要.NET 4.0,因此编译器无法获取它们。

解决办法是恢复使用VS2008这些解决正确的地方; 或者切换为.NET 4.0编译项目,以便您可以使用可用的库。

它被称为Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll

您可以在C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\PublicAssemblies\Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll

对于Visual Studio 2015用户:

有类似的问题,但与升级Prism WPF应用程序StockTraderRI从Prism 2.2到5.0使用Visual Studio 2015 5.0版本使用MEF和我需要的Unity版本。

我做的步骤是:

  1. 删除程序集引用

在这里输入图像说明

  1. 加回来

在这里输入图像说明

  1. 通过selectAssemblies | 扩展

在这里输入图像说明

  1. 在search框中inputMicrosoft.VisualStudio.QualityTools.UnitTestFramework

在这里输入图像说明

我必须为几个testing项目做这个,重复添加的最快方法就是selectAssemblies | 最近

在这里输入图像说明

对于VSTS 2010,请确保在参考文献中有这些内容:

  • Microsoft.VisualStudio.QualityTools.UnitTestFramework

  • Microsoft.VisualStudio.QualityTools.WebTestFramework(如果您正在进行Webtesting)

请去下载Visual Studio 2010 SP1。 安装它。 然后,它将允许您将testing项目的框架工作从以前的默认4.0更改为3.5和其他。 只需将框架工作更改为您要testing的项目的框架工作版本即可。 现在代码将和平地结合在一起,你将能够运行testing。

+ Erik Brown是对的,问题是VS2010支持将您的项目定位到.NET 3.5,但不支持.NET 3.5项目中的unit testing。

但是,由于在代码在生产环境中运行的框架下testing代码是很有意义的,所以最好使其工作。 一个简单的方法是使用NUnit,并使用Resharper从Visual Studio或NUNittesting运行器中运行testing。 NUnit与.NET v2.x – v4.x一起使用一组二进制文件。