Fehler: Die Abhängigkeit "Datei" in Projekt "Projekt" kann nicht in das Ausführungsverzeichnis kopiert werden, da sie den Verweis "Datei" überschreiben würde
Aktualisiert: November 2007
Warning: the dependency 'file' in project 'project' cannot be copied to the run directory because it would overwrite the reference 'file.'
Es liegt ein Konflikt zwischen Abhängigkeiten vor: Mehrere unterschiedliche Assemblydateien mit demselben Namen müssen in das Verzeichnis bin kopiert werden, damit die Anwendung ausgeführt werden kann. Das Ausführungsverzeichnis kann den Konflikt lösen, da es sich bei den Abhängigkeiten um einen Primärverweis handelt.
Wenn Sie auf dieses Aufgabenlistenelement doppelklicken, gelangen Sie zum Knoten des Primärverweises, in dem der Konflikt auftritt.
Diese Warnung wird angezeigt, wenn ein Abhängigkeitskonflikt vorliegt und Sie diesen Konflikt umgangen haben, indem Sie eine der in Konflikt stehenden Abhängigkeiten als Verweis hinzugefügt haben. Möglicherweise hatten Sie auch einen Verweis der Version 1 und haben einen zweiten Verweis hinzugefügt, der auf Version 2 des ersten Verweises verweist.
Dies bedeutet, dass dieser Fehler auftritt, weil die Projekte in der Lösung aufeinander verweisen, obwohl die Verweise nicht als Verweise von Projekt zu Projekt (mit der Registerkarte Projekt im Dialogfeld Verweis hinzufügen), sondern als Dateiverweise (mithilfe der Schaltfläche Durchsuchen im Dialogfeld Verweis hinzufügen) erstellt wurden. Der Vorteil von Verweisen von einem Projekt auf ein anderes besteht darin, dass eine Abhängigkeit zwischen den Projekten im Buildsystem erzeugt wird, sodass das abhängige Projekt erstellt wird, wenn seit der letzten Erstellung des verweisenden Projekts Änderungen vorgenommen wurden. Bei Dateiverweisen wird keine Buildabhängigkeit erstellt, d. h., das verweisende Projekt kann erstellt werden, ohne das abhängige Projekt zu erstellen. Ein Verweis kann also veraltet sein, und ein Projekt kann auf eine zuvor erstellte Version des Projekts verweisen. Auf diese Weise kann es dazu kommen, dass für eine einzige im Verzeichnis bin erforderliche DLL mehrere Versionen bestehen. Da dies nicht möglich ist, wird die Fehlermeldung ausgegeben.
Diese Meldung wird immer dann angezeigt, wenn im Verzeichnis bin ein Konflikt auftritt und die Anwendung u. U. nicht ordnungsgemäß ausgeführt werden kann. Obwohl Sie dieses Problem eventuell umgangen haben, kann diese Warnung trotzdem angezeigt werden, weil das Projektsystem nicht bestimmen kann, ob die Version einer Abhängigkeit ordnungsgemäß mit allen Komponenten arbeiten wird.
So beheben Sie diesen Fehler
- Kopieren Sie eine (oder keine) Assemblydatei in das Verzeichnis bin, indem Sie die Assemblydateien im globalen Assemblycache speichern. Dateinamenskonflikte werden vom globalen Assemblycache gelöst. Da die Common Language Runtime in der Lage ist, Assemblys im globalen Assemblycache zu finden, werden keine lokalen Kopien der Assemblydatei erstellt. Weitere Informationen finden Sie unter Arbeiten mit Assemblys und dem globalen Assemblychache und Fehler: Die Abhängigkeit "Datei" in Projekt "Projekt" kann nicht in das Ausführungsverzeichnis kopiert werden, da sie mit Abhängigkeit "Datei" in Konflikt stehen würde.
Siehe auch
Aufgaben
Gewusst wie: Erstellen und Entfernen von Projektabhängigkeiten