Visual Studio。NET Core 2.1 SDK + React Template)を使用してプロジェクトを作成しました。
プロジェクトを実行すると、次のエラーが発生します。
1つ以上のコンパイル参照がありません。プロジェクトが「Microsoft.NET.Sdk.Web」を参照しており、「PreserveCompilationContext」プロパティがfalseに設定されていないことを確認してください。
型または名前空間名「ホスティング」が名前空間「Microsoft.AspNetCore.Razor」に存在しません(アセンブリ参照がありませんか?)
私はどんな研究をすることができましたが、以下を試してみましたが役に立ちませんでした:
dotnet restore
_パッケージマネージャーコンソールbin
およびobj
フォルダーを削除する_ViewImports.cshtml
_を開き、ソリューションのすべての名前空間に_@using
_を追加しますHomeController Index()
をView()
を返す代わりに[HttpGet] public string Index() => "Hello World!";
に変更すると、テキストはエラーなしで返されます。
Index.cshtml
_@{
ViewData["Title"] = "Home Page";
}
<div id="react-app">Loading...</div>
@section scripts {
<script src="~/dist/main.js" asp-append-version="true"></script>
}
_
HomeController.cs
_using System.Diagnostics;
using Microsoft.AspNetCore.Mvc;
namespace sample_project.Controllers
{
public class HomeController : Controller
{
public IActionResult Index()
{
return View();
}
public IActionResult Error()
{
ViewData["RequestId"] = Activity.Current?.Id ?? HttpContext.TraceIdentifier;
return View();
}
}
}
_
これを投稿して間もなく、私は問題を解決しました。
プロジェクトを.NET Core 2.1にアップグレードしましたが、参照の1つ(Microsoft.AspNetCore.All
)はバージョン2.0.8
でした。
これを2.1.0
に更新すると、プロジェクトは期待どおりに動作するようになりました。
私は、このチュートリアルに従って.net Coreを開始します。
新しいデータベースを使用したASP.NET CoreでのEF Coreの開始
それらは.netコア2を使用するため、コア2でプロジェクトを開始しました。以前は、コア2.1をインストールしました。チュートリアルに従ってコントローラーをスキャフォールディングすると、このエラーが発生しました。私は here から私の問題を解決した以下の解決策を見つけました:
Visual Studioパッケージマネージャーコンソールで、次の3つのコマンドを実行しました。
Install-Package Microsoft.AspNetCore.All -Version 2.0.8
Install-Package Microsoft.EntityFrameworkCore.Tools -Version 2.0.3
Install-Package Microsoft.VisualStudio.Web.CodeGeneration.Design -Version 2.0.1
それから私は新しいコントローラーを再び足場に入れようとしました。これで問題は解決しました。正常に動作します。