Visual Studio阻止了独立Angular项目的部署



我使用的是最新版本的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应用是优先的。这是不同的。

最新更新