Ich habe ein C# -Projekt A, das eine .net-Wrapper-DLL und eine native DLL verwendet. Ich füge die .NET-Wrapper-DLL zur Referenzliste von Projekt A hinzu. Da die Wrapper-DLL nur mit der nativen DLL arbeitet, wenn sie sich im selben Ordner befindet, sollte die native DLL in das Ausgabeverzeichnis von Projekt A kopiert werden Fügen Sie die native DLL als Inhaltsdatei unter Projekt A hinzu und legen Sie die Kopieraktion so fest, dass sie kopiert wird, falls sie neuer ist. Das ist in Ordnung.Warum die native DLL nicht in das Ausgabeverzeichnis kopiert wird
Wenn ein C# -Projekt B direkt auf Projekt A verweist, kopiert VS alle abhängigen Dateien, die von Projekt A verwendet werden, in das Ausgabeverzeichnis von Projekt B. Dies bedeutet, dass die Wrapper-DLL und die native DLL in die Ausgabe von Projekt B kopiert werden Verzeichnis auch. Das funktioniert auch gut.
Dann habe ich noch ein C# -Projekt C, das nur direkt auf Projekt B verweist, nicht auf Projekt A. Es ist interessant zu sehen, dass VS die native DLL nicht in das Ausgabeverzeichnis von Projekt C kopiert, was ich beabsichtigen, etwas anderes zu tun, wenn Projekt C die Funktionalität von Projekt B verwendet und nach der systemeigenen DLL sucht, um mit der Wrapper-DLL zu arbeiten, sie wird es nicht finden.
Kann jemand erklären, warum VS die native DLL nicht in das Ausgabeverzeichnis von Projekt C kopiert? Was ist der Mechanismus zum Kopieren von kettenabhängigen Dateien in VS? Danke vielmals.
Können Sie etwas konkreter, wie „die Dateien auf die exe in den (wir sprechen über exe nicht Website hier) als Kopie der Ausgabe "? Danke vielmals. – Steve
Sie sollten nur die erforderlichen Deployment-Dateien im exe-Projekt wiederholen und sie zum Kopieren in die Ausgabe markieren. –