Wie funktioniert Copy-local? log4net.dll wird nicht in das MyProject-Ausgabeverzeichnis kopiert

Ich frage mich, was copy-local = true für Referenzen genau bewirkt. Kopiert es die referenzierte Assembly mit all ihren Abhängigkeiten in das Ausgabeverzeichnis?

Mein Szenario ist das folgende: Ich habe einen benutzerdefinierten Protokoll-Wrapper, der log4net verwendet. Ich erstelle eine Release-Assembly von MyLogWrapper.dll mit dem Verweis log4net.dll, der auf copy-local true festgelegt ist. Wenn Sie auf MyLogWrapper.dll von MyProject verweisen und die Option copy local auf true setzen, wird die Datei log4net.dll ebenfalls kopiert. Ich beziehe mich nur auf MyLogWrapper.dll und keine seiner Abhängigkeiten in MyProject. log4net.dll wird nicht in das MyProject-Ausgabeverzeichnis kopiert, aber alle anderen Abhängigkeiten von MyLogWrapper sind vorhanden. Woran könnte das liegen?

Ich habe einige weitere Experimente durchgeführt und es scheint, dass, wenn ich die Assembly (log4net.dll) von GAC entferne, sie lokal kopiert wird. Kann jemand bestätigen, dass dies das Problem ist?

Antworten auf die Frage(12)

Ihre Antwort auf die Frage