iis 是否可以在进程内重新加载aspnet core 3?

crcmnpdw  于 5个月前  发布在  其他
关注(0)|答案(4)|浏览(53)

我最近将一个.Net Framework AspNet MVC应用程序升级到AspNet Core 3 MVC应用程序,我希望能够更改视图、保存和刷新浏览器窗口以查看更改。现在看来,我每次都必须执行构建才能看到任何更改。是否有方法更改此行为?
这是在IIS 10下运行的。

gblwokeq

gblwokeq1#

据我所知,运行时编译只能在开发环境中工作,这意味着你不能在生产环境中使用它(生产环境托管在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();
}

字符串

i86rm4rw

i86rm4rw2#

在Python 3.1中,有一种新的方法可以做到这一点,摘自:https://learn.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"

qqrboqgw

qqrboqgw3#

我很高兴能实现Westwind.AspnetCore.LiveReloadthis blog post.这是相当容易和工作比BrowserSync更好。

daupos2t

daupos2t4#

经过一番研究,我找到了一个非常简单的解决方案:
在csproj中添加以下参考:

<PackageReference Include="Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation" Version="3.1.3" />

字符串
将AddRazorRuntimeCompilation()添加到服务配置中

services.AddControllersWithViews().AddRazorRuntimeCompilation();

相关问题