Frage

Ich versuche, einen .NET 4.0-DLL im GAC hinzuzufügen. Ich versuche, dies zu tun, weil es von einem 3rd-Party-Unternehmen, da beide eine 32 und 64-Bit-DLL publiziert, die ich von verschiedenen Anwendungen auf unterschiedlichen Plattformen in beiden Formaten verwenden.

Auf jeden Fall, ich habe Probleme beim Registrieren Sie diese DLL im GAC auf einer Windows Server 2008-Umgebung.

Ich habe versucht, das Kopieren gacutil.exe (und unterstützende Datei) gefunden in "C: \ Program Files (x86) \ Microsoft SDKs \ Windows \ V7.0A \ bin \ netfx 4.0 Tools" auf meinem lokalen Rechner auf den „C : a href gefunden Ordner pro die Vorschläge auf dem Zielproduktionsserver <= "\ Windows \ Microsoft.NET v4.0.30319" \ Framework \ http://social.msdn.microsoft.com/Forums/en/netfxsetup/thread/8289751b -be25-4a23-a5e2-709645b8c651" rel = "noreferrer"> hier .

ich anschließend zu kopieren versucht. "C: \ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319"

von beiden Standorten Lauf angezeigt erfolgreiche Installation. Und in der Tat scheint die Registrierung erfolgreich:

  • C: \ Windows \ Microsoft.NET \ assembly \ GAC_64 \ ChilkatDotNet4 \ v4.0_9.0.8.0__eb5fc1fc52ef09bd \ ChilkatDotNet4.dll
  • C: \ Windows \ Microsoft.NET \ assembly \ GAC_32 \ ChilkatDotNet4 \ v4.0_9.0.8.0__eb5fc1fc52ef09bd \ ChilkatDotNet4.dll

Allerdings läuft eine Konsole-Anwendung, die auf den (64bit) Version der DLL-Fehler aus mit der folgenden Meldung bezieht:

  

System.IO.FileNotFoundException: Könnte   nicht laden, Datei oder Assembly   ‚ChilkatDotNet4.dll‘ oder einem ihrer   Abhängigkeiten. Der angegebene Modul   konnte nicht gefunden werden. Dateiname:   'ChilkatDotNet4.dll'

So habe jetzt, ich manuell die folgenden GAC Einträge mit mkdir erstellt und kopieren Sie von einer Eingabeaufforderung (die eigentlich kann oder nicht Arbeit, die ich keine Ahnung, was über gacutil.exe so besonders ist.):

  • C: \ Windows \ Microsoft.NET \ assembly \ GAC_MSIL \ ChilkatDotNet4 \ v4.0_9.0.8.0__eb5fc1fc52ef09bd \ ChilkatDotNet4.dll (mit der 64-Bit-Version der DLL)
  • C: \ Windows \ assembly \ GAC_64 \ ChilkatDotNet4 \ v4.0_9.0.8.0__eb5fc1fc52ef09bd \ ChilkatDotNet4.dll
  • C: \ Windows \ assembly \ GAC_32 \ ChilkatDotNet4 \ v4.0_9.0.8.0__eb5fc1fc52ef09bd \ ChilkatDotNet4.dll

Nach jedem „install“ des DLL, die ich getestet und erhielt die gleichen Fehler. Irgendwelche Ideen willkommen!


Bearbeiten : das GAC Problem oben nicht wirklich der Täter sein kann. Stellt sich heraus, auch wenn ich eine brandneue Konsole App-Projekt erstellen und die DLL direkt hinzufügen (so dass sie in der Bin lebt), ich kann es immer noch nicht auf dem Sever laufen. Außerdem habe ich festgestellt, dass Konsolenanwendungen erstellt werden, die .NET 4.0 Client Profile statt der .NET Framework-Targeting 4. Wenn ich versuche laufen sie das Client-Profil-Targeting, scheint es, dass keine der System.Web * Bibliotheken verfügbar sind . Allerdings habe ich versucht mit ein sehr einfach Test-App beide und weder laufen würde auf dem Server-Targeting, während die schlechte DLL verweist.

Gibt es eine spezielle Art von installieren, die .NET 4.0-Konsole Apps?

aufzutreten war laufen
War es hilfreich?

Lösung

Für alle anderen, die Probleme mit diesem in der Zukunft haben kann. Es war kein generelles Problem mit der Art und Weise war ich die DLL im GAC Registrierung oder, wie ich es von meinen Projekten beziehen.

ChilkatDotNet4.dll (und die anderen Versionen Ich bin sicher) wurde in Visual C ++ gebaut. So ist es der Server wird eingesetzt wird, hat die Visual C ++ Runtime für die entsprechende Prozessorarchitektur installiert sein.

Für das Jahr 2010 (.NET 4.0):

Wenn Sie eine x86-Anwendung auf einer 64-Bit-Plattform laufen. Achten Sie darauf, den Anwendungspool markieren mit "Enable 32-Bit-Anwendungen" = true.

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