.net 6.0新特性 热重载

前言

在以前的开发模式下,我们修改代码后必须重新编译、重新运行才能看到效果。

而热重载提供了这样一种特性,它允许你在项目正在运行时修改代码,并将代码更改立即应用于正在运行的应用程序上。

热重载的目的是尽可能节省编辑之间的应用重启次数,从而使你通过减少等待应用重新生成、重启、重新导航到你在应用中的上一个位置等操作的时间来提高工作效率。

在.NET 6发布之前还有个小插曲,热重载差点从dotnet CLI中被移除。具体可以看这篇文章:https://devblogs.microsoft.com/dotnet/update-on-net-hot-reload-progress-and-visual-studio-2022-highlights/

下面,让我们尝试使用热重载来编写和调试正在运行的代码。

Demo

假设有下列代码,每秒向控制台输出一行文本:

int i = 0;
while (true)
{
    Console.WriteLine("My IO " + i++);
    await Task.Delay(1000);
}

1.使用VS2022

使用F5启动附加了调试器的应用程序,然后修改代码,最后单击“火焰”图标(“热重载”按钮)或按 ALT+F10 应用代码更改,又可以看到效果:

.net 6.0新特性 热重载

2.使用dotnet CLI

在控制台窗口使用dotnet watch启动应用程序,然后修改代码,最后只需保存文件,等待一会就可以看到效果:

.net 6.0新特性 热重载

可以看到,热重载并不是完全实时的。

结论

将Visual Studio 2022与.NET 6应用一起使用时,可以支持大多数应用类型的热重载

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 xxx@163.com 举报,一经查实,本站将立刻删除。

发表评论

登录后才能评论