Frage

kontext

Ich habe 2 verschiedene Versionen einer in GAC, Version 1.0 und Version 2.0 installierten Versammlungen. Ich habe eine Anwendung gemacht, die 1,0 als bestimmte Version referenziert.

Ausgabe

Wenn ich meine Anwendung ausführe, wird es immer Version 2.0 geladen, während die Anwendung speziell auf Version 1.0 referenziert.

Frage

Warum passiert das? Wie kann ich meine Anwendung zwingen, die Version zu laden, für die er kompiliert wurde?

Es scheint mir nicht, dass dies etwas mit einer verbindlichen Umleitung zu tun hat, da meine Anwendung nicht einmal von Version 2.0 aufmerksam ist, als ich es gebaut habe und dass die Referenz-"spezifische Version" -Metadaten auf true eingestellt ist. .

danke.


edit:

Die Baugruppe, die ich referenzierte, ist eigentlich oracle.dataAccess aus dem ODAC-Paket. Ich bemerkte, dass andere Ansammlungen namens politik.x.xxx.oracle.dataAccess, die in GAC veröffentlicht wurden.


edit 2:

Nach der Suche in die Oracle.DataAccess-Richtlinie habe ich die Konfiguration gefunden, die die Bindungsabwicklung definiert:

generasacodicetagpre.

Obwohl ich die umgekehrte Bindung um Umlassung in meine Anwendungskonfiguration hinzugefügt habe, scheint die Richtlinie in GAC die Priorität zu haben. Ich fand einen MSDN-Artikel Behandlung des Subjekts und schlägt vor, die Richtlinien mit dieser Konfiguration ignorieren zu können: . generasacodicetagpre.

aber es funktioniert immer noch nicht ...


edit 3:

Ich habe versucht, die Politik vom GAC zu entfernen und meine Maschine neu zu starteten. Es hat endlich gearbeitet. Es fühlt sich nicht wie eine komfortable Lösungentwicklung an, aber diese Richtlinie brach einer meiner Bewerbung, wodurch das Deaktivieren der Politik das Richtige in meinem Fall ist.


endgültig bearbeiten:

Igor gab mir die richtige Antwort. Alles, was ich tun musste, um diese Richtlinien zu arrangieren musste, bestand darin, die publisherPolicy-Einstellung im Bereich der richtigen Konfiguration zu verwenden:

generasacodicetagpre.

War es hilfreich?

Lösung

Nachdem Sie Ihre Frage bearbeitet haben, wird klar, dass dies die Richtliniendatei ist, die die Montagebindung beeinflusst.

Bei Oracle gibt es eine Datei namens politik.x.y.oacle.dataaccess.config mit ähnlichden Inhalten:

generasacodicetagpre.

Die Richtlinie wird vom Oracle-Installationsprogramm installiert und umleitet den generationspoDicetagcode auf die neueste Version, da Oracle glaubt, dass die Bibliothek rückwärts kompatibel ist.

edit: Wenn Sie nicht möchten, dass die Publisher-Richtlinie nicht angewendet werden soll für eine bestimmte Montage , legen Sie das Element in das Element ein:

generasacodicetagpre.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top