Problemi registrazione ChilkatDotNet4.dll al GAC
Domanda
Sto cercando di aggiungere una dll .NET 4.0 al GAC. Sto tentando di fare questo perché è pubblicata da una società terza parte sia come 32 e 64 bit dll che devo utilizzare da diverse applicazioni su diverse piattaforme in entrambi i formati.
In ogni caso, sto avendo difficoltà si registra questa dll nella GAC ??su un 2008 ambiente Windows Server.
Ho provato a copiare gacutil.exe (e sostenendo file) trova in "C: \ Program Files (x86) \ Microsoft SDK \ Windows \ v7.0A \ bin \ netfx 4.0 Strumenti" sulla mia macchina locale al "C : \ Windows \ Microsoft.NET \ Framework \ v4.0.30319" cartella sul server di produzione di destinazione per i suggerimenti trovati qui .
Ho poi cercato di copiarli. "C: \ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319"
L'esecuzione da entrambe le posizioni indicate corretta installazione. E in effetti, la registrazione appare successo:
- 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
Tuttavia, l'esecuzione di una console app che si riferisce al (64bit) Versione degli errori dll con il seguente messaggio:
System.IO.FileNotFoundException: Could Non file di caricamento o di montaggio 'ChilkatDotNet4.dll' o uno dei suoi dipendenze. Il modulo specificato non può essere trovato. Nome del file: 'ChilkatDotNet4.dll'
Quindi, ora ho creato manualmente le seguenti voci GAC utilizzando mkdir e copiare da un prompt dei comandi (che può o non può in realtà il lavoro non ho idea di che cosa c'è di così speciale gacutil.exe.):
- C: \ Windows \ Microsoft.NET \ assembly \ GAC_MSIL \ ChilkatDotNet4 \ v4.0_9.0.8.0__eb5fc1fc52ef09bd \ ChilkatDotNet4.dll (utilizzando la versione a 64 bit del 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
Dopo ogni "Installa" della dll, ho provato e ha ricevuto lo stesso errore. Tutte le idee benvenuto!
Modifica : la questione GAC di cui sopra non può in realtà essere il colpevole. Risulta, anche quando creo un nuovo progetto di console app e aggiungere il dll direttamente (in modo che vive nel cestino), non riesco ancora a eseguirlo sul sever. Inoltre, ho notato che le applicazioni console sono creati mira il profilo NET 4.0 client piuttosto che il .NET Framework 4. Quando provo a farlo funzionare mira il profilo del cliente, sembra che nessuna delle System.Web * librerie sono disponibili . Tuttavia, ho provato a fare funzionare un molto semplice Test App mira entrambi e nessuno dei due avrebbe eseguito sul server, mentre fa riferimento il cattivo dll.
C'è un particolare tipo di installazione che doveva accadere per eseguire NET 4.0 Console Apps?
Soluzione
Per chiunque altro che possono avere problemi con questo in futuro. Non è stato un problema generalizzato con il modo in cui mi è stato registrare il dll nella GAC ??o come mi riferivo ad esso dai miei progetti.
ChilkatDotNet4.dll (e le altre versioni sono sicuro) è stato costruito in Visual C ++. Quindi, il server è in corso la distribuzione a deve avere Visual C ++ Runtime installato per l'architettura del processore appropriata.
Per il 2010 (NET 4.0):
Se si sta eseguendo un app x86 su una piattaforma a 64 bit. Assicurati di segnare il pool di applicazioni con "Attiva applicazioni a 32 bit" = true.