如何在Visual Studio 2019中自动重新加载.NET Core项目?


11

我尝试使用Node或NPM 自动重新加载与Angular相同的ASP.NET Core Project。

这意味着,我更改.NET Core Project的代码并保存。这段时间会自动在浏览器中直接生效,并在浏览器中自动重新加载网页。


我不完全确定重新加载是什么意思,但是通常您无法在运行时更改代码。
Yasser Jarouf

@YasserJarouf,我说的不是在Visual Studio 2019
阿卡什Limbani

ASP.NET Core Angular项目已经重新加载了客户端代码-它们 Angular,而不仅仅是same asAngular。ASP.NET Core用于提供API和非SPA页面。
Panagiotis Kanavos

还有其他方法,例如将install npm软件包与ASP.NET Core项目结合在一起吗?
Akash Limbani

Answers:


5

我认为dotnet手表应该可以工作。请参阅链接中的文档,因为有多种选择。

  1. 将Microsoft.DotNet.Watcher.Tools添加到project.json文件的工具部分
  2. 运行dotnet restore
  3. 通过dotnet watch run执行

但是使用此功能,我无法像Angular一样自动重新加载。如果我按ctrl + s,那么此时浏览器中没有任何操作。感谢您的回答。
Akash Limbani

您必须使用命令提示符运行应用程序,并在项目中添加监视详细信息。json
PrinceT

或者,您也可以使用我在答案中提供的启动配置文件
。– GrowSing

是的,我做到了。我使用此dotnet watch run命令进行检查。
Akash Limbani

您可以在控制台中看到更改。.当您尝试运行..您可以看到任何东西吗?
PrinceT

3

根据此要求,我们需要像Angular应用程序一样运行.net核心应用程序,自动加载页面和内容,而无需构建和手动刷新。

我曾做过一些研究,在作为.net开发人员的7年以上经验中,我是ASP.NET开发公司的高级资源,在ASP.NET核心项目中无法自动重装。但是,我们已经取得了成功,在我们的解决方案中,我们使用了dotnet watch来监视源文件,如果文件发生更改,请关闭它启动的应用程序,重建并发布项目,然后重新启动该应用程序,那么我们只需要在浏览器中手动刷新页面以获取在应用程序中所做的更改,我们不需要构建或启动项目。

使用asp.net监视要遵循的步骤:

1)Create.Net核心应用程序。

2)在您的Web项目的文件夹中打开一个命令窗口

3)类型 dotnet watch run

4)打开浏览器并导航到API或页面

5)更改源代码

6)保存文件

7)返回浏览器并手动刷新

8)您应该看到反映的变化


在Visual Studio 2019中如何做?
Akash Limbani,

2

您可以使用dotnet watch。就是 文件

我创建了自定义午餐配置文件,以使其在VS中更容易运行。

"Watch": {
  "executablePath": "dotnet.exe",
  "workingDirectory": "$(ProjectDir)",
  "commandLineArgs": "watch run",
  "launchBrowser": false,
  "launchUrl": "http://localhost:5000/",
  "environmentVariables": {
    "ASPNETCORE_ENVIRONMENT": "Development"
  }
}

使用此功能,不会像Angular这样在浏览器中自动重新加载。
Akash Limbani

你可以运行Angular项目吗?
阿卡什·林巴尼



1

在进行此选择之前,您应该三思而后行。(1)这是一种资源消耗。由于它需要对修改后的项目(有时甚至整个解决方案)进行自动构建(作为预操作)。(想象一个由许多项目组成的中等到巨大的Asp.net解决方案,为每次执行的修改构建!!剩下多少时间进行编程??? !!!)(2),如您所知,页面重载会消耗很多成功构建后首次启动的时间!! ...因此,您要从该选项中受益的时间将浪费很多,尤其是基于CLR的编程语言(例如.NET Core)。最后,(3)预计您的项目需要开发可以自动注入的测试样本,以实现更好的自动化流程,想象这有多难!

相反,尝试对您的解决方案进行单元测试,然后,任何下一次修改都应该是肤浅且很少发生。

如果您不同意我的主张,建议您开发一个Visual Studio扩展程序,以更好地重新加载目标网页on-build而不是on-save-changes事件。接下来,Ctrl + b将完成工作!

从哪儿开始?

我开发了一种VSIX,可以监视文件夹以在VS UI外部自动加载特定的生成文件。查看源代码,您将对项目的文件管理有所了解。它以EnvDTE API为基础,请看一下这段代码。

另外,从这里检查源项目

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.