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() {
}
}
}
ビルドエラー:
エラーCS0246:型または名前空間名「ApiControllerAttribute」が見つかりませんでした(usingディレクティブまたはアセンブリ参照がありませんか?)
Microsoft.AspNetCore.Mvc Assemblyにも含まれるRoute
属性は、エラーなしで正しく解決されます。だから、私はアセンブリが存在することを知っています。
MSドキュメントごとに、属性はこのアセンブリで定義されます。
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>