rea*_*kep 6 c# asp.net-web-api2 visual-studio-code asp.net-core-2.0
我已经在Visual Studio Code中创建了一个新的.NET Core WebAPI项目。所有依赖项已还原。该项目正在使用以下SDK和运行时:
我的控制器类(包括Intellisense视图的屏幕截图):
using Microsoft.AspNetCore.Mvc;
using System.Collections.Generic;
using System.Linq;
namespace Gmn.Controllers
{
[Route("api/[controller]")]
[ApiController]
public class MyController : ControllerBase
{
public MyController() {
}
}
}
Run Code Online (Sandbox Code Playgroud)
生成错误:
错误CS0246:找不到类型或名称空间名称“ ApiControllerAttribute”(您是否缺少using指令或程序集引用?)
该Route属性(也位于Microsoft.AspNetCore.Mvc程序集中)可以正确解析,没有错误。所以,我知道程序集已经存在。
根据MS Docs,该程序集定义了该属性:
经过3个小时的搜索,我仍无法弄清楚。我是.NET Core的新手,但不是.NET。
有什么建议可以解决这个问题吗?谢谢。
我终于想通了。该.csproj的文件没有指向正确的版本TargetFramework和PackageReference。他们指的是2.0版本。甚至没有安装2.0,但是没有任何错误。(来自Visual Studio,我已经习惯了为我做的所有魔术!)
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>netcoreapp2.1</TargetFramework>
</PropertyGroup>
...
<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.All" Version="2.1.2" />
</ItemGroup>
...
</Project>
Run Code Online (Sandbox Code Playgroud)
Sha*_*ain -2
您是否添加了以下一项: services.AddMvc() .SetCompatibilityVersion(CompatibilityVersion.Version_2_1);
在你的创业课程中?
| 归档时间: |
|
| 查看次数: |
7375 次 |
| 最近记录: |