Ho distribuito un'applicazione ASP.NET MVC 4 e la home page si carica bene, ma quando provo ad accedere a qualsiasi altra pagina (che tenta di connettersi a un database SQL) ottengo questo errore:Impossibile caricare il file o l'assembly EntityFramework
Could not load file or assembly 'EntityFramework, Version=4.1.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040) Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.IO.FileLoadException: Could not load file or assembly 'EntityFramework, Version=4.1.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
ho controllato il file web.config ed ha le seguenti voci rilevanti:
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=4.4.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
...
<compilation targetFramework="4.0" />
che ho letto tutto quello che potevo trovare tramite Google, ma niente di così aiutato finora . So che in qualche modo la versione di EF I costruita con l'applicazione è diversa dalla versione che si trova sulla macchina di distribuzione, ma potrei usare qualche direzione su come correggere questa differenza.
Non si può inviare la libreria EF al server? Hai EF nel GAC sul server? – Justin
Avete dll EntityFramework nella directory bin? – Shyju
Sembra che tu stia utilizzando EF5 su .NET Framework 4 (da cui la versione 4.4.0.0 nel tuo file di configurazione) ma l'eccezione che ottieni è di EF 4.1 (la versione è 4.1.0.0). Sembra che alcuni assiemi che stai usando provino ancora a usare 4.1 mentre l'altro EF5 (4.4.0.0). Assicurati di fare riferimento allo stesso assembly ovunque. Anche la voce nel file di configurazione è solo per puntare il.NET Framework per un tipo che sa leggere la sezione di configurazione quindi non è sufficiente aggiornarlo per far funzionare l'app contro EF5 – Pawel