Visual Studio for Mac 2022 - 热重载?

问题描述 投票:0回答:4

我是一个在 Mac OS 上开发应用程序的新手。我正在使用 Visual Studio for Mac 2022 - 预览版。我是最新的,并使用 .NET 6 创建了 ASP.NET MVC Web 应用程序。我已使用生成的项目启动了调试器。我对 Index.cshtml 文件进行了更改,但保存文件后该更改无法反映在浏览器中。如果热重载可以在 Visual Studio for Mac 中运行,您有什么想法吗?我没有看到任何按钮来切换热重载,因为我看到的所有屏幕截图都是针对 Windows Visual Studio 的。任何帮助将不胜感激,因为每次进行更改时停止和启动调试器非常不方便。谢谢。

编辑: 我已经安装了Nuget包

Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation

然后更新我的 Program.cs 文件如下:

// Add services to the container.
builder.Services.AddControllersWithViews().AddRazorRuntimeCompilation();

我对 .cshtml 文件的更改在保存后仍然不想重新编译。

如有更多帮助,我们将不胜感激。

Mac 版 Visual Studio 版本:17.0 预览版(17.0 版本 5186)

创建了一个新的 Web 应用程序(模型-视图-控制器)项目。

visual-studio-mac
4个回答
9
投票

我让它可以在 Visual Studio 2022 for Mac 的最新预览版上运行。您需要添加 NuGet 包,并将该服务作为额外服务添加到

program.cs
文件中的构建器中:

builder.services.AddRazorPages().AddRazorRuntimecompilation();

https://learn.microsoft.com/en-us/aspnet/core/mvc/views/view-compilation?view=aspnetcore-6.0&tabs=visual-studio#enable-runtime-compilation-for-all-environments


5
投票

我不知道有什么方法可以在 Visual Studio 中执行此操作,但是如果您在终端中导航到包含 .csproj 的文件夹,则可以输入

dotnet watch

它将加载您的应用程序。然后您可以在 Visual Studio 中进行更改并保存,浏览器将自动重新加载。唯一的问题是,由于它是从命令行运行的,因此它不会在程序中遇到断点(无论如何我不知道有什么方法可以做到这一点)。


0
投票

如上所述,添加

builder.Services.AddRazorPages().AddRazorRuntimeCompilation()
效果很好,但在项目运行时,您唯一需要手动重新加载页面。


0
投票

即使您不提供这些行“builder.Services.AddRazorPages().AddRazorRuntimeCompilation()。它仍然会编译并在浏览器中显示更新的更改。

© www.soinside.com 2019 - 2024. All rights reserved.