Wie bekomme ich .NET, um zuerst nach Assemblys in lokalen Ordnern statt nach GAC zu suchen?

7

Ich verstehe, dass .NET Runtime immer zuerst in GAC nach referenzierten Assemblies sucht und dann in den lokalen Ordnern. Gibt es in Web.Config eine Einstellung, die diese Reihenfolge umkehrt?

    
starblue 05.05.2009, 21:36
quelle

4 Antworten

17

Nein. Das ist nicht möglich. Wenn in der GAC eine DLL vorhanden ist, die der Version entspricht, auf die in Ihrem Programm verwiesen wird, wählt die CLR immer . Es gibt keine Möglichkeit, dieses Verhalten zu überschreiben.

    
JaredPar 05.05.2009, 21:37
quelle
3

Weitere Informationen. auf Arbeitsumgebungen in dieser SO-Thread .

    
JP Alioto 05.05.2009 21:42
quelle
2

Ich bin mir nicht sicher, ob es etwas gibt, das die Suchreihenfolge als solches umkehrt, aber je nach Ihren Anforderungen sollten Sie in Befehlsumleitung für Assemblys , wodurch Sie ziemlich genau steuern können, welche Versionen von Assemblys geladen werden.

    
Steve Willcock 05.05.2009 21:38
quelle
1

JaredPar hat Recht - der GAC wird immer zuerst für die Versammlung befragt. Wenn Sie jedoch wie ich sind und möchten, dass die DLL in der GAC live bleibt und weiterhin debuggt, können Sie ein Buildskript hinzufügen, um Ihre PDB-Datei im selben Ordner abzulegen wie die Assembly im GAC C: \ windows \ assembly \ gac_msil \ assembly.name_ [Token des öffentlichen Schlüssels]).

    
Adam McKee 05.05.2009 21:47
quelle

Tags und Links