Frage

Ich versuche, dem GAC eine Richtliniendatei für Publisher hinzuzufügen Faden Aber ich habe Probleme, wenn ich versuche, die Datei auf meinem Testserver hinzuzufügen.

Ich erhalte "ein Modul, das im Manifest der Versammlungspolitik angegeben ist.

Meine Richtliniendatei sieht so aus:

<configuration>
  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="*assemblyname*"
                          publicKeyToken="7a19eec6f55e2f84"
                          culture="neutral" />
        <bindingRedirect oldVersion="3.0.0.0"
                         newVersion="3.0.0.1"/>
      </dependentAssembly>
    </assemblyBinding>
  </runtime>
</configuration>

Bitte helfen Sie!

Vielen Dank

Ben


Ich habe das Problem mit einer neuen Montage von Grund auf neu erstellt, die keine Abhängigkeiten hat (abgesehen von den Standardeinstellungen) selbst - alle funktionieren auf meiner lokalen Entwicklungsmaschine einwandfrei (und auch einwandfrei), gibt jedoch den gleichen Fehler, der die Richtliniendatei zum GAC hinzufügt. Auf dem Server!

<configuration>
  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="TestAsm"
                          publicKeyToken="5f55456fdcc9b528"
                          culture="neutral" />
        <bindingRedirect oldVersion="3.0.0.0"
                         newVersion="3.0.0.1"/>
      </dependentAssembly>
    </assemblyBinding>
  </runtime>
</configuration>

auf folgende Weise verknüpft

C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\al.exe /link:PublisherPolicy.xml /out:policy.3.0.TestAsm.dll /keyfile:..\..\key.snk /version:3.0.0.0
pause

Bitte helfen Sie!

War es hilfreich?

Lösung

Wow - ok verstanden es.

Ich hätte mehr darauf achten sollen, was dies bedeutet

(MSDN) Wie zu: Erstellen einer Publisher -Richtlinie

Wichtiger Hinweis: Die Versammlung der Verlagsrichtlinie kann nicht zum globalen Assembly -Cache hinzugefügt werden, es sei denn, die ursprüngliche Publisher -Richtliniendatei befindet sich im selben Verzeichnis wie die Versammlung.

Diese Anforderung ist ehrlich gesagt so bizarr, dass sie sich nicht registriert hat. Die ursprüngliche Richtliniendatei, die in die Versammlung zusammengestellt wurde, die ich dem GAC hinzufügen möchte, muss im selben Ordner wie die Richtlinienversammlung sein, wenn Sie die Richtlinienversammlung hinzufügen.

Andere Tipps

OK ... möchte nur einige Grundlagen überprüfen ....

Sie haben auf jeden Fall beide Versionen der abhängigen Baugruppe an GAC installiert?

Und haben Sie überprüft, ob die Versionsnummern in der Attribut [Assemblyversion ()] korrekt sind.

Und Sie haben [Assembly: Assemblyversion()] und NICHT Montage: AssemblyFileVersion("1.0.0.1")].

Aktualisieren: Mein Fehler, Sie brauchen nur die neueste Version der Montage im GAC. Ich habe das gerade hier versucht und es funktioniert. Meine einzigen anderen Gedanken sind zu überprüfen, ob die öffentlichen Schlüssel -Token gleich sind und dass Sie den Namen der Versammlung nicht falsch geschrieben haben.

Auch wenn Sie die Richtliniendatei generieren UND Geben Sie den /Plattformschalter nicht an. z.B

al.exe /link:assembly.config /out:policy.3.0.assembly.dll 
         /keyfile:mykey.snk /version:3.0.0.0

Um den GAC mit WISE Richtlinienversammlungen hinzuzufügen, tun Sie dasselbe wie Sie, um die Versammlung hinzuzufügen, für die die Richtlinie gilt. Daher fügen Sie die Richtlinienversammlung in Bezug auf den "globalen Montage -Cache" hinzu, und solange Sie die Richtliniendatei (.config) am selben Ort auf der Maschine haben, fügt sie auch automatisch zu GAC hinzu.

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