我的 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");
}
}
}
Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll
后,您是否仍然遇到完全相同的错误?
您必须添加参考
Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll
可以在C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\PublicAssemblies\
目录找到(VS2010专业版或以上;.NET Framework 4.0)。
https://i.stack.imgur.com/zSoWQ.png
我知道这是旧的,这是我在谷歌搜索中出现的。我需要在 NuGet 上引用这些包:
https://i.stack.imgur.com/fsFHf.png
您要查找的包含该命名空间的 DLL 是
Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll
请注意单元测试 cannot be used in Visual Studio Express。
要解决此问题,我必须执行以下操作:
以管理权限启动 Visual Studio 安装程序 如果提示您安装 Visual Studio 更新,请在继续之前执行此操作 出现提示时,单击按钮以修改现有安装 单击顶部的“单个组件”选项卡/标题向下滚动到“调试和测试”部分选中“Web 性能和负载测试工具”旁边的框单击对话框右下角的修改按钮以安装缺少的 DLL
安装 DLL 后,您可以使用 Agent007 在他的回答中指出的方法添加对它们的引用。
还有一个不错的nuget package。它会将 dll 拉到您的包文件夹中。您将需要手动添加对 dll 的引用。
注意:此软件包不是 Microsoft 官方软件包。
如果您使用的是 Visual Studio 2017 社区,则位置为:
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\ReferenceAssemblies\v2.0
您需要的 DLL 在那里:Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll
显然它位于 Visual Studio 2010 Professional 版本的 C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\PublicAssemblies\
目录中,但请注意 10.0
将根据发布年份进行更改,即 VS 2013 是 12.0 版,VS 2015 是 14.0 版,VS 2017 是15.0。 (VS Express 不受支持,需要通过 NuGet 包管理器安装 NUnit NuGet 包。)
您转到参考,右键单击,选择添加参考,浏览。导航到路径,然后双击该文件。
然后,您需要在单元测试类的顶部添加一个 using
语句:
using Microsoft.VisualStudio.TestTools.UnitTesting;
即对于 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;
如果您来到这里是因为您的 VSTS 构建作业失败并显示上述错误消息。确保您至少使用 nuget 任务的 2.* 版本来恢复您的包。
移动项目并删除它的包文件夹后,我遇到了这个问题。 Nuget 显示已安装 MSTest.TestAdapter 和 MSTest.TestFramework v 1.3.2。修复似乎是以管理员身份打开 VS 并构建之后,我能够在没有管理员权限的情况下重新打开和构建。
添加对“Microsoft.VisualStudio.QualityTools.UnitTestFramework”NuGet 数据包的引用,它应该可以成功构建它。
使用 Visual Studio 2019,运行 .net core 3.1 项目,您将需要安装最新的测试框架来解决错误。
完成此操作的最简单方法是将浏览器悬停在 [Test] 注释(红色下划线)上并选择建议的修复。需要的是“搜索并安装最新的测试框架”。
只需参考此 URL 并在此位置下载并保存所需的 dll 文件:
C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\PublicAssemblies
网址是:https://github.com/NN---/vssdk2013/find/master
不定期副业成功案例分享
Microsoft.VisualStudio.TestTools.UnitTesting
而程序集是Microsoft.VisualStudio.QualityTools.UnitTestFramework
?为什么他们不能将它们命名为相同的东西?