web-dev-qa-db-ja.com

失敗:Microsoft.AspNetCore.SpaServices [0]

Asp.netコア2.1 + Angular 6アプリケーション。私のStart.csファイル。我々は持っています

app.UseSpa(spa =>
        {
            // To learn more about options for serving an Angular SPA from ASP.NET Core,
            // see https://go.Microsoft.com/fwlink/?linkid=864501

            spa.Options.SourcePath = "ClientApp";

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

朝は、Visual Studioからasp.netコアアプリケーションを実行します(F5をクリックします)。ビルドモジュールでwebpackビルドがスタックしました。それは長い間scssファイルを構築し、そこでハングします。そのため、Webページはasp.netコアミドルウェア例外をスローします。

しかし、午後には別のエラーが発生しました。 Fail: Microsoft.AspNetCore.SpaServices[0]

ただし、npm startコマンドウィンドウで、次にdotnet run Visual Studioコード。それは結構です。

何をするか教えてください?

2
Bigeyes

自分で答えを見つけてください。まだ.NET-Coreのバグです。ページを更新(F5)すると問題が解決し、正常に機能します。 ( https://github.com/aspnet/JavaScriptServices/issues/1625

問題はまだ存在しますが、待っているだけでangularビルド、私の端から見ると、問題はビルド順序が原因であるようです。つまり、サーバー側のコードは、 angularコードなので、1、2秒待つとエラーが消えます。

別の方法として、サーバーを実行する場合、最初にwebpackがコンパイルを完了するまで待機してから、dotnet runコマンドを実行します。

0
Bigeyes

上記と同様のエラーが発生しましたが(失敗:Microsoft.AspNetCore.SpaServices [0])、dotnet CLI(バージョン3.0.100、Angular 8.0)の場合)。Angularプロジェクト-ビルド中にエラーは発生しませんでしたが、実行すると上記のエラーが発生しました。調査の10分後、実行中に次の問題が見つかりましたangularサーバー自体:

screenshot angular build error

これは、HomeComponentモジュールのパスが空だったためです。

screenshot missing module path in app.module.ts

このコードはdotnetツールによって自動生成されたので、なぜこれが省略されたのかわかりません。 HomeComponentモジュールはHomeフォルダーにあります。したがって、パスを追加すると問題が解決しました。

これは他の初心者にも役立ちます。

0
wkkhondkar