CS0234:名称空间'System.Web.Http'中不存在类型或命名空间名称'Description'(您是否缺少程序集引用?)

时间:2017-05-12 04:44:34

标签: c# asp.net-mvc-4 asp.net-web-api

我在ASP.Net MVC WebAPI中遇到命名空间错误。 我正在使用MVC 4和.Net Framework 4.5,同时运行应用程序它可以工作,但点击API它会显示如下错误。

    ------------------------------------------------------------------------------------
    Server Error in '/' Application.

    Compilation Error

    Description: An error occurred during the compilation of a resource required to service this request. Please review the following specific error details and modify your source code appropriately.

    Compiler Error Message: CS0234: The type or namespace name 'Description' does not exist in the namespace 'System.Web.Http' (are you missing an assembly reference?)

    Source Error:
    Line 1:  @using System.Web.Http
    Line 2:  @using System.Web.Http.Description
    Line 3:  @using System.Collections.ObjectModel
    Line 4:  @using SmartCare360APIs.Areas.HelpPage.Models

    Source File: e:\Projects\SmartCare 360\Code\SmartCare360APIs\SmartCare360APIs\Areas\HelpPage\Views\Help\Index.cshtml    Line: 2

    Show Detailed Compiler Output:
    Show Complete Compilation Source:

    Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.6.1637.0
    -----------------------------------------------------------------------------------

以下是缺少名称空间的地方。     我试图重新安装mvc 4,但它还有更多的错误。

Page : **ApiGroup.cshtml**

 @using System.Web.Http
 @using System.Web.Http.Description
 @using SmartCare360APIs.Areas.HelpPage
 @using SmartCare360APIs.Areas.HelpPage.Models
 @model IGrouping<string, ApiDescription>

 <h2 id="@Model.Key">@Model.Key</h2>
 <table class="help-page-table">
 <thead>
                <tr><th>API</th><th>Description</th></tr>
            </thead>
            <tbody>
            @foreach (var api in Model)
            {
                <tr>
                    <td class="api-name"><a href="@Url.Action("Api", "Help", new { apiId = api.GetFriendlyId() })">@api.HttpMethod.Method @api.RelativePath</a></td>
                    <td class="api-documentation">
                    @if (api.Documentation != null)
                    {
                        <p>@api.Documentation</p>
                    }
                    else
                    {
                        <p>No documentation available.</p>
                    }
                    </td>
                </tr>
            }
            </tbody>
        </table>

3 个答案:

答案 0 :(得分:0)

尝试下面的事情:

1)尝试在References \ System.Web.Http中的Properties选项卡中设置'Copy local:true'

2)如果上述方法不起作用,请尝试在NuGet软件包控制台中卸载软件包Microsoft.AspNet.WebApi,然后重新安装。

答案 1 :(得分:0)

有时,对System.Web的引用无法识别正确的版本。

尝试使用“添加参考”上的“浏览”选项手动添加。

答案 2 :(得分:0)

这是.Net框架问题。 我已将.Net框架更新到最新版本并且错误已经消失。 我仍然不确定这是解决方案,但不知何故它起作用了我。

感谢您的回复!