asp.net-core - 使用“AddControllersWithViews()”时禁用开发中的预编译视图
问题描述
我正在开发 ASP.NET Core 5.0.1 项目,我想知道如何在开发时禁用预编译视图。如果我更改了一些 html 代码并且我不想那样,重新加载页面需要很长时间。我知道它在产品中很有用,但我想在开发时禁用。
任何人都可以帮助我吗?
更新
应用程序.csproj
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>net5.0</TargetFramework>
</PropertyGroup>
</Project>
启动.cs
public class Startup
{
public void ConfigureServices(IServiceCollection services, IWebHostEnvironment env)
{
services.AddControllersWithViews();
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
app.UseRouting();
app.UseEndpoints(routes =>
{
routes.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}"
);
});
}
}
解决方案
终于我找到了答案。在ASP.NET Core 3.1和ASP.NET Core 5.0上使用AddControllersWithViews()时,以下解决方案不起作用:
解决方案比我想象的要简单。
更新.csproj 文件如下,没有任何条件:
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>net5.0</TargetFramework>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation" Version="5.0.1" />
</ItemGroup>
</Project>
更新ConfigureServices方法如下:
public void ConfigureServices(IServiceCollection services)
{
services.AddControllersWithViews().AddRazorRuntimeCompilation();
}
完成。调试时,程序不会等待编译视图文件。
推荐阅读
- swift - 为使用 URLSession 和 RxSwift 的函数编写单元测试
- python - ä ü ö ß 等的编码
- mysql - 在 mysql 上选择我的数据库最受欢迎的目的地
- reactjs - Video.js - 在多个音轨之间切换(并在我更改时播放它们)
- python - 如何检查一个字符串中有多少个字符与另一个字符串匹配?
- python - OSError: [Errno 48] 地址已在 anki vector SDK (vectorCloud) 中使用
- mule - ActiveMQ:如何使用自定义属性对队列中的消息重新排序
- javascript - 如何使用 Javascript 拆分数组中的多个字符串?
- c++ - InterfaceSupportsErrorInfo:我如何知道接口 ID?
- bash - 基于单个字段列出整行比 grep 快得多