【问题标题】:Umbraco MVC 4 System.Web.Http assembly missingUmbraco MVC 4 System.Web.Http 程序集丢失
【发布时间】:2015-02-04 13:54:43
【问题描述】:

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

启动了一个新的 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 }
            );
        }
    }
}

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

提前致谢

去性

编辑:

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

【问题讨论】:

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


    【解决方案1】:

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

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

    我会调查 web.config 绑定重定向失败。

    希望对您有所帮助。

    【讨论】:

    • 也许尝试在 WebApiConfig.Register(GlobalConfiguration.Configuration) 上的 Global.asax 上设置断点;看看是否有一个值被传入然后向后工作。
    • 我更新了我的 NuGet 包,现在它可以工作了。我认为是 System.Web.Mvc.dll 需要更新,尽管它更改了 Web.config 以指向错误的版本。更改后,它起作用了。
    • 很高兴你让它工作了,这是 VS 有时的烦恼之一。
    • 确实如此。谢谢回复:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-07-28
    • 1970-01-01
    • 2018-06-03
    • 2016-12-12
    • 2010-12-21
    • 2011-08-16
    • 1970-01-01
    相关资源
    最近更新 更多