visual studio 2012 RC n'a pas Pu charger le type de Système.Web.Http.RouteParameter
J'ai eu VS 11 Bêta, .net 4.5 MVC 4 beta installé sur mon PC. Je viens de télécharger la dernière RC et maintenant, je reçois ce message d'erreur lorsque j'essaie d'exécuter des projets web. J'ai essayé de réinstaller .net 4.5 et la désinstallation et resinstalling VS 12 RC, mais cela n'a pas fonctionné. J'ai essayé le
suggestion ici qui ne fonctionne pas non plus.
Pile
Could not load type 'System.Web.Http.RouteParameter' from assembly 'System.Web.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.
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.TypeLoadException: Could not load type 'System.Web.Http.RouteParameter' from assembly 'System.Web.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.
Source Error:
Line 26: defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
Line 27: );
Line 28: }
Line 29: }
Line 30: }
Source File: c:\projects\testNew\testNew\App_Start\RouteConfig.cs Line: 28
Stack Trace:
[TypeLoadException: Could not load type 'System.Web.Http.RouteParameter' from assembly 'System.Web.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.]
testNew.RouteConfig.RegisterRoutes(RouteCollection routes) in c:\projects\testNew\testNew\App_Start\RouteConfig.cs:28
testNew.MvcApplication.Application_Start() in c:\projects\testNew\testNew\Global.asax.cs:25
[HttpException (0x80004005): Could not load type 'System.Web.Http.RouteParameter' from assembly 'System.Web.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.]
System.Web.HttpApplicationFactory.EnsureAppStartCalledForIntegratedMode(HttpContext context, HttpApplication app) +9841101
System.Web.HttpApplication.RegisterEventSubscriptionsWithIIS(IntPtr appContext, HttpContext context, MethodInfo[] handlers) +118
System.Web.HttpApplication.InitSpecial(HttpApplicationState state, MethodInfo[] handlers, IntPtr appContext, HttpContext context) +172
System.Web.HttpApplicationFactory.GetSpecialApplicationInstance(IntPtr appContext, HttpContext context) +336
System.Web.Hosting.PipelineRuntime.InitializeApplication(IntPtr appContext) +296
[HttpException (0x80004005): Could not load type 'System.Web.Http.RouteParameter' from assembly 'System.Web.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.]
System.Web.HttpRuntime.FirstRequestInit(HttpContext context) +9850940
System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext context) +101
System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr, HttpContext context) +254
Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.0.30319.17626
Edit 6
J'ai utilisé fuslogvw
et a trouvé que le projet faisait référence à la System.Web.Http.dll
à partir d'ici
C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Web.Http\v4.0_4.0.0.0__31bf3856ad364e35
à la place de mon projet. Renommer ce fichier de mon projet de travail, mais évidemment je ne peux pas faire cela sur mon hébergement mutualisé de site.
J'ai manuellement référencé la dll à partir de
C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET MVC 4\Assemblies
et mis à Copy to Local
. Encore qu'il se charge de gac_msil
. Comment puis-je le remplacer?
OriginalL'auteur Eonasdan | 2012-06-07
Vous devez vous connecter pour publier un commentaire.
J'ai eu le même problème, et trouvé cette question alors que googler sur l'erreur.
Quand j'ai regardé les programmes installés sur mon windows, j'ai vu qu'il y avait 3 MVC 4 'applications' installé:
J'ai désinstallé le "MVC 4" application, puis mes projets a bien fonctionné.
Ce faire l'affaire pour moi. Merci.
Fixe mon problème!
OriginalL'auteur Roet
Pour l'instant la réponse est de remplacer la dll dans le dossier
en
mise à niveau sur le dessus de la version Bêta pour le RC travaillé sur une autre machine. J'espère que cela aide quelqu'un dans le futur.
Je vais mettre à jour si je trouve une meilleure réponse
Oui, il fonctionne. @FatAlbert assurez-vous de remplacer toutes les assemblées, y compris XMLs
Système.Web.Http n'existe pas en dessous de la GAC_MSIL pour moi.
OriginalL'auteur Eonasdan
Je vous suggère également la mise à niveau de MVC4 Bêta pour MVC4 RC: http://www.asp.net/mvc/mvc4
Et selon les notes de version: 'Vous pouvez mettre à niveau la ASP.NET MVC 4 Developer Preview et test Bêta pour ASP.NET MVC 4 Release Candidate sans désinstaller.'
Et je n'ai que ça et se débarrasser de l'erreur.
La raison en est votre application vers le vieux MVC4 Bêta dans le GAC.
Une alternative est d'utiliser la variable d'environnement DEVPATH mentionnés sur ce lien.
http://www.christophdebaene.com/blog/2012/04/06/building-the-source-code-of-asp-net-web-api/
Vincent
J'ai mis à jour ma question encore une fois. Toutes les nouvelles idées?
OriginalL'auteur Vince