Domanda

Ho un progetto C# che fa riferimento a un gruppo mista C ++/CLI. Quell'assemblaggio è memorizzato all'interno di una cartella nel percorso ed è presente anche al GAC ma quando viene eseguito ottengo un:

System.io.FileNotFoundException: Impossibile caricare file o assembly 'pcssocketCommunications500, versione = 0.0.0.0, Culture = Neutral, PublicKeyToken = NULL'

La versione 0.0.0.0 è perché C ++/CLI non ha una classe di versione assembly, ma per quanto ne so, questo non dovrebbe essere un problema.

Monitoraggio del processo in esecuzione Ho visto che il sistema cerca solo l'assemblaggio nella stessa cartella del processo principale ... Non sono un esperto del caricamento dell'assemblaggio, ma mi aspettavo di vedere almeno alcune ricerche GAC e "forse" alcuni Ricerche del percorso .. Questo è quello che ho ottenuto (PCSSocketComunication500.dll è l'assemblaggio C ++/CLI e in nero è la directory di lavoro):

enter image description here

Qualche idea sul perché il caricatore non stia controllando il GAC o il percorso?

È stato utile?

Soluzione

PublicKeyToken = null

L'assemblea non è forte nominata. Ciò significa che non può trovarsi nel GAC, il CLR non guarderà lì. Non sono sicuro di cosa hai fatto per entrare nel GAC, ma non dovrebbe essere possibile.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top