Assembly Binding Redirect auf eine niedrigere version
Ich versuche downgrade eine NServiceBus Abhängigkeit anstatt also mit 4.0.0.0 verwenden 2.5.0.0
Ich versuche mit den folgenden Arten, von denen keines zu funktionieren scheint.
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="NServiceBus"
publicKeyToken="9fc386479f8a226c" culture="neutral"/>
<bindingRedirect oldVersion="4.0.0.0" newVersion="2.5.0.0"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
Ich habe auch versucht mit codebase :
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="NServiceBus"
publicKeyToken="9fc386479f8a226c"
culture="neutral"/>
<codeBase version="2.5.0.0" href="NServiceBus.dll"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
Immer noch, nada. Ich ging durch die msdn-Dokumentation, und es gibt keine Erwähnung der Verwendung dieser Fähigkeit in einer rückwärts Weg. Ist das möglich?
Ich wäre sehr überrascht, wenn es tatsächlich funktionieren würde, auch wenn die Montage-Umleitung ist erlaubt. Ich würde empfehlen, die Gebäude selbst stark signierte assembly mit 2 Versionen und sehen, ob Sie es zu arbeiten, zuerst am einfachen Beispiel...
Ja, manche der Antworten SO deuten, dass seine möglich, aber ich bin immer das Gefühl, dass keiner wirklich versucht. Ich kann versuchen, mit meinem eigenen Bibliotheken in das Ende.
Ich weiß nicht, ob seine relevanten. Aber Sie haben versucht, zu zählen zudem
Ja, versucht, das deaktivieren der publisherPolicy ohne Erfolg, leider.
Ja, manche der Antworten SO deuten, dass seine möglich, aber ich bin immer das Gefühl, dass keiner wirklich versucht. Ich kann versuchen, mit meinem eigenen Bibliotheken in das Ende.
Ich weiß nicht, ob seine relevanten. Aber Sie haben versucht, zu zählen zudem
<publisherPolicy apply="no" />
im <dependentAssembly>
element?Ja, versucht, das deaktivieren der publisherPolicy ohne Erfolg, leider.
InformationsquelleAutor Konstantinos | 2013-06-13
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich bin tatsächlich mit Ihrer ersten Aussage für einige interop-DLLs, weil die Kunden in unser Unternehmen haben einen unterschiedlichen Status in Bezug auf office-updates. Dies ist der code den ich benutze :
Diese bietet die Abwärtskompatibilität von version 14 der DLL in der version 11. Könnten Sie einen link zu der DLL u?
Ich heruntergeladen habe die NServiceBus framework (version 3.3.8) untersucht und die DLL mit ILSpy. Ich würde vorschlagen, Sie tun das gleiche mit der DLL. Für meine DLL zeigt er mir die gleiche public-Key-token, wie deine. Sind Sie sicher, dass Sie version 4.0.0.0 und nicht verision 3.3.0.0. Oder Sie missmatched die Token für öffentliche Schlüssel vielleicht.
InformationsquelleAutor Romano Zumbé
Laut MSDN: https://msdn.microsoft.com/en-us/library/eftw1fys(v=vs. 110).aspx
bezogen auf die
newVersion
AttributbindingRedirect
. Auch im Abschnitt "Hinweise":Ihrer Beispiel:
Bemerkte ich es erwähnt auch etwas über Explizite assembly binding redirection in einer Anwendung, die Konfiguration-Datei erfordert eine security-Berechtigung, vielleicht ist auf Sie als gut?
InformationsquelleAutor drzaus
Wenn ich didn ' T erhalten Sie falsch, ich habe das gleiche getan mit stimulsoft report DDLs die ich hatte die neueste version installiert, aber ich wollte 2010.3 in meiner Anwendung. aber nicht durch die config-Datei und umleiten:
Ich einfach entfernt die Referenz im Projektmappen-explorer Hinzugefügt und die alte DLL refrence, dann setze ich die copy Local-Eigenschaft und neu kompiliert, so dass die DLL mit der Anwendung im gleichen Verzeichnis, alles funktioniert einwandfrei. es auch gemacht mit einigen anderen dlls auch.
InformationsquelleAutor Omid S.
Den oben genannten Antworten sind gute Antworten, aber Sie fehlen wichtiger Teil. Und wenn Sie die Kommentare Lesen, die einige Entwickler nicht mehr glauben, dass das funktioniert. In der Tat, das funktioniert und funktioniert in beide Richtungen, up-version oder unten
Wichtig: Kultur
In meinem experiment begann es zu arbeiten, nur wenn ich Kultur auf neutral. (Beispiele oben haben 'de-de')
In meinem setup habe ich
WinApp
verweistLib1
undLib3
.Lib1
ReferenzenLib2
undLib3
.Lib2
ReferenzenLib3
. Und wenn ich den Knopf drücken, einen Anruf weitergegeben, den ganzen Weg vonWinApp
zuLib3
(beide, direkte und durch eine Kette von libs), text und return auf dem Bildschirm angezeigt.Lib3
ist stark benannt.Run 1 - keine Kultur gesetzt
[assembly: AssemblyCulture("")]
keine verbindlichen redirect gesetzt - FUNKTIONIERT!Run 2 - Niedrigere version in Lib3, verbindliche umleiten zu 'de-de' - FAIL!
Run 3 - niedrige Ausführung in Lib3, verbindliche redirect auf 'neutral' - FUNKTIONIERT! Funktioniert bis-version und down-version.
Auf dem anderen läuft - das Spiel mit der Einstellung
[assembly: AssemblyCulture("en-us")]
- alle versuche fehlgeschlagen, wennAssemblyCulture
war nicht leer. In der Tat, wenn dieses Attribut inWinApp
, wäre es nicht einmal kompilierenSo, hier gehen wir. Da verstehe ich nicht alle Feinheiten der Rolle des
AssemblyCulture
ich nur behaupten, dass mein experiment beweist nur, dass unter bestimmten Bedingungen version redirect funktioniert einwandfrei.InformationsquelleAutor T.S.