visual studio 2012 RC Nie można załadować typu System.Web.Http.RouteParameter
Na moim komputerze zainstalowałem VS 11 Beta, .net 4.5 i MVC 4 beta. Właśnie pobrałem najnowszą wersję RC i teraz otrzymuję ten komunikat o błędzie, gdy próbuję uruchomić projekty internetowe. Próbowałem ponownie zainstalować .net 4.5 i odinstalować i ponownie zainstalować VS 12 RC, ale to nie zadziałało. Spróbowałem tej sugestiitutaj który też nie działał.
Stos
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
Edytuj 6
użyłemfuslogvw
i okazało się, że projekt odwołuje się doSystem.Web.Http.dll
stąd
C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Web.Http\v4.0_4.0.0.0__31bf3856ad364e35
zamiast mojego projektu. Zmiana nazwy tego pliku sprawiła, że mój projekt działał, ale oczywiście nie mogę tego zrobić na mojej udostępnionej stronie hostingu.
Odwołałem się ręcznie do biblioteki DLL
C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET MVC 4\Assemblies
i ustaw goCopy to Local
. Nadal się ładujegac_msil
. Jak to zmienić?