Umbraco MVC 4 System.Web.Http程序集缺失

时间:2015-02-04 13:54:44

标签: c# asp.net-mvc-4 umbraco7

所以我在一个空的MVC 5应用程序中安装了Umbraco CMS,让它工作,然后当我尝试添加一个MVC 5控制器时,我意识到Umbraco只支持< MVC 4,所以控制器取代了参考并停止了工作。

启动了一个新的MVC 4项目并安装了Umbraco CMS,但是当我尝试构建时,我收到以下错误:

The type or namespace name 'HttpConfiguration' could not be found (are you missing a using directive or an assembly reference?) in WebApiConfig.cs file.

我正确地添加了参考System.Web.Http(v4.0,运行时版本4.0.30319)但是在WebApiConfig.cs文件中它以某种方式找到了类仍然认为它错了:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web.Http;

namespace MyProj
{
    public static class WebApiConfig
    {
        public static void Register(HttpConfiguration config)
        {
            config.Routes.MapHttpRoute(
                name: "DefaultApi",
                routeTemplate: "api/{controller}/{id}",
                defaults: new { id = RouteParameter.Optional }
            );
        }
    }
}

知道可能出现什么问题吗?

提前致谢

deSex

编辑:

我更新了我的NuGet包,现在它可以工作了。我认为是System.Web.Mvc.dll需要更新,虽然它将Web.config更改为指向错误的版本。改变之后,它起作用了。

1 个答案:

答案 0 :(得分:0)

有时最好只删除System.Web.Http作为参考,然后再将其添加为快速修复,然后进行清理和重建。

此外,您可以尝试进入System.Web.Http的属性并将特定版本更改为false。

如果不这样,我会查看web.config绑定重定向。

希望有所帮助。