Diese Frage wurde von another issue ausgelöst, mit dem ich gerade beschäftigt war. Es gibt eine verwaltete Bibliothek, MyAssembly.dll
, die auf .NET 4.0 abzielt. Es hat seine eigene MyAssembly.dll.config
Datei mit einigen <bindingRedirect>
Anweisungen. Ich glaube, die .config
Datei wurde entweder von Compliler oder NuGet Paketmanager generiert, da ich es nicht manuell erstellt habe.Was ist der Zweck der .config-Datei für eine DLL-Bibliothek Assembly?
Die Sache ist, die Bindungsanweisungen werden ignoriert, wenn die DLL von einer Client-App geladen wird (RegAsm.exe
in meinem Fall, aber ich verifizierte dies auch mit einer einfachen Konsole .NET-App). Ich musste sie aus der .config-Datei der DLL in die .config-Datei der Client-EXE-Anwendung verschieben, um von der .NET-Laufzeitumgebung gelesen und korrekt aufgelöst zu werden.
Die Frage: Was ist der Zweck einer .config-Datei für eine verwaltete Bibliothek Assembly (.DLL), überhaupt? Ist es irgendwie am Prozess des Ladens der Bibliotheksbaugruppe beteiligt?