Lets sagen, ich habe zwei Projekte A und B. A hängt von B. ich dies auf zwei Arten angeben:Unterschied zwischen Projekt und dll-Abhängigkeiten in .Net in dem letzten kompilierten Assembly
- Fügen A und B in derselben Lösung und geben Sie B als Projektabhängigkeit für A an. Dies wird im Msbuild-Projekt von A als "ProjectReference" -Knoten angezeigt.
- Fügen Sie einen Verweis auf die kompilierte DLL B als Abhängigkeit von A. in A des msbuild Projekt als „Referenz“ Knoten Dies zeigt sich
Meine Frage ist, wenn ich die Versammlung für A haben zu bauen, ist es gibt einen Unterschied in der endgültigen Ausgabe zwischen diesen beiden Methoden.
Ich habe versucht, ein paar einfache Projekte zu erstellen, die diese Beziehung modellieren und einen Vergleich versuchen - aber verschiedene Vergleichstools sagen mir verschiedene Dinge. Bevor ich etwas schreibe, das diese Dateien byteweise vergleicht, habe ich mich gefragt, ob ihr Leute etwas darüber wusstet. Insbesondere gibt es einen Unterschied im Verhalten der gebauten Assembly, wenn ich dll-Referenz anstelle einer Projektreferenz verwende.
@Timwi - Danke für :-) gerade die Abhängigkeit Richtung Einstellung aus irgendeinem Grund ich es genau gegenüber dem Beispiel des OP schrieb –
auch auf die Antwort, falls Ihr Projekt B abhängig hinzufügen auf sagen wir mal C. dll, wenn B als Projektabhängigkeit von A angegeben wird, bringt das Kompilieren von Projekt A automatisch die Abhängigkeiten von Projekt B mit (z. B. C.dll). Wenn Sie stattdessen einen Verweis auf die kompilierte DLL von B einfügen, wird C.dll nicht automatisch zu As Bin hinzugefügt, stattdessen müssen Sie alle Abhängigkeiten von B manuell hinzufügen. –