2011-10-19 12 views
7

Ho un'applicazione C# destinata alla versione .Net framework 3.5. Il binario ha funzionato correttamente quando è installato .Net Framework 3.5. Ma sta dando alcuni isssues incompatability con .Net 4.0. Problemi di incompatibilità del framework.

sto vedendo la seguente eccezione:

eccezione Catturato a Metodo: InitializeComponent Linea: 0 Colonna: 0 eccezione: Impossibile caricare il file o l'assembly ' WindowsFormsIntegration, Version = 3.0.0.0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35 'o una delle sue dipendenze. Il sistema non trova il file specificato.

+6

Disponi di un client 4.0 framework o di una macchina completa sul target? – Marco

+0

L'errore è coerente su più di una macchina? –

+1

Inoltre, * idealmente * il tuo codice dovrebbe utilizzare esplicitamente la versione .NET 4.0 di quella dll –

risposta

3

penso che tutte le informazioni necessarie per risolvere questo è già stato registrato nei commenti, per riassumere però:

Le informazioni si ha realmente bisogno è l'eccezione postato (sottolineatura mia):

Impossibile caricare il file o l'assembly 'WindowsFormsIntegration, Version = 3.0.0.0

il suo tentativo di caricare la versione .Net 3.0 di WindowsFormsIntegration.dll ma non è possibile trovare il file (o una delle sue dipendenze) presumibilmente perché il framework .Net 3.0 non è installato sul computer client. Si noti che il framework .Net v4.0 è indipendente dalla versione precedente del framework .Net - non è garantito che il .Net framework v3.0 sarà disponibile su una macchina anche se è presente il framework .Net v4.0.

Se si installa il .NET Framework versione 3.0 quindi il programma di dovrebbe di nuovo lavoro (salvo altri problemi), ma in realtà se ci si rivolge il NET Framework 4.0 si deve fare riferimento alla versione .Net 4.0 su WindowsFormsIntegration.dll. Basta rimuovere il riferimento esistente e aggiungere un altro riferimento alla versione .Net 4.0.

Nota: la proprietà "versione specifica" è un'impostazione compilatore-time che permette di Visual Studio accumulo, anche se non ha accesso alla versione corretta, in fase di esecuzione per quanto questa impostazione non ha alcun effetto - la versione corretta dell'assemblea deve essere presente. Vedi What you need to know about referenced assemblies in VS2005

+0

+1: .Net 4.0 NON contiene 3,5. Tuttavia, ritengo che il percorso migliore sia installare 3.5 sul target invece di cercare di convertire la sua app in 4.0 – NotMe

Problemi correlati