In meinem Visual Studio-Projekt für C # wird folgender Fehler angezeigt:
Der Typ- oder Namensraumname 'VisualStudio' ist im Namensraum 'Microsoft' nicht vorhanden (fehlt eine Assemblyreferenz?)
Ich habe auch versucht, die Microsoft.dll-Datei zu finden, konnte aber keine Referenz finden. Suche ich die falsche 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");
}
}
}
Sie müssen einen Verweis auf hinzufügen
Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll
Es befindet sich im Verzeichnis "C:\Programme\Microsoft Visual Studio 10.0\Common7\IDE\PublicAssemblies \" (für VS2010 Professional oder höher; .NET Framework 4.0).
oder klicken Sie mit der rechten Maustaste auf Ihr Projekt und wählen Sie: Referenz hinzufügen ...> .NET:
Das gesuchte DLL enthält diesen Namespace
Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll
Beachten Sie, dass Gerätetests nicht in Visual Studio Express verwendet werden können.
Es gibt auch ein Nice Nuget-Paket . Die DLL wird in den Ordner Des Pakets geladen. Sie müssen die Referenz manuell zur DLL hinzufügen.
NOTE: Dieses Paket ist kein offizielles Microsoft-Paket.
Wenn Sie Visual Studio 2017 Community verwenden, lautet der Speicherort:
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\ReferenceAssemblies\v2.0
Die gewünschte DLL ist da: Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll
Anscheinend befindet es sich in der C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\PublicAssemblies\
-Verzeichnis für Visual Studio 2010 Professional-Version, beachten Sie jedoch, dass das 10.0
ändert sich entsprechend dem Veröffentlichungsjahr, d. h. VS 2013 war Version 12.0, VS 2015 war Version 14.0, VS 2017 ist 15.0. (VS Express wird nicht unterstützt und erfordert stattdessen die Installation des NUnit NuGet-Pakets über den NuGet Package Manager.)
Gehen Sie zu Verweise, klicken Sie mit der rechten Maustaste und wählen Sie Verweis hinzufügen, Durchsuchen. Navigieren Sie zum Pfad und doppelklicken Sie auf die Datei.
Dann benötigen Sie eine using
-Anweisung oben in Ihrer Unit-Test-Klasse:
using Microsoft.VisualStudio.TestTools.UnitTesting;
Um dieses Problem zu beheben, musste ich Folgendes tun:
Sobald die DLLs installiert sind, können Sie ihnen Verweise hinzufügen, indem Sie die Methode verwenden, die Agent007 in seiner Antwort angegeben hat.
Ich habe dieses Problem nach dem Verschieben eines Projekts und dem Löschen seines Paketordners erhalten. Nuget zeigte, dass MSTest.TestAdapter und MSTest.TestFramework v 1.3.2 installiert waren. Das Update schien VS als Administrator und Build zu öffnen Danach konnte ich mich ohne Administratorrechte wieder öffnen und bauen.
Das heißt Für Visual Studio 2013 würde ich auf diese Assembly verweisen:
Microsoft.VisualStudio.Shell.14.0.dll
Sie können es hier finden:
C:\Programme (x86)\Microsoft Visual Studio 12.0\Common7\IDE\Extensions\BugAid Software\BugAid\1.0
und vergessen Sie nicht zu implementieren:
using Microsoft.VisualStudio;
Fügen Sie einen Verweis auf "Microsoft.VisualStudio.QualityTools.UnitTestFramework" hinzu, und das Paket sollte erfolgreich erstellt werden.
Wenn Sie hierher gekommen sind, weil Ihr VSTS-Build-Job mit der obigen Fehlermeldung fehlschlägt. Stellen Sie sicher, dass Sie mindestens Version 2 der Nuget-Task verwenden, um Ihre Pakete wiederherzustellen.