【.NET Core 3.1 】
.net core 在修改vs里面的view文件,必須要重新編譯才能開到修改效果,這給開發調試帶了了一些不便
- 解決方法
- 在nugut中添加 Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation 引用
- 在Startup.cs文件 添加如下代碼
public void ConfigureServices(IServiceCollection services) { services.AddControllersWithViews()
.AddRazorRuntimeCompilation(); services.AddRazorPages(); }
為了只在開發環境中加載文件監視操作 , 我們可以把 AddRazorRuntimeCompilation 加上配置條件
IMvcBuilder builder = services.AddRazorPages(); #if DEBUG if (Environment.IsDevelopment()) { builder.AddRazorRuntimeCompilation(); } #endif
經過以上配置,大多數的.net core項目正常編譯, 並且不需要每次重新編譯項目才能開view(cshtml)的修改效果
但是在我的項目了新的編譯不通過的異常
嚴重性 代碼 說明 項目 文件 行 禁止顯示狀態錯誤
The project D:\Projects\TengLai.cn\code\XXXX must provide a value for Configuration.
Tenglai.Web.Manage
C:\Users\Jason\.nuget\packages\microsoft.aspnetcore.razor.design\2.2.0\build\netstandard2.0\Microsoft.AspNetCore.Razor.Design.CodeGeneration.targets 79
也查找了許多解決 ASP.NET Core 中的 Razor 文件自動編譯 的帖子
大多是是因為.net core版本有.net core 2.x 升級到.net core 3.x,出現 “must provide a value for Configuration” 的提示
這情況可以這樣解決
在.proj項目文件文件的引用中引用Microsoft.AspNetCore.Razor.Design版本=“ 2.2.0”, 刪除該引用(由於Razor.Design現在是AspNetCore庫的一部分,根本不需要此引用)就可以解決該問題
網絡上的方法始終沒有解決我項目的編譯異常
經我檢查我的項目,我的項目不存在者情況,
經過多次排除是因為在依賴包中包含了 Microsoft.AspNetCore.Mvc, Microsoft.AspNetCore.Mvc.Core
而實際上框架Microsoft.AspNetCore.App下已經包含了者兩項,
當其他包要關聯這兩項時會出現沖突,
把依賴包中 Microsoft.AspNetCore.Mvc, Microsoft.AspNetCore.Mvc.Core 刪除
項目編譯通過
正在開發一站式企業服務SaaS軟件,歡迎互相學習