我试图为现有的MVC项目增添优势。
在线
@(Html.UpshotContext().DataSource<DataServiceController>(x => x.GetAllProducts()))
我得到了例外
Could not load file or assembly 'System.Web.Http.Common, Version=4.0.0.0,
Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies.
The system cannot find the file specified.
我安装的nuget包列表是
<packages>
<package id="AspNetMvc" version="4.0.20505.0" />
<package id="AspNetWebApi" version="4.0.20505.0" />
<package id="AspNetWebApi.Data" version="4.0.20221.15125" />
<package id="EntityFramework" version="4.3.1" />
<package id="jQuery" version="1.7.2" />
<package id="jQuery.Ajax.Unobtrusive" version="2.0.20505.0" />
<package id="jQuery.UI.Combined" version="1.8.20" />
<package id="jQuery.Validation" version="1.9" />
<package id="jQuery.Validation.Unobtrusive" version="2.0.20505.0" />
<package id="knockoutjs" version="2.1.0" />
<package id="Microsoft.AspNet.Mvc" version="4.0.20505.0" />
<package id="Microsoft.AspNet.Razor" version="2.0.20505.0" />
<package id="Microsoft.AspNet.WebApi" version="4.0.20505.0" />
<package id="Microsoft.AspNet.WebApi.Client" version="4.0.20505.0" />
<package id="Microsoft.AspNet.WebApi.Core" version="4.0.20505.0" />
<package id="Microsoft.AspNet.WebApi.WebHost" version="4.0.20505.0" />
<package id="Microsoft.AspNet.WebPages" version="2.0.20505.0" />
<package id="Microsoft.jQuery.Unobtrusive.Ajax" version="2.0.20505.0" />
<package id="Microsoft.jQuery.Unobtrusive.Validation" version="2.0.20505.0" />
<package id="Microsoft.Net.Http" version="2.0.20505.0" />
<package id="Microsoft.Web.Infrastructure" version="1.0.0.0" />
<package id="Modernizr" version="2.5.3" />
<package id="Newtonsoft.Json" version="4.5.7" />
<package id="Ninject" version="3.0.1.10" />
<package id="Ninject.MVC3" version="3.0.0.6" />
<package id="Ninject.Web.Common" version="3.0.0.7" />
<package id="SinglePageApplication" version="4.0.20221.15125" />
<package id="Upshot" version="1.0.0.2" />
<package id="WebActivator" version="1.5.1" />
</packages>
Google没有为此例外提供任何帮助。有什么想法吗?
编辑:认为完整的堆栈跟踪可能有用:
[FileNotFoundException: Could not load file or assembly 'System.Web.Http.Common, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified.]
System.Web.Http.Data.Metadata.MetadataProviderAttribute..ctor(Type providerType) +0
System.Web.Http.Data.EntityFramework.Metadata.DbMetadataProviderAttribute..ctor() +77
System.RuntimeTypeHandle.CreateCaInstance(RuntimeType type, IRuntimeMethodInfo ctor) +0
System.Reflection.CustomAttribute.GetCustomAttributes(RuntimeModule decoratedModule, Int32 decoratedMetadataToken, Int32 pcaCount, RuntimeType attributeFilterType, Boolean mustBeInheritable, IList derivedAttributes, Boolean isDecoratedTargetSecurityTransparent) +1539
System.Reflection.CustomAttribute.GetCustomAttributes(RuntimeType type, RuntimeType caType, Boolean inherit) +161
System.RuntimeType.GetCustomAttributes(Type attributeType, Boolean inherit) +58
System.Web.Http.Data.DataControllerDescription.CreateMetadataProvider(Type dataControllerType) +455
System.Web.Http.Data.DataControllerDescription.CreateDescription(HttpControllerDescriptor controllerDescriptor) +134
System.Web.Http.Data.<>c__DisplayClass1.<GetDescription>b__0(Type type) +42
System.Collections.Concurrent.ConcurrentDictionary`2.GetOrAdd(TKey key, Func`2 valueFactory) +62
System.Web.Http.Data.DataControllerDescription.GetDescription(HttpControllerDescriptor controllerDescriptor) +158
System.Web.Http.Data.Helpers.MetadataExtensions.Metadata(HtmlHelper htmlHelper) +215
[TargetInvocationException: Exception has been thrown by the target of an invocation.]
System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor) +0
System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments) +92
System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) +110
System.Reflection.MethodBase.Invoke(Object obj, Object[] parameters) +19
System.Web.Http.Data.Helpers.UpshotConfigBuilder.GetMetadata(Type dataControllerType) +233
System.Web.Http.Data.Helpers.UpshotConfigBuilder.ToHtmlString() +360
System.Web.HttpUtility.HtmlEncode(Object value) +38
System.Web.WebPages.WebPageBase.Write(Object value) +68
ASP._Page_Views_Search_Index_cshtml.Execute() in c:\code\Website\Views\Search\Index.cshtml:11
System.Web.WebPages.WebPageBase.ExecutePageHierarchy() +197
System.Web.Mvc.WebViewPage.ExecutePageHierarchy() +97
System.Web.WebPages.StartPage.RunPage() +17
System.Web.WebPages.StartPage.ExecutePageHierarchy() +62
System.Web.WebPages.WebPageBase.ExecutePageHierarchy(WebPageContext pageContext, TextWriter writer, WebPageRenderingBase startPage) +76
System.Web.Mvc.RazorView.RenderView(ViewContext viewContext, TextWriter writer, Object instance) +260
System.Web.Mvc.BuildManagerCompiledView.Render(ViewContext viewContext, TextWriter writer) +115
System.Web.Mvc.ViewResultBase.ExecuteResult(ControllerContext context) +295
System.Web.Mvc.ControllerActionInvoker.InvokeActionResult(ControllerContext controllerContext, ActionResult actionResult) +13
System.Web.Mvc.<>c__DisplayClass1a.<InvokeActionResultWithFilters>b__17() +23
System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilter(IResultFilter filter, ResultExecutingContext preContext, Func`1 continuation) +242
System.Web.Mvc.<>c__DisplayClass1c.<InvokeActionResultWithFilters>b__19() +21
System.Web.Mvc.ControllerActionInvoker.InvokeActionResultWithFilters(ControllerContext controllerContext, IList`1 filters, ActionResult actionResult) +177
System.Web.Mvc.Async.<>c__DisplayClass2a.<BeginInvokeAction>b__20() +89
System.Web.Mvc.Async.<>c__DisplayClass25.<BeginInvokeAction>b__22(IAsyncResult asyncResult) +102
System.Web.Mvc.Async.WrappedAsyncResult`1.End() +57
System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeAction(IAsyncResult asyncResult) +43
System.Web.Mvc.<>c__DisplayClass1d.<BeginExecuteCore>b__18(IAsyncResult asyncResult) +14
System.Web.Mvc.Async.<>c__DisplayClass4.<MakeVoidDelegate>b__3(IAsyncResult ar) +23
System.Web.Mvc.Async.WrappedAsyncResult`1.End() +62
System.Web.Mvc.Controller.EndExecuteCore(IAsyncResult asyncResult) +57
System.Web.Mvc.Async.<>c__DisplayClass4.<MakeVoidDelegate>b__3(IAsyncResult ar) +23
System.Web.Mvc.Async.WrappedAsyncResult`1.End() +62
System.Web.Mvc.Controller.EndExecute(IAsyncResult asyncResult) +47
System.Web.Mvc.Controller.System.Web.Mvc.Async.IAsyncController.EndExecute(IAsyncResult asyncResult) +10
System.Web.Mvc.<>c__DisplayClassb.<BeginProcessRequest>b__4(IAsyncResult asyncResult) +25
System.Web.Mvc.Async.<>c__DisplayClass4.<MakeVoidDelegate>b__3(IAsyncResult ar) +23
System.Web.Mvc.Async.WrappedAsyncResult`1.End() +62
System.Web.Mvc.<>c__DisplayClasse.<EndProcessRequest>b__d() +48
System.Web.Mvc.SecurityUtil.<GetCallInAppTrustThunk>b__0(Action f) +7
System.Web.Mvc.SecurityUtil.ProcessInApplicationTrust(Action action) +22
System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult asyncResult) +60
System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.EndProcessRequest(IAsyncResult result) +9
System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +9615056
System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +155