36
votes

I can see from here, that the namespace Visual Studio should exist within namespace Microsoft, yet I get that error and none of my tests are working!

The type or namespace name 'VisualStudio' does not exist in the namespace 'Microsoft' (are you missing an assembly reference?)

I am using Visual Studio 2012 with Windows 8.1 (all updated).

8
Check for target .net fw. I.e .Net 4 CLIENT framework vs .Net 4.0 FULL framework. Also make sure the correct version of unit test dll exist. - Spock

8 Answers

12
votes

I got this error when trying to build a project in TFS. These steps fixed it:

  • remove reference to Microsoft.VisualStudio.QualityTools.UnitTestFramework
  • add nuget MSTest.TestFramework
  • add nuget MSTest.TestAdapter (optional but needed to run tests inside Visual Studio)

The above steps caused this element to be removed from my .csproj file:

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

And these two were added instead:

    <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>
6
votes

The namespace Microsoft.VisualStudio... is defined in assemblies which are not part of the standard Installation of Visual Studio. It is available only if you installed the Visual Studio SDK.

The MSDN Reference to the SDK and included namespaces can be found here.

After installing the SDK add a reference to the required assemblies to your project as described here.

EDIT: Please also check your Visual Studio Version. In the MSDN Link you have posted it says:

You can customize some aspects of Visual Studio Ultimate or Visual Studio Premium to extend existing features or to add new capabilities if you have special requirements. The API reference provides information about the classes to help you with your customization.

If you have one of these Versions, open your unit test project, right click on 'References' -> Choose 'Add Reference' -> Click on 'Assemblies' on the top left and search in the List for 'Microsoft.VisualStudio.TestTools.UnitTesting' (Its either in the 'Framework' or in the 'Extensions' section which you can also choose on the left). You do not need to know the actual location of the dll.

6
votes

If you're using VS 2017, simply don't put the original project and the test project in the same folder. This will solve the conflict.

3
votes

For VS 2017, I had to change the Target Framework in Properties

2
votes

Ok I found out what the issue was. I had all the solution files in a different place than the usual default.

I had them in a Dropbox folder hoping that I can work on the solution from multiple computers, but apparently that was the cause of the issue.

Moving the whole solution to the default My Documents/VS 2012/Projects/ fixed the problem for me!

In short, if you want things to work smoothly, have the solution files in the usual place, unless you're an advanced user and know what you're doing (I'm not).

0
votes

I suggest avoid using the "Add reference", it took me some time but I came across this NuGet that has everything that is needed for CodedUITests. https://www.nuget.org/packages/CodedUIDependencies/1.0.0

0
votes

Copy Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll somewhere into the root folder of project. When later you will be building test project in console or otherwise, copy it back to debug\bin. If a project has no reference to Microsoft.VisualStudio.QualityTools.UnitTestFramework I have experienced problems launching tests from Visual Studio UI -> glitches.

0
votes

I got this error after installing the NuGet Microsoft.JavaScript.UnitTest. After uninstall it worked.

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