Ancora un altro Imansible caricare file o assembly ‘EntityFramework

Ora, prometto che l’ho cercato su Google. L’overflow dello stack ha circa 4 o 5 soluzioni a questo problema. Tuttavia, nessuno di loro sembra funzionare. Sto utilizzando EntityFramework 5 (4.4) con un progetto MVC 3. Questo ha funzionato bene in passato, ma è da un po ‘che non apro il progetto (circa 20 giorni circa). Ho appena disinstallato e reinstallato Sql Server 2008 R2 Express. Ho riavviato da allora.

In tutti i miei file cshtml vedo un errore nella riga di linea sulla mia linea @model. Quando passo il mouse, vedo quanto segue:

Errore di runtime di ASP.NET: imansible caricare il file o l’assembly ‘EntityFramework, Versione = 4.4.0.0, Culture = neutral, PublicTokenKey = b77a5c561934e089’ o una delle sue dipendenze. L’accesso è negato.

Ho disinstallato e reinstallato il pacchetto EntityFramework tramite la console del gestore pacchetti. L’ho fatto anche via nuget. Ho chiuso e riaperto lo studio visivo. Ho rimosso il riferimento e l’ho aggiunto manualmente navigando per la DLL.

La mia voce web.config per questo assomiglia a:

[open tag] section name = “entityFramework” type = “System.Data.Entity, EntityFramework, Version = 4.4.0.0, Culture = neutral, PublicKeyToken = b77a5c561934e089” requirePermission = “false” [chiudi tag]

Qualcuno ha qualche pensiero?

MODIFICA 1 DETTAGLIO FULL ERROR

Server Error in '/' Application. Could not load file or assembly 'EntityFramework' or one of its dependencies. Access is denied. 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' or one of its dependencies. Access is denied. Source Error: An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below. Assembly Load Trace: The following information can be helpful to determine why the assembly 'EntityFramework' could not be loaded. === Pre-bind state information === LOG: User = Unknown LOG: DisplayName = EntityFramework (Partial) WRN: Partial binding information was supplied for an assembly: WRN: Assembly Name: EntityFramework | Domain ID: 2 WRN: A partial bind occurs when only part of the assembly display name is provided. WRN: This might result in the binder loading an incorrect assembly. WRN: It is recommended to provide a fully specified textual identity for the assembly, WRN: that consists of the simple name, version, culture, and public key token. WRN: See whitepaper http://go.microsoft.com/fwlink/?LinkId=109270 for more information and common solutions to this issue. LOG: Appbase = file:///C:/MercurialProjects/ProxySetup/ProxySetup/ LOG: Initial PrivatePath = C:\MercurialProjects\ProxySetup\ProxySetup\bin Calling assembly : (Unknown). === LOG: This bind starts in default load context. LOG: Using application configuration file: C:\MercurialProjects\ProxySetup\ProxySetup\web.config LOG: Using host configuration file: LOG: Using machine configuration file from C:\Windows\Microsoft.NET\Framework\v4.0.30319\config\machine.config. LOG: Policy not being applied to reference at this time (private, custom, partial, or location-based assembly bind). LOG: Attempting download of new URL file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/Temporary ASP.NET Files/root/014aecc8/d1c2eaf7/EntityFramework.DLL. LOG: Attempting download of new URL file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/Temporary ASP.NET Files/root/014aecc8/d1c2eaf7/EntityFramework/EntityFramework.DLL. LOG: Attempting download of new URL file:///C:/MercurialProjects/ProxySetup/ProxySetup/bin/EntityFramework.DLL. LOG: Using application configuration file: C:\MercurialProjects\ProxySetup\ProxySetup\web.config LOG: Using host configuration file: LOG: Using machine configuration file from C:\Windows\Microsoft.NET\Framework\v4.0.30319\config\machine.config. LOG: Post-policy reference: EntityFramework, Version=4.4.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 ERR: Failed to complete setup of assembly (hr = 0x80070005). Probing terminated. Stack Trace: [FileLoadException: Could not load file or assembly 'EntityFramework' or one of its dependencies. Access is denied.] [FileLoadException: Could not load file or assembly 'EntityFramework, Version=4.4.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' or one of its dependencies. Access is denied.] System.Reflection.RuntimeAssembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks) +0 System.Reflection.RuntimeAssembly.nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks) +39 System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(AssemblyName assemblyRef, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection, Boolean suppressSecurityChecks) +132 System.Reflection.RuntimeAssembly.InternalLoad(String assemblyString, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection) +144 System.Reflection.Assembly.Load(String assemblyString) +28 System.Web.Configuration.CompilationSection.LoadAssemblyHelper(String assemblyName, Boolean starDirective) +46 [ConfigurationErrorsException: Could not load file or assembly 'EntityFramework, Version=4.4.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' or one of its dependencies. Access is denied.] System.Web.Configuration.CompilationSection.LoadAssemblyHelper(String assemblyName, Boolean starDirective) +618 System.Web.Configuration.CompilationSection.LoadAllAssembliesFromAppDomainBinDirectory() +209 System.Web.Configuration.CompilationSection.LoadAssembly(AssemblyInfo ai) +130 System.Web.Compilation.BuildManager.GetReferencedAssemblies(CompilationSection compConfig) +178 System.Web.Compilation.BuildManager.GetPreStartInitMethodsFromReferencedAssemblies() +94 System.Web.Compilation.BuildManager.CallPreStartInitMethods() +332 System.Web.Hosting.HostingEnvironment.Initialize(ApplicationManager appManager, IApplicationHost appHost, IConfigMapPathFactory configMapPathFactory, HostingEnvironmentParameters hostingParameters, PolicyLevel policyLevel, Exception appDomainCreationException) +677 [HttpException (0x80004005): Could not load file or assembly 'EntityFramework, Version=4.4.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' or one of its dependencies. Access is denied.] System.Web.HttpRuntime.FirstRequestInit(HttpContext context) +9090988 System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext context) +97 System.Web.HttpRuntime.ProcessRequestInternal(HttpWorkerRequest wr) +258 Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.0.30319.272 

MODIFICA 2

Per le informazioni di debug sopra, ho aggiunto manualmente tutte le dll che l’applicazione utilizza nella cartella C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ Temporary ASP.NET Files \ root \ 014aecc8 \ d1c2eaf7 in quanto è ciò che è stato eventualmente referenziato come l’errore continuava a cambiare.

Non vedo un utente ASPNET che assegni le autorizzazioni per la directory C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ Temporary ASP.NET Files \. Ho aggiunto: IUSR, NETWORK, NETWORK SERVICE, IIS_USRS (\ IIS_ISURS) con controllo completo. Sto ancora ricevendo l’errore.

Mentre ricevevo ancora Access Denied per errori, ho dato agli utenti il ​​pieno controllo della cartella sul mio computer. L’applicazione carica. Quindi … questo è un errore di authorization. La domanda è: quale account ha bisogno delle autorizzazioni?

Questo può sembrare strano, ma dopo aver incontrato questo problema e problemi come questo, ho identificato due possibili cause che sono molto fuori dalla norma.

1) se stai usando chrome, assicurati che chrome sia chiuso quando provi a build la tua soluzione (presumo che non sei in grado di build la soluzione a causa di questo errore?). So che sembra pazzesco, ma ho scoperto che a volte, per qualsiasi motivo, alcuni file diventano inaccessibili quando utilizzo Chrome durante lo sviluppo. Non so ancora perché, ma vale la pena provare se non sei stato in grado di risolvere il problema.

2) Nel tuo gestore pacchetti nuget, se non hai già reinstallato il framework entity framework, disinstallalo e reinstallalo. Ho scoperto che quando sposto un’app da una macchina all’altra o la aggiorno dal controllo di versione, i pacchetti di nuget vengono incasinati in qualche modo. La reinstallazione sembra essere l’unica cosa per farlo funzionare.

3) Per quanto riguarda il problema specifico delle autorizzazioni, non sono convinto che questo sia il problema, tuttavia l’intera cartella dell’app e le sottocartelle / file dovrebbero avere l’utente “Tutti” impostato con permessi di lettura / esecuzione completi (ma NON autorizzazioni di scrittura). Questo dovrebbe essere tutto ciò che serve per quanto riguarda i permessi (almeno questo è tutto ciò di cui ho bisogno durante l’installazione).

in bocca al lupo.

Se la tua soluzione ha più progetti, assicurati che il tuo modello edmx si trovi nello stesso progetto con codice che faccia riferimento al modello.

Può essere fonte di confusione perché è ansible fare riferimento a un Modello in un progetto diverso e non ricevere errori intellisense, anche quando vengono visualizzati errori durante il runtime.