【问题标题】:How can I get an ASP.NET Core Angular Template to Run without Errors如何让 ASP.NET Core Angular 模板运行而不会出现错误
【发布时间】:2021-12-10 17:53:12
【问题描述】:

我使用 Visual Studio for Mac (v8.4.8) 创建了一个新的 ASP.NET Core 3.1 Angular 项目,当我在调试模式下运行它时,显示以下异常:

"处理请求时发生未处理的异常

AggregateException:发生一个或多个错误。 (发生了一个或多个错误。(NPM 脚本“启动”退出,但没有表明 Angular CLI 正在侦听请求。错误输出是:)) System.Threading.Tasks.Task.GetResultCore(bool waitCompletionNotification)

InvalidOperationException:NPM 脚本“启动”退出,但未指示 Angular CLI 正在侦听请求。错误输出是: Microsoft.AspNetCore.SpaServices.AngularCliMiddleware.StartAngularCliServerAsync(string sourcePath, string npmScriptName, ILogger logger)

我尝试了以下方法来解决问题,但没有任何效果: 1. 在 ClientApp 上运行 NPM 安装(在 VS Code 中) 2. 将 ClientApp 升级到 Angular 9

我们将不胜感激任何可以提供的帮助来完成这项工作!

【问题讨论】:

  • 如果您希望有人帮助您找到错误,您需要发布您的代码。
  • 嗨,Carl,我还没有编写任何代码,我刚刚在 VS for Mac 中使用 ASP.NET Core Angular 模板创建了一个新项目。

标签: angular asp.net-core


【解决方案1】:

您的问题可能是您在开发环境中的“ASPNETCORE_ENVIRONMENT”变量。如果您查看 Startup.cs 文件,您会发现以下几行:

if (env.IsDevelopment())
{
   spa.UseAngularCliServer(npmScript: "start");
}

当您使用 developmentmen 变量将该代码上传到服务器时,无法再次启动 angular CLI,因此它会崩溃并给出错误消息。 或者您可以将其替换为:

#if DEBUG
    spa.UseAngularCliServer(npmScript: "start");
 #endif 

这样,变量为Develop时不会被激活,而是在本地执行时启动

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多