【发布时间】:2019-10-02 14:35:25
【问题描述】:
我最近将 .Net Framwork AspNet MVC 应用程序升级为 AspNet Core 3 MVC 应用程序,我希望能够更改视图、保存和刷新我的浏览器窗口以查看更改。现在看来我必须每次都进行构建才能看到任何更改。有没有办法改变这种行为?
这是在 IIS 10 下托管的
【问题讨论】:
标签: asp.net-core iis
我最近将 .Net Framwork AspNet MVC 应用程序升级为 AspNet Core 3 MVC 应用程序,我希望能够更改视图、保存和刷新我的浏览器窗口以查看更改。现在看来我必须每次都进行构建才能看到任何更改。有没有办法改变这种行为?
这是在 IIS 10 下托管的
【问题讨论】:
标签: asp.net-core iis
据我所知,运行时编译只能在开发环境中工作。这意味着您不能在生产环境(托管在 IIS 上)中使用它。
如果将 Visual Studio 的调试环境更改为 IIS,它仍然可以工作。
此外,RuntimeCompilation 不是 asp.net core 3.0 中的内置功能。
如果你想使用的话,我建议你可以尝试安装包Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation,然后在Startup.cs中配置AddRazorRuntimeCompilation就像
public void ConfigureServices(IServiceCollection services)
{
services.AddControllersWithViews().AddRazorRuntimeCompilation();
}
【讨论】:
3.1 有一种新的方法,取自:https://docs.microsoft.com/en-us/aspnet/core/mvc/views/view-compilation?view=aspnetcore-3.1
在 csproj 中添加包
<PackageReference Include="Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation" Version="3.1.3" />
然后在launch.json处,添加一个新的环境变量
"ASPNETCORE_HOSTINGSTARTUPASSEMBLIES": "Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation"
【讨论】:
我很高兴按照this blog post. 实现Westwind.AspnetCore.LiveReload,它非常简单,而且比 BrowserSync 工作得更好。
【讨论】: