我尝试自动重新加载与Angular和Node或NPM相同的 ASP.NET Core 项目。
这意味着,我更改.NET Core Project的代码并保存。这段时间会自动在浏览器中直接生效,并在浏览器中自动重新加载网页。
答案 0 :(得分:6)
在项目控制台中运行此命令
dotnet watch run
与 Visual Studio代码
相同答案 1 :(得分:5)
我认为dotnet手表应该可以工作。请参阅link中的文档,因为有多种选择。
- 将Microsoft.DotNet.Watcher.Tools添加到 project.json文件
- 运行dotnet restore
- 通过dotnet watch run执行
答案 2 :(得分:2)
您可以使用dotnet watch
。就是Docs
我创建了自定义的午餐配置文件,以使其在VS中更容易运行。
"Watch": {
"executablePath": "dotnet.exe",
"workingDirectory": "$(ProjectDir)",
"commandLineArgs": "watch run",
"launchBrowser": false,
"launchUrl": "http://localhost:5000/",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
}
答案 3 :(得分:2)
使用dotnet watch重新编译源代码。将浏览器链接与Visual Studio中的“保存时重新加载浏览器”一起使用,以重新加载所有浏览器。 https://marketplace.visualstudio.com/items?itemName=MadsKristensen.BrowserReloadonSave
答案 4 :(得分:2)
根据此要求,我们需要像Angular应用程序一样运行.net核心应用程序,自动加载页面和内容,而无需构建和手动刷新。
我已经做过一些研究,并且在作为.net开发人员的7年以上经验中,他在ASP.NET development company中担任高级资源,他认为ASP.NET核心项目中无法自动重新加载。但是,我们取得了成功,在我们的解决方案中,我们使用dotnet watch监视源文件,如果文件发生更改,请关闭它启动的应用程序,重建并发布项目,然后重新启动该应用程序,那么我们只需要在浏览器中手动刷新页面以获取在应用程序中所做的更改,我们不需要构建或启动项目。
使用asp.net监视的步骤:
1)创建.Net核心应用程序。
2)在Web项目的文件夹中打开命令窗口
3)输入dotnet watch run
4)打开浏览器并导航到API或Page
5)更改源代码
6)保存文件
7)返回浏览器并手动刷新
8)您应该看到已反映的更改
答案 5 :(得分:1)
在继续使用此选项之前,您应该三思而后行。 (1)这是一种资源消耗。由于它需要对修改后的项目(有时甚至整个解决方案)进行自动构建(作为预操作)。 (想象一个由许多项目组成的中等到巨大的Asp.net解决方案,为每次执行的修改构建!!剩下多少时间进行编程??? !!!)(2),如您所知,页面重载会消耗很多成功构建后首次启动的时间!! ...因此,您要从该选项中获得的时间将被浪费很多,尤其是基于CLR的编程语言(例如.NET Core)。最后,(3)预计您的项目将需要开发测试样本,可以自动将其注入视图中以实现更好的自动化流程,想象这有多困难!
相反,请尝试对您的解决方案进行单元测试,然后,任何下一次修改都应该是肤浅且很少发生。
如果您不同意我的主张,建议您开发一个Visual Studio扩展程序,以更好地重新加载目标网页on-build
,而不是on-save-changes
事件。接下来,Ctrl + b
将完成工作!
从哪里开始?
我开发了一种VSIX,可以监视文件夹以自动在VS UI外部加载特定的生成文件。查看源代码,您将对项目的文件管理有所了解。它以EnvDTE API为基础,请查看this代码段。
另外,请检查here中的源项目
答案 6 :(得分:1)
在 VS Code 环境中为 ASP.NET Core 项目(web、mvc 等)自动创建的任务之一称为“观察”。要检查这一点,从“.vscode”文件夹中,打开文件tasks.json,您将看到3个任务配置:“build”、“publish”和“watch”。默认情况下,launch.json 中使用“build”。然后,您可以进入 launch.json 的“配置”部分并查找“preLaunchTask”,然后您可以将任务更改为“watch”。就是这样。当您运行 Web 应用程序时,热重载将处于活动状态。 问候。
答案 7 :(得分:0)
按照Microsoft页面上指示的步骤进行操作。 https://docs.microsoft.com/fr-fr/aspnet/core/client-side/using-browserlink?view=aspnetcore-3.1
现在,当您在代码上按Ctrl + Maj + enter进行更改时,所有内容都会保存并在浏览器中实现。