当我访问Web api路由时出现以下异常,但该网站工作正常。
我正在运行部分在Web表单上的MVC应用程序。我们正在使用DI的结构图,我按照这里的建议(http://lucid-nonsense.co.uk/dependency-injection-web-api-and-mvc-4-rc/)为WebAPI设置DI,但没有区别。
什么需要System.Data.Services 3.5.0?我觉得奇怪的是这是3.5而不是4.x
System.IO.FileNotFoundException 无法加载文件或程序集' Microsoft.Data.Services, Version = 3.5.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089'要么 其中一个依赖项。该系统找不到指定的文件。 在 System.Reflection.RuntimeAssembly.GetExportedTypes(RuntimeAssembly assembly,ObjectHandleOnStack retTypes)at System.Reflection.RuntimeAssembly.GetExportedTypes()at System.Web.Http.Dispatcher.DefaultHttpControllerTypeResolver.GetControllerTypes(IAssembliesResolver assembliesResolver)at System.Web.Http.WebHost.WebHostHttpControllerTypeResolver.GetControllerTypes(IAssembliesResolver assembliesResolver)at System.Web.Http.Dispatcher.HttpControllerTypeCache.InitializeCache() 在System.Lazy
1.CreateValue() at System.Lazy
1.LazyInitValue()at System.Lazy1.get_Value() at System.Web.Http.Dispatcher.HttpControllerTypeCache.get_Cache() at System.Web.Http.Dispatcher.DefaultHttpControllerSelector.InitializeControllerInfoCache() at System.Lazy
1.CreateValue()在System.Lazy1.LazyInitValue() at System.Lazy
1.get_Value()at System.Web.Http.Dispatcher.DefaultHttpControllerSelector.SelectController(HttpRequestMessage 请求) System.Web.Http.Dispatcher.HttpControllerDispatcher.SendAsyncInternal(HttpRequestMessage 请求,取消语音取消语言) System.Web.Http.Dispatcher.HttpControllerDispatcher.SendAsync(HttpRequestMessage 请求,取消语音取消语句)
非常感谢!
答案 0 :(得分:1)
您的系统缺少ADO.Net Data Services附带的.Net Framework 3.5 SP1。您可以尝试安装ADO.NET Data Services v1.5 CTP2:http://www.microsoft.com/en-us/download/details.aspx?id=23113并查看它是否有效。即使在安装过程中出错也可能有效。 您使用的是哪个DB Context Generator?如果您使用EF 4.x DbContext Generator,那么我认为它可能需要旧版本的Data Services。 MVC4附带的EF 5不适用于VS2010。