我是一个在 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 2022 for Mac 的最新预览版上运行。您需要添加 NuGet 包,并将该服务作为额外服务添加到
program.cs
文件中的构建器中:
builder.services.AddRazorPages().AddRazorRuntimecompilation();
我不知道有什么方法可以在 Visual Studio 中执行此操作,但是如果您在终端中导航到包含 .csproj 的文件夹,则可以输入
dotnet watch
它将加载您的应用程序。然后您可以在 Visual Studio 中进行更改并保存,浏览器将自动重新加载。唯一的问题是,由于它是从命令行运行的,因此它不会在程序中遇到断点(无论如何我不知道有什么方法可以做到这一点)。
如上所述,添加
builder.Services.AddRazorPages().AddRazorRuntimeCompilation()
效果很好,但在项目运行时,您唯一需要手动重新加载页面。
即使您不提供这些行“builder.Services.AddRazorPages().AddRazorRuntimeCompilation()。它仍然会编译并在浏览器中显示更新的更改。