2014-02-26 10 views
9

Wir haben einen Plug-In-Ordner, aus dem Baugruppen geladen werden. Meistens ist das in Ordnung. Allerdings haben wir ein 3rd Party Plugin, das System.Core Version 2.0.5.0 verwendet.Kann ich bindingRedirect für eine Assembly in einer referenzierten Assembly verwenden?

Wir verwenden .Net 4, also haben wir System.Core 4.0.0.0 auf den PCs geladen.

Beim Laden des Plugins bekommen wir einen Fehler als System.Core Version 2.0.5.0. kann nicht gelöst werden.

dachte ich, das helfen würde:

<dependentAssembly> 
    <assemblyIdentity name="System.Core" 
         publicKeyToken="7cec85d7bea7798e" 
         culture="neutral" /> 
    <bindingRedirect oldVersion="2.0.5.0" 
        newVersion="4.0.0.0"/> 
    </dependentAssembly> 

Aber es kam nicht.

Wie kann ich eine referenzierende DLL erzwingen, um die Version von System.Core zu verwenden, die ich habe?

Und ist das der richtige Weg?

==================================

Dies ist der Code, den wir registrieren verwenden Die Plug-Ins:

Antwort

0

Soweit ich weiß, funktioniert Assembly Redirection nur aus der Sicht der Endanwendung. Daher müssen Sie die Umleitung zur app.config/web.config der Anwendung hinzufügen. Das ist ziemlich ärgerlich, weil es immer noch eine moderne Version der "DLL-Hölle" der früheren Tage schafft.