【问题标题】:Type or namespace name 'VisualStudio' does not exist in the namespace 'Microsoft'命名空间“Microsoft”中不存在类型或命名空间名称“VisualStudio”
【发布时间】:2022-01-06 21:26:38
【问题描述】:

我可以从here 看到,命名空间Visual Studio 应该存在于命名空间Microsoft 中,但是我收到了那个错误,我的测试都没有工作!

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

我正在使用 Visual Studio 2012 和 Windows 8.1(全部更新)。

【问题讨论】:

  • 检查目标 .net fw。即 .Net 4 CLIENT 框架与 .Net 4.0 FULL 框架。还要确保存在正确版本的单元测试 dll。

标签: unit-testing visual-studio-2012 namespaces


【解决方案1】:

尝试在 TFS 中构建项目时出现此错误。这些步骤修复了它:

  • 删除对 Microsoft.VisualStudio.QualityTools.UnitTestFramework 的引用
  • 添加 nuget MSTest.TestFramework
  • 添加 nuget MSTest.TestAdapter(可选,但需要在 Visual Studio 中运行测试)

上述步骤导致该元素从我的 .csproj 文件中删除:

<Reference Include="Microsoft.VisualStudio.QualityTools.UnitTestFramework" />

这两个被添加了:

    <Reference Include="Microsoft.VisualStudio.TestPlatform.TestFramework, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
      <HintPath>..\packages\MSTest.TestFramework.2.1.1\lib\net45\Microsoft.VisualStudio.TestPlatform.TestFramework.dll</HintPath>
    </Reference>
    <Reference Include="Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
      <HintPath>..\packages\MSTest.TestFramework.2.1.1\lib\net45\Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll</HintPath>
    </Reference>

【讨论】:

  • 将 Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll 复制到项目的根文件夹中。稍后您将在控制台或其他方式中构建测试项目时,将其复制回 debug\bin。如果项目没有引用 Microsoft.VisualStudio.QualityTools.UnitTestFramework 我在从 Visual Studio UI 启动测试时遇到问题 -> 故障。
  • 我还将整个项目更新为 SDK 样式类型。然后我删除了引用并用 PackageReferences 替换它们(在 SDK 样式项目中添加或删除引用当然要容易得多,因为您不必卸载和加载它们来编辑 XML)。然后它对我有用(在 TFS 中)。
【解决方案2】:

如果您使用的是 VS 2017,请不要将原始项目和测试项目放在同一个文件夹中。这将解决冲突。

【讨论】:

    【解决方案3】:

    命名空间 Microsoft.VisualStudio... 在不属于 Visual Studio 标准安装的程序集中定义。仅当您安装了 Visual Studio SDK 时才可用。

    可以在 here 找到对 SDK 和包含命名空间的 MSDN 参考。

    安装 SDK 后,将所需程序集的引用添加到您的项目中,如 here 所述。

    编辑:还请检查您的 Visual Studio 版本。在您发布的 MSDN 链接中,它说:

    如果您有特殊要求,您可以自定义 Visual Studio Ultimate 或 Visual Studio Premium 的某些方面以扩展现有功能或添加新功能。 API 参考提供了有关类的信息以帮助您进行自定义。

    如果您有这些版本之一,请打开您的单元测试项目,右键单击“引用”-> 选择“添加引用”-> 单击左上角的“程序集”并在列表中搜索“Microsoft. VisualStudio.TestTools.UnitTesting'(它位于“框架”或“扩展”部分,您也可以在左侧选择)。您不需要知道 dll 的实际位置。

    【讨论】:

    • 感谢 Tobias,我下载并安装了 VisualStudio SDK,但如果我不知道 .dll 的位置,我该如何引用它?我正在搜索Microsoft.VisualStudio.TestTools.UnitTesting,但没有得到任何东西。另外,请注意您的 MSDN 参考链接不包括我所追求的程序集.. 是不是全部改变了?
    • 嗯...我对此进行了更深入的研究,显然我忽略了一些东西。您能否指定您使用的是哪个版本的 Visual Studio 2012(Professional、Premium、Ultimate、Express)?您所指的程序集似乎仅在 Ulitmate 和 Premium 版本中可用。
    • 我正在使用 VS 2012 Professional。你是说我不能使用那个特定的 UnitTesting 库,因为我没有 VS 2012 Ultimate 或 Premium? :(
    • 抱歉 Tobias,不是这样。 :)
    • 下载链接被禁止
    【解决方案4】:

    对于 VS 2017,我不得不更改属性中的目标框架

    【讨论】:

    • 我也在使用 VS 2017,我的所有目标框架都设置为“.NET Framework 4.6.2”,但我仍然收到此错误,并且找不到 dll我需要任何地方。
    • 有趣的是,这个程序集的 MSDN 文档 stops 在 Visual Studio 2013 中完全停止。它并没有说它不再受支持,但他们注意到它包括文档从旧版本。仍在进一步研究...
    • 我的问题是代码是通过SpecFlow生成的,所以我不知道如何快速解决这个问题(IE,无需重写大部分SpecFlow)。
    • 答案没有提供任何具体设置将目标“更改为”的内容,也没有提供原因。因此,它似乎对我或 Thought 不起作用。
    【解决方案5】:

    好的,我发现了问题所在。我将所有解决方案文件放在不同于通常默认位置的位置。

    我将它们放在一个 Dropbox 文件夹中,希望我可以在多台计算机上处​​理解决方案,但显然这就是问题的原因。

    将整个解决方案移至默认的 My Documents/VS 2012/Projects/ 为我解决了问题!

    简而言之,如果您希望事情顺利进行,请将解决方案文件放在通常的位置,除非您是高级用户并且知道自己在做什么(我不是)。

    【讨论】:

    • 我确实将项目移动到它的位置 Documents/VS 2010/Projects/ 但我仍然收到此错误错误 1 ​​名称空间“Microsoft”中不存在类型或名称空间名称“VisualStudio”(您是否缺少程序集参考?)
    • 你用的是VS2010吗?如果没有,它需要进入正确的文件夹
    • 我使用的是 vs 2010,我将它放在了文档/vs2010/projects/ 中,但它仍然给了我错误
    • 不,我没有共享它,我猜它是一些 dll 问题
    • “...希望我可以从多台计算机上解决这个问题...”这就是源代码控制的用途。
    【解决方案6】:

    我建议避免使用“添加引用”,这花了我一些时间,但我遇到了这个 NuGet,它包含 CodedUITests 所需的一切。 https://www.nuget.org/packages/CodedUIDependencies/1.0.0

    【讨论】:

      【解决方案7】:

      将 Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll 复制到项目的根文件夹中。稍后您将在控制台或其他方式中构建测试项目时,将其复制回 debug\bin。 如果项目没有引用 Microsoft.VisualStudio.QualityTools.UnitTestFramework 我在从 Visual Studio UI 启动测试时遇到问题 -> 故障。

      【讨论】:

        【解决方案8】:

        安装 NuGet Microsoft.JavaScript.UnitTest 后出现此错误。卸载后就可以了。

        https://www.nuget.org/packages/Microsoft.JavaScript.UnitTest/

        【讨论】:

          【解决方案9】:

          就我而言,我的私有包源无效。因此,我根本无法安装任何软件包(当然)。删除无效的包源还允许 Visual Studio 正确安装包。

          【讨论】:

            猜你喜欢
            • 2018-05-09
            • 2018-06-14
            • 2021-07-28
            • 2013-05-04
            • 2015-01-05
            • 1970-01-01
            • 2017-12-29
            • 2014-04-12
            相关资源
            最近更新 更多