我在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>
答案 0 :(得分:0)
尝试下面的事情:
1)尝试在References \ System.Web.Http中的Properties选项卡中设置'Copy local:true'
2)如果上述方法不起作用,请尝试在NuGet软件包控制台中卸载软件包Microsoft.AspNet.WebApi,然后重新安装。
答案 1 :(得分:0)
有时,对System.Web的引用无法识别正确的版本。
尝试使用“添加参考”上的“浏览”选项手动添加。
答案 2 :(得分:0)
这是.Net框架问题。 我已将.Net框架更新到最新版本并且错误已经消失。 我仍然不确定这是解决方案,但不知何故它起作用了我。
感谢您的回复!