【.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软件,欢迎互相学习