153

我的 C# Visual Studio 项目中出现以下错误:

命名空间“Microsoft”中不存在类型或命名空间名称“VisualStudio”(您是否缺少程序集引用?)

我还试图找到 microsoft.dll 文件,但找不到任何参考。我在搜索错误的 DLL 吗?

using Microsoft.VisualStudio.TestTools.UnitTesting;  
using Kya.MsFx.Services.Swiper;

namespace Kya.MsFx.Devices.Swiper.Test
{
[TestClass]
public class SwiperWindowTest
{

    private SwiperWebServiceHost m_SwiperWS = null;
    /// <summary>
    ///     start web service on a separate thread, so tests 
    ///     can be executed withut blocking the application thread
    /// </summary>
    [ClassInitialize]
    public void SetupSwiperTests() {

        m_SwiperWS = SwiperWebServiceHost.StartService();

    }

    /// <summary>
    /// Stop service started during class initialize and kill the thread
    /// </summary>
    [ClassCleanup]
    public void CleanupSwiperTests() {
        m_SwiperWS.Stop();
    }


    /// <summary>
    ///   simulate init, swipe, clear operations
    /// </summary>
    [TestMethod]
    public void TestSwiperService()
    {
        MessageBox.Show("test");
    }
}
}
4

12 回答 12

157

您必须添加参考

Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll 

可以在C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\PublicAssemblies\目录下找到(VS2010专业版或以上;.NET Framework 4.0)。

或右键单击您的项目并选择:添加引用... > .NET: 或单击添加引用... > .NET:

于 2012-11-28T10:08:58.940 回答
106

我知道这是旧的,这是我在谷歌搜索中出现的。我需要在 NuGet 上引用这些包:

在此处输入图像描述

于 2018-04-16T19:20:37.840 回答
17

您要查找的包含该命名空间的 DLL 是

Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll

请注意,单元测试不能在 Visual Studio Express 中使用

于 2012-11-28T10:09:21.543 回答
11

要解决此问题,我必须执行以下操作:

  1. 使用管理权限启动 Visual Studio 安装程序
  2. 如果它提示您安装 Visual Studio 更新,请在继续之前执行此操作
  3. 出现提示时,单击按钮以修改现有安装
  4. 单击顶部的“单个组件”选项卡/标题
  5. 向下滚动到“调试和测试”部分
  6. 选中“Web 性能和负载测试工具”旁边的框
  7. 单击对话框右下角的修改按钮以安装缺少的 DLL

安装 DLL 后,您可以使用 Agent007 在他的回答中指出的方法添加对它们的引用。

于 2018-07-09T22:35:05.300 回答
10

还有一个不错的nuget 包。它会将 dll 拉到您的包文件夹中。您将需要手动添加对 dll 的引用。

注意:此软件包不是 Microsoft 官方软件包。

于 2015-02-19T09:03:00.780 回答
9

如果您使用的是 Visual Studio 2017 社区,则位置为:

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\ReferenceAssemblies\v2.0

你想要的DLL在那里: Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll

显然它位于C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\PublicAssemblies\Visual Studio 2010 Professional 版本的目录中,但请注意,它10.0会根据发布年份进行更改,即 VS 2013 是 12.0 版,VS 2015 是 14.0 版,VS 2017 是 15.0。(VS Express 不受支持,需要通过 NuGet 包管理器安装 NUnit NuGet 包。)

你去References,右键单击,选择Add Reference , Browse。导航到路径,然后双击该文件。

然后,您需要using在单元测试类的顶部声明:

using Microsoft.VisualStudio.TestTools.UnitTesting;

于 2018-08-22T18:20:14.617 回答
0

即对于 Visual Studio 2013,我将引用此程序集:

Microsoft.VisualStudio.Shell.14.0.dll

你可以在这里找到它:

C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\Extensions\BugAid Software\BugAid\1.0

并且不要忘记实施:

使用 Microsoft.VisualStudio;

于 2016-11-08T07:03:56.793 回答
0

如果您来到这里是因为您的 VSTS 构建作业失败并显示上述错误消息。确保您至少使用 nuget 任务的 2.* 版本来恢复您的包。

于 2018-08-29T14:32:33.790 回答
0

移动项目并删除它的包文件夹后,我遇到了这个问题。Nuget 显示已安装 MSTest.TestAdapter 和 MSTest.TestFramework v 1.3.2。修复似乎是以管理员身份打开 VS 并构建之后,我能够在没有管理员权限的情况下重新打开和构建。

于 2018-11-22T00:02:29.453 回答
0

添加对“Microsoft.VisualStudio.QualityTools.UnitTestFramework”NuGet 数据包的引用,它应该可以成功构建它。

于 2019-08-12T05:31:06.323 回答
0

使用 Visual Studio 2019,运行 .net core 3.1 项目,您将需要安装最新的测试框架来解决错误。

完成此操作的最简单方法是将浏览器悬停在 [Test] 注释(红色下划线)上并选择建议的修复。需要的是“搜索并安装最新的测试框架”。

于 2020-04-24T16:45:34.017 回答
-4

只需参考此 URL 并在此位置下载并保存所需的 dll 文件:

C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\PublicAssemblies

网址是:https://github.com/NN---/vssdk2013/find/master

于 2015-05-28T09:27:49.610 回答