1. 程式人生 > 其它 >關於.NET CORE 編譯時錯誤:Microsoft.AspNetCore.Razor.Design.CodeGeneration.targets(79, 5): The project XXXXX must provide a value for Configuration.

關於.NET CORE 編譯時錯誤:Microsoft.AspNetCore.Razor.Design.CodeGeneration.targets(79, 5): The project XXXXX must provide a value for Configuration.

此筆記記載了本人在編譯.Net Core專案時遇到的Microsoft.AspNetCore.Razor.Design.CodeGeneration.targets(79, 5): The project XXXXX must provide a value for Configuration.的症狀、排查及解決方案

環境

.Net Core版本:5.0(其他版本也適用)
編譯工具:Visual Studio 2019,Rider 2021.1.3

症狀

在編譯專案的時候編譯過程中產生如下錯誤Microsoft.AspNetCore.Razor.Design.CodeGeneration.targets(79, 5): The project XXXXX must provide a value for Configuration.

並終止編譯。

解決方案

  1. 安裝Nuget包
    安裝Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation包,可以使用命令 Install-Package Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation 也可以在Nuget圖形介面查詢並安裝
  2. 在 startup.cs 加入對應程式碼
public void ConfigureServices(IServiceCollection services)
{
    services.AddRazorPages()
        .AddRazorRuntimeCompilation();
}
  1. 在 專案.csproj 加入節點
<PropertyGroup>
    <TargetFramework>netcoreapp3.1</TargetFramework>
    <RazorCompileOnBuild>false</RazorCompileOnBuild>
    <MvcRazorCompileOnPublish>false</MvcRazorCompileOnPublish>
</PropertyGroup>
  1. 重新編譯專案即可發現已經可以順利編譯