Come registrare DLL nella GAC?
-
30-09-2019 - |
Domanda
Sto provando ad installare un C # WPF con un WindowsFormsHost che carica ArcEngine di ESRI.
Il programma di installazione MSI dà questo errore:
Unable to install. The app requires assembly ESRI.ArcGIS.Framework Version
10.0.0.0 to be installed in the GAC first
Ho già installato il runtime ESRI ArcEngine 10 che dovrebbe gestire questo genere di cose, ma credo che non è perfetto.
Sul computer di destinazione il file framework.dll si trova nella cartella:. C:\Program Files\ArcGIS\DeveloperKit10.0\DotNet
, ma non è in c:\windows\assembly
I destra scattata sul registro assemblea ha poi cliccato per registrarsi, ma che non ha riparato il mio problema.
Soluzione
Qui ci sono due metodi.
-
Utilizzando l'utilità gacutil -i
gactutil -i c:\foldername\assemblyname.dll
-
Il secondo metodo è che si può trascinare il file
.dll
dalla cartella bin del montaggio e rilasciarlo nella cartellaC:\%systemroot%\Assembly
Altri suggerimenti
Non ho guardato ArcGIS 10 ancora, ma so che le versioni precedenti di ArcGIS comportava che se è stato installato ArcGIS prima di installare .NET non sarebbe installare la funzione che ha installato il DLL nella GAC.
Se avete l'SDK installato, è possibile utilizzare il comando gacutil:
path "%WinDir%\Microsoft.NET\Framework\v1.1.4322";%Path%
gacutil /i "%ProgramFiles%\ArcGIS\DeveloperKit10.0\DotNet\framework.dll"
Si noti che è necessario essere un amministratore di modificare la Global Assembly Cache.