Frage Beim Erstellen eines Komponententestprojekts kann VS 2010 die referenzierte Assembly nicht zum Testen finden


Ich entwickle ein Unit-Test-Projekt (sagen wir XXX.UnitTest), um ViewModels in einem anderen Projekt (XXX) in meiner Lösung zu testen. Ich kann den Verweis hinzufügen, aber beim Erstellen gibt ein Fehler an, dass das gleiche Projekt nicht gefunden werden kann (XXX).

Fehler 42 Datei konnte nicht geladen werden oder   Baugruppe 'XXX, Version = 1.0.2.66,   Kultur = neutral, PublicKeyToken = null '   oder eine seiner Abhängigkeiten. Das System   Kann die Datei nicht finden   angegeben. XXX.UnitTest

  • Ich habe alle Projekte in meiner Lösung sauber rekonstruiert.
  • Ich habe überprüft, dass die Assembly mit dieser Versionsnummer (1.0.2.66) in dem Pfad vorhanden war, auf den ich verwiesen habe.
  • Ich habe die Referenz sowohl als Projekt als auch über die Registerkarte Durchsuchen entfernt und erneut hinzugefügt.
  • Ich stellte sicher, dass die Versionsnummer nicht in der csproj-Datei angegeben wurde.
  • Ich habe die referenzierte Assembly mit Dependency Walker überprüft.
  • Ich habe überprüft, dass beide Projekte auf die x86-Plattform abzielen. (Wie hier vorgeschlagen Tipps zum Debuggen "Konnte Datei oder Assembly X oder eines seiner Abhängigkeiten nicht laden")

Weiß jemand, was sonst dieses Problem verursachen kann?


5
2017-07-20 18:40


Ursprung


Antworten:


Letzte Woche hatte ich das gleiche Problem. Es stellte sich heraus, dass meine Lösung und Projekte auf einer Netzwerkressource waren. Wenn ich die Lösung auf das lokale Laufwerk verschoben habe, ging das Problem verloren.

  • Dieses Problem ist unabhängig davon aufgetreten, ob ich ein zugeordnetes Laufwerk oder einen UNC-Pfad verwendet habe.

  • Dieses Problem trat sogar bei einer Codezugriffssicherheitsrichtlinie von "Full Trust" für die URL auf.

  • Ich glaube, das Problem tritt auf Windows XP Computer und nicht Windows 7 Computer, aber nicht getestet oder verifiziert.

  • Ich glaube, es hat etwas mit dem zu tun Aktie Berechtigungen.

    • Wenn ich versuche, "Offline-Ordner" für die Netzwerkressource zu verwenden, bekomme ich "Zugriff verweigert".

    -.

  • Das Festlegen von NTFS-Berechtigungen hat keine Auswirkungen.

  • Das Hinzufügen eines Benutzers zur Gruppe Administratoren hat keine Auswirkungen.

  • Ich habe nicht getestet, ob auf entfernbaren lokalen Laufwerken ein Problem vorliegt.

Herumarbeiten

Verschieben Sie die Lösung und die Projekte auf eine lokale Festplatte.

Kommentar

Ich denke, das ist ein Fehler in Visual Studio 2010.


1
2017-07-21 01:22



Ich bin auf diesen Post gestoßen, als ich nach der Antwort gesucht habe. Hier ist die Lösung. Fügen Sie in der Konfigurationsdatei von QTAgent32.exe und devenv.exe in C: \ Programme (X 86) \ Microsoft Visual Studio 10.0 \ Common7 \ IDE dem Abschnitt das folgende Element hinzu:

<runtime>
    <loadFromRemoteSources enabled="true" /> 
</runtime>

Dies kann der Computerkonfigurationsdatei (C: \ WINDOWS \ Microsoft.NET \ Framework \ v4.0.30319 \ Config \ machine.config) für alle VS2010-Tools hinzugefügt werden. Stellen Sie sicher, dass Sie notepad als Administrator ausführen, damit die Datei "machine.config" gespeichert werden kann.

Siehe diesen Link für Details: http://msdn.microsoft.com/en-us/library/dd409252%28VS.100%29.aspx


1
2018-03-30 17:46



Ich habe das gleiche Problem. Ich verwende VS 2010 unter Windows Server 2003; Beide laufen innerhalb einer VM auf einem Mac. Mein VS-Projekt befindet sich im Mac-Home-Ordner (~ /), der auf der Windows-Seite als Z: \ zugeordnet ist. Zur Erstellung erzeugt VS Studio einen Fehler, der besagt, dass die UnitTests.dll oder eine ihrer Abhängigkeiten nicht gefunden werden kann. Ich bekomme den gleichen Fehler mit einem kleinen Testprojekt. Wenn ich das Projekt auf das Windows-Laufwerk C: \ verschiebe, wird die DLL-Referenz aufgelöst und Unit-Tests funktionieren. Ich habe versucht, die Referenz von Blanthor hinzuzufügen, aber ich konnte es nicht zum Laufen bringen.


0
2017-12-08 23:56