在哪里可以找到“Microsoft.VisualStudio.TestTools.UnitTesting”缺失的 dll?
Posted
技术标签:
【中文标题】在哪里可以找到“Microsoft.VisualStudio.TestTools.UnitTesting”缺失的 dll?【英文标题】:Where to find "Microsoft.VisualStudio.TestTools.UnitTesting" missing dll? 【发布时间】:2012-11-16 03:39:59 【问题描述】:我的 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
后是否仍然遇到完全相同的错误?
【参考方案1】:
你必须添加参考
Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll
可以在C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\PublicAssemblies\
目录找到(VS2010专业版或以上;.NET Framework 4.0)。
或右键单击您的项目并选择:添加引用... > .NET:
【讨论】:
为什么会被接受? cmets 似乎表明它没有帮助。有人可以详细说明吗? @sirdank 您确实意识到除了 OP 之外没有人可以接受答案作为解决方案,不是吗?如果对 OP 没有帮助,他就不会接受。 @Agent007 我知道。但是,OP 留下评论表明它不起作用表明(至少对我而言)需要做更多的事情。在弄清楚还需要做什么之后,不留下评论来描述这些似乎没有帮助。 刚遇到这个问题,这个答案就是解决方案。任何人都知道为什么会这样?为什么命名空间是Microsoft.VisualStudio.TestTools.UnitTesting
而程序集是Microsoft.VisualStudio.QualityTools.UnitTestFramework
?为什么他们不能将它们命名为相同的东西?
我被绊倒的一种方式是,当 Team Build 构建时,它会根据版本在不同的文件夹中查找。用于 VS 2010 的 Microsoft Visual Studio 10.0、用于 VS 2013 的 Microsoft Visual Studio 12.0、用于 VS 2015 的 Microsoft Visual Studio 14.0。【参考方案2】:
我知道这是旧的,这是我在 Google 搜索中出现的。我需要在 NuGet 上引用这些包:
【讨论】:
在我的情况下(VS2019)我需要升级这些软件包然后它解决了问题。干杯! 对我来说,为 MSTest.TestFramework 添加 PackageReference 是诀窍。我不需要引用 TestAdapter。 (我猜后者是用于工具集成。例如:测试的自动发现。)但是,是的,这正是我需要的答案。谢谢! 您需要确保这些包是相同的版本。如果您只升级一个而没有另一个,您的测试将无法正常工作。为什么这是两个单独的包,只有上帝和比尔盖茨才能回答...... 这需要标记为答案【参考方案3】:您要查找的包含该命名空间的 DLL 是
Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll
注意单元测试cannot be used in Visual Studio Express。
【讨论】:
能否给我下载链接? @AmitPal 你有什么版本的 Visual Studio?它应该包含在大多数版本中。 visual studio 2010 和 .net 4.0 @AmitPal 查看我对 DLL 路径的这个问题的回答。它必须在那里。 @AmitPal Visual Studio 2010 Express 没有那个 DLL,它 cannot be added 可以进行单元测试(你必须使用像 nUnit 这样的第三方测试工具)如果你使用专业或以上,请参阅 agent007 的回答。【参考方案4】:要解决此问题,我必须执行以下操作:
-
使用管理权限启动 Visual Studio 安装程序
如果它提示您安装 Visual Studio 更新,请在继续之前执行此操作
出现提示时,单击按钮以修改现有安装
点击顶部的“单个组件”选项卡/标题
向下滚动到“调试和测试”部分
选中“Web 性能和负载测试工具”旁边的框
单击对话框右下角的修改按钮以安装缺少的 DLL
安装 DLL 后,您可以使用 Agent007 在其回答中指出的方法添加对它们的引用。
【讨论】:
“Web 性能和负载测试工具”不再出现。您会建议我们选择什么? @ShafiqJetha,我仍然看到“Web 性能和负载测试工具”选项。我正在使用 Visual Studio Enterprise 2017 - 15.8.9。你用的是什么版本?自从我写了上面的帖子以来,微软似乎稍微改变了安装程序的界面。当我启动 Visual Studio 安装程序(以管理员身份运行)时,我单击“更新”和“启动”按钮右侧的“更多”按钮,然后选择“修改”,然后继续执行列表中的第 4 步我在上面的帖子。 我正在使用 Visual Studio 2017 的构建工具安装程序,所以这可以解释它。 @ShafiqJetha 你最后用了什么? 这是正确答案。【参考方案5】:还有一个不错的nuget package。它会将 dll 拉到你的包中 文件夹。您需要手动添加对 dll 的引用。
注意:此软件包不是 Microsoft 官方软件包。
【讨论】:
使用 VS2013 的 .net 4.0 项目无法安装 nuget 包。版本的唯一选项是 11.0.50727.1。 谁能说这个 nuget 是否真的是 Microsoft 拥有的?它似乎是一个包含 Microsoft 程序集的个人 nuget 这表示它适用于 VS 2012,并表示“所有者已取消列出此软件包”。【参考方案6】:如果您使用的是 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;
【讨论】:
浏览是指底部的浏览按钮,而不是左侧的浏览文件夹。 @AlanBaljeu 非常正确。【参考方案7】:即对于 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;
【讨论】:
【参考方案8】:如果您来到这里是因为您的 VSTS 构建作业失败并出现上述错误消息。确保您至少使用 nuget 任务的 2.* 版本来恢复您的包。
【讨论】:
你知道为什么需要版本 2.* 吗?我们在 TFS 2017 上,遇到了这个错误。 我刚刚将代码从 QA 提升到 UAT,现在我正在同一台计算机上测试相同的单元测试,在几乎相同的解决方案中位于相同的父文件夹中。但是nooo..突然没有发现单元测试....我厌倦了他们在晚年创造的微软路径地狱。【参考方案9】:我在移动项目并删除它的包文件夹后遇到了这个问题。 Nuget 显示已安装 MSTest.TestAdapter 和 MSTest.TestFramework v 1.3.2。 修复似乎是以管理员身份打开 VS 并构建 之后,我能够在没有管理员权限的情况下重新打开和构建。
【讨论】:
【参考方案10】:添加对“Microsoft.VisualStudio.QualityTools.UnitTestFramework”NuGet 数据包的引用,它应该会成功构建它。
【讨论】:
我确信其他七个建议这个确切解决方案的条目并没有传达给读者。当你重复时,重复会更好。【参考方案11】:使用 Visual Studio 2019,运行 .net core 3.1 项目,您需要安装最新的测试框架来解决错误。
完成此操作的最简单方法是将浏览器悬停在 [Test] 注释(红色下划线)上并选择建议的修复。需要的是“搜索并安装最新的测试框架”。
【讨论】:
【参考方案12】:只需参考此 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”缺失的 dll?的主要内容,如果未能解决你的问题,请参考以下文章