Domanda

Sto cercando di installare un servizio .NET 4 Windows su un server di produzione: Running InstallUtil.exe mi dà questo messaggio di errore:

Si è verificata un'eccezione durante l'inizializzazione l'installazione: System.BadImageFormatException: Impossibile caricare il file o l'assembly 'File: /// D: \ Servizio.exe' o una delle sue dipendenze. Questo montaggio è costruito da un runtime più recente del tempo di esecuzione attualmente caricato e non può essere caricato ..

Ovviamente, è lamentarsi per il servizio che viene scritto in .NET 4. Ma il quadro è installato correttamente sul server come ho altre .NET 4 applicazioni in esecuzione. Questa è la prima volta che sto cercando di installare un servizio .

ho fatto un po 'di googling, e hanno cercato l'impostazione del "Target CPU" a "AnyCPU" in Impostazioni del compilatore avanzate. Che altro mi manca?

È stato utile?

Soluzione

Molto probabilmente, si ha una mancata corrispondenza bitness. Se questo è un server a 64 bit, quindi c'è probabilmente un qualche DLL a 32 bit che ha lo stesso nome della DLL a 64 bit il programma sta tentando di caricare. Oppure, su un server a 32 bit, da qualche parte c'è un 64-bit DLL.

ho scoperto che quando questo accade, il log degli errori applicazione (comando di Windows eventvwr) mi dirà dove la DLL offendere è).

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