是否可以使用进程内 aspnet core 3 进行实时重新加载?

use*_*989 17 iis asp.net-core

我最近将 .Net Framwork AspNet MVC 应用程序升级为 AspNet Core 3 MVC 应用程序,我希望能够更改视图、保存和刷新浏览器窗口以查看更改。现在看来我每次都必须进行构建才能看到任何更改。有没有办法改变这种行为?

这是托管在 IIS 10 下

Bra*_*ang 49

据我所知,运行时编译只能在开发环境中工作。这意味着您不能在生产环境(托管在 IIS 上)中使用它。

如果您将 Visual Studio 的调试环境更改为 IIS,它仍然可以工作。

此外,RuntimeCompilation 不是 asp.net core 3.0 中的内置功能。

如果你想使用它,我建议你可以尝试安装的软件包Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation,然后配置AddRazorRuntimeCompilationStartup.cs

public void ConfigureServices(IServiceCollection services)
{
    services.AddControllersWithViews().AddRazorRuntimeCompilation();
}
Run Code Online (Sandbox Code Playgroud)


ioj*_*ode 9

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" />
Run Code Online (Sandbox Code Playgroud)

然后在launch.json,添加一个新的环境变量

"ASPNETCORE_HOSTINGSTARTUPASSEMBLIES": "Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation"
Run Code Online (Sandbox Code Playgroud)


Pat*_*ski 8

我很高兴根据这篇博文实现Westwind.AspnetCore.LiveReload 它非常简单,而且比 BrowserSync 工作得更好。