我使用的是最新版本的Visual Studio 2022,即17.2.6。
如果我创建了一个类型为的新项目"Standalond Typescript Angular project ">,不做任何修改,并尝试启动项目,然后它打开一个标题为的控制台窗口ngcc和(过了一会儿)显示以下内容:
> angularproject1@0.0.0 start
> ng serve
√ Browser application bundle generation complete.
Initial Chunk Files | Names | Size
vendor.js | vendor | 1.67 MB
polyfills.js | polyfills | 336.18 kB
styles.css, styles.js | styles | 212.40 kB
main.js | main | 53.50 kB
runtime.js | runtime | 6.87 kB
| Initial Total | 2.26 MB
Build at: 2022-07-16T15:17:53.888Z - Hash: ad802c438fec0f97 - Time: 12103ms
** Angular Live Development Server is listening on localhost:4200, open your browser on http://localhost:4200/ **
√ Compiled successfully.
此时,我可以在浏览器中打开地址http://localhost:4200/,它可以正确加载页面。
但是,Visual Studio在显示"Deploy started…"文本时卡住了。在状态栏
Visual Studio输出窗口有以下内容:
Build started...
1>------ Build started: Project: angularproject1, Configuration: Debug Any CPU ------
2>------ Deploy started: Project: angularproject1, Configuration: Debug Any CPU ------
如果我在控制台中中止程序,Visual Studio将显示消息
There were deployment errors. Continue?
在另一个场景中,我创建了一个包含两个新项目的解决方案:
- 标准Typescript Angular Project">
- "ASP。. NET Core Web API">
并使它们都启动项目(Web APU首先启动)。这是我真正想要使用的场景。
在这种情况下,我得到了完全相同的效果,但单一的"标准Typescript Angular Project"这似乎是重现问题的最简单的方法。
为什么Visual Studio在部署步骤中挂起?
编辑
我完全按照下一页的说明做了另一个测试:
https://learn.microsoft.com/en us/visualstudio/javascript/tutorial - asp网络核心——- angular?view=vs - 2022
行为相同,Visual Studio挂起等待部署完成。
编辑
根据微软的说法,这个问题在Visual Studio 2022版本17.6中得到修复
https://developercommunity.visualstudio.com/t/visual工作室- 2022块- - - - - - -等待de/10097068
有确切的问题。我的解决办法是安装一个不同的Node版本。
使用nvmNode I的版本管理器可以使用以下命令安装最新版本:
nvm install lts
在我的例子中,它安装了v16.16.0。然后我设置为当前使用:
nvm use v16.16.0
我在Visual Studio 2022中遇到了同样的行为。在我的解决方案中有两个Angular和两个api项目。我想启动它们,但其中一个卡住了,就像你提到的。
在我的例子中,原因是,在第二个angular项目中,我改变了端口。我发现,当您将ng server中的标准更改为与4200不同的值时,它将无法识别服务器已启动并正在运行。在我看来,他似乎正在检查这个港口。
好的,你写你用4200。在我的例子中,在多重启动中,angular应用是优先的。这是不同的。