2010-11-23 4 views
7

Ich habe diese neue MVC-Anwendung, die ich auf Windows 2008 Server installiert habe. Und bekomme die folgende Nachricht, wenn ich den localhost ausführe.Konnte Datei oder Assembly 'System.Web.Mvc' oder eines seiner Abhängigkeiten nicht laden

Ich habe in den Ordner Bin eingecheckt und kann bestätigen, dass der Systems.Web.MVC da ist. Und die Version der Datei ist, 2.0.50217.0

und in der web.config ich diese Baugruppe definiert haben,

Kann jemand helfen? Siehe die Fehlermeldung unter:

---- ERROR MESSAGE ------------------------------

Server Error in '/' Application. 
-------------------------------------------------------------------------------- 

Could not load file or assembly 'System.Web.Mvc' 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 'System.Web.Mvc' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040) 

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 'System.Web.Mvc' could not be loaded. 


WRN: Assembly binding logging is turned OFF. 
To enable assembly bind failure logging, set the registry value [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) to 1. 
Note: There is some performance penalty associated with assembly bind failure logging. 
To turn this feature off, remove the registry value [HKLM\Software\Microsoft\Fusion!EnableLog]. 



Stack Trace: 


[FileLoadException: Could not load file or assembly 'System.Web.Mvc' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)] 

[FileLoadException: Could not load file or assembly 'System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)] 
    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 'System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)] 
    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) +591 

[HttpException (0x80004005): Could not load file or assembly 'System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)] 
    System.Web.HttpRuntime.FirstRequestInit(HttpContext context) +8950644 
    System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext context) +97 
    System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr, HttpContext context) +256 




-------------------------------------------------------------------------------- 
Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.0.30319.1 

Antwort

7

kann nicht Datei oder Assembly ‚System.Web.Mvc, Version = 3.0.0.0, ...“

Ihre Anwendung verwendet MVC3 laden, aber Sie Ihren eigenen Kommentar nach dem Server hat MVC2 (2.0. 50217.0)

12

Ich hatte dieses Problem bei der Bereitstellung auf einem Server, der MVC2 ausgeführt hat, die Dateien, die im Build enthalten sein müssen:

Microsoft.Web.Infrastructure.dll 
System.Web.Helpers.dll 
System.Web.Mvc.dll 
System.Web.Razor.dll 
System.Web.WebPages.Deployment.dll 
System.Web.WebPages.dll 
System.Web.WebPages.Razor.dll 

Phil Haack hat einen guten Beitrag hier getan (für wie zu lösen, wenn Sie in dieses Problem bei der Bereitstellung)

http://haacked.com/archive/2011/05/25/bin-deploying-asp-net-mvc-3.aspx

+1

ich in dieser Ausgabe lief auf Server 2012, die ‚didn t haben das .NET Framework 3.5 (das auch 2.0 und 3.0 enthält). Also schau das auch! –

2

Wenn Sie Rechte haben, dies zu tun, können Sie download und installieren MVC3 auf Ihrem Webserver.

0

Klicken Sie mit der rechten Maustaste auf System.Web.Mvc in Ihrem Referenzordner und stellen Sie sicher, dass copy local auf true gesetzt ist. Das sollte System.web.mvc zu Ihrem bin-Ordner hinzufügen und es sollte das Problem beheben.

5

Recht auf Projekt klicken -> Lösungs Nuget Pakete verwalten als aktualisieren

Microsoft.AspNet.Mvc und Microsoft.Net.Compilers

Verwandte Themen