tar*_*713 32 c# asp.net-core razor-pages asp.net-core-3.0
根据https://docs.microsoft.com/zh-cn/aspnet/core/mvc/views/view-compilation?view=aspnetcore-3.0,默认情况下,剃刀视图应在asp.net core 3.0的本地环境更改时重新编译。
但是,我的项目不在本地执行。如果更改视图并在本地调试时刷新,则更改不会反映出来。我必须停止解决方案,重新运行,然后查看更改。
我在Visual Studio 2019上的默认ASP.NET Core Web应用程序模板上使用asp.net core 3.0.0预览版2使用剃刀页面执行此操作。我是否需要更改设置以启用此功能?
更新于2019年11月进行3.0版全面发布: 这个问题仍然有很多观点。引用了一些答案来补充
services.AddControllersWithViews().AddRazorRuntimeCompilation();
Run Code Online (Sandbox Code Playgroud)
添加Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation NuGet包后,将其添加到Startup.cs中的ConfigureServices()函数。就我而言,我仅使用Razor Pages,因此不调用AddControllersWithViews,因此这对我有用:
services.AddRazorPages().AddRazorRuntimeCompilation();
Run Code Online (Sandbox Code Playgroud)
Luk*_*och 22
好的,看来它尚不支持:(
删除了运行时编译由于清理了ASP.NET Core共享框架而不依赖于Roslyn,因此在此预览版本中也删除了对页面和视图的运行时编译的支持。而是在构建时执行页面和视图的编译。在将来的预览更新中,我们将提供NuGet软件包,用于有选择地在应用程序中启用运行时编译支持。
您可以在这里阅读有关此问题的更多信息https://github.com/aspnet/Announcements/issues/343
需要运行时编译或重新编译Razor文件的应用程序应:
Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation程序包的引用。它将作为3.0.0-preview3版本的一部分提供。ConfigureServices以包括对的调用AddMvcRazorRuntimeCompilation:Dmi*_*lov 16
在ASP.NET Core3中重新获得运行时视图编译
Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilationservices.AddMvc().AddRazorRuntimeCompilation()Microsoft.VisualStudio.Web.CodeGeneration.Design如果Microsoft.CodeAnalysis.Common包装上的版本不匹配,请删除rau*_*and 16
对于ASP.NET Core 3发行版本:
services.AddControllersWithViews().AddRazorRuntimeCompilation();
Run Code Online (Sandbox Code Playgroud)
https://docs.microsoft.com/zh-cn/aspnet/core/mvc/views/view-compilation?view=aspnetcore-3.0
Nam*_*yay 16
要在 ASP.NET Core 3.1 中重新获得运行时 Razor 视图编译:
Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilationNuGet 包。Startup.ConfigureServices方法以包含对AddRazorRuntimeCompilation.services.AddRazorPages().AddRazorRuntimeCompilation();
小智 13
步骤 1:从 NuGet Package Manager for Solution 安装以下包。
Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation

步骤 2:在 Startup.cs 文件的 ConfigureServices 中添加以下代码
services.AddControllersWithViews().AddRazorRuntimeCompilation();

保存页面,然后刷新客户端浏览器。
如果您使用 Razor,则添加 services.AddRazorPages().AddRazorRuntimeCompilation(); 的代码。
小智 10
Runtime compilation is enabled using the Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation package. To enable runtime compilation, apps must:
Install the Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation NuGet
package.
Update the project's Startup.ConfigureServices method to include a
call to AddRazorRuntimeCompilation:
services
.AddControllersWithViews()
.AddRazorRuntimeCompilation();
Run Code Online (Sandbox Code Playgroud)
https://docs.microsoft.com/en-us/aspnet/core/mvc/views/view-compilation?view=aspnetcore-3.0
在 .NET Core 3.1 中,您需要禁用views.dll文件的生成。
将以下代码添加到您的.csproj文件中(在项目的根目录中):
<PropertyGroup>
<TargetFramework>netcoreapp3.1</TargetFramework>
<UserSecretsId>...</UserSecretsId>
<!-- add from this line: -->
<CopyRazorGenerateFilesToPublishDirectory>true</CopyRazorGenerateFilesToPublishDirectory>
<CopyRefAssembliesToPublishDirectory>false</CopyRefAssembliesToPublishDirectory>
<MvcRazorCompileOnPublish>false</MvcRazorCompileOnPublish>
<RazorCompileOnBuild>false</RazorCompileOnBuild>
<!-- to this line. -->
</PropertyGroup>
Run Code Online (Sandbox Code Playgroud)
从解决方案的 NuGet 包管理器安装以下包。
Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation
Run Code Online (Sandbox Code Playgroud)
将以下代码添加到文件的ConfigureServices方法中Startup.cs:
services.AddMvc().AddRazorRuntimeCompilation();
Run Code Online (Sandbox Code Playgroud)
或者
services.AddControllersWithViews().AddRazorRuntimeCompilation();
Run Code Online (Sandbox Code Playgroud)
或者
services.AddRazorPages().AddRazorRuntimeCompilation();
Run Code Online (Sandbox Code Playgroud)
在此之后,再次发布并运行它。它会起作用。
仅针对本地开发配置运行时编译的最简单方法是更新launchSettings.json. 此方法不需要更改代码来配置本地运行的项目(不会影响您的生产)。
请参阅官方文档:
- 安装Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation NuGet 包。
- 修改launchSettings.json中的启动配置文件environmentVariables部分:
- 验证
ASPNETCORE_ENVIRONMENT设置为“开发”。- 设置
ASPNETCORE_HOSTINGSTARTUPASSEMBLIES为“Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation”。
例子:
{
"iisSettings": {
"windowsAuthentication": false,
"anonymousAuthentication": true,
"iisExpress": {
"applicationUrl": "http://localhost:57676",
"sslPort": 44364
}
},
"profiles": {
"IIS Express": {
"commandName": "IISExpress",
"launchBrowser": true,
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development",
"ASPNETCORE_HOSTINGSTARTUPASSEMBLIES": "Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation"
}
},
"RazorPagesApp": {
"commandName": "Project",
"launchBrowser": true,
"applicationUrl": "https://localhost:5001;http://localhost:5000",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development",
"ASPNETCORE_HOSTINGSTARTUPASSEMBLIES": "Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation"
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4593 次 |
| 最近记录: |