web-dev-qa-db-ja.com

Visual Studio 2019プロセスがシャットダウンしない、NodeJSの問題

私はWindows 10 Pro(10.0.18362)の新規インストールに取り組んでおり、Visual Studio 2019をセットアップして.NET Core 3.1 Web開発用に構成しようとしていますが、いくつかの問題が発生しています。

デフォルトのReact.js ASP.NET Core Webアプリケーションを作成し、プロジェクトを実行しました。 JavaScriptコードを更新した後、かなり長い間休止した後でブラウザーが更新されることを除いて、問題はないようです。物事は遅れているようです。

デフォルトのWebアプリからVisual Studio 2019を閉じた後(更新なし)、いくつかのプロセスがハングしているように見え、手動でシャットダウンする必要があります。

Visual Studio 2019 Processes

Node.js V12.4およびV13.6を手動でインストールすることに加えて、Visual Studioインストーラーによって提供されるNode.jsを使用してVisual Studio 2019をインストールしようとしましたが、同じ結果が得られました。

別の問題:npx create-react-app client-app --TypeScriptを使用してプロジェクトをJavaScriptからTypeScriptに更新すると、ホットアップデートが完全に機能しなくなります。しかし、JavaScriptコードを更新してブラウザを更新した後、更新されたように見えるため、再コンパイルしているように見えます。 FirefoxとChromeでデバッグを試みましたが、どちらも同じ結果になりました。

これらのプロセスでいくつかの問題が発生したため、このインストールで作業を続けるのは非常にためらっています。これらが予期せずハングしてシャットダウンされない場合、古いバージョンのコードが引き続き使用され、プロセスがシャットダウンされるまで何も行われず、完全に狂気になります。

回避策として実行する必要がある特定のインストール手順はありますか?または、NuGetパッケージまたはアドオンが不足している可能性がありますか?これはオペレーティングシステムの新規インストールなので、インストールする必要があるWindowsの機能はありますか?または、これを引き起こしている可能性がある他の構成/権限の変更?

このインストールの前は、Visual Studio 2017で作成されたプロジェクトのみが期待どおりに機能しているように見えました。しかし、私はこのサイトを.NET Core 3.0で開発する必要があり、Visual Studio 2019のみがサポートされているようです。

更新

いじくり回した後、Nodeが問題の原因になっているようです。手動でNodeプロセスをシャットダウンすると、Visual Studioが最終的にシャットダウンします。ただしVSCompilerやConsolesなどの他のプロセスが実行されたままになりますこれは、管理者としてVisual Studioを実行しても発生します。

Visual Studioの前にノードをインストールする必要がありますか? Visual StudioまたはNodeで正常に機能させるために実行する必要があるいくつかの設定はありますか?

更新2

修正が見つからなかった後、ディスクフォーマットを含めてWindowsを完全に再インストールし、Visual StudioとNode.jsのみをインストールしました。

これを行ったときに私が見つけた興味深い点の1つは、最初はVisual Studioのみをインストールし、「Web開発」と「NodeJS開発」の両方を選択したことです。しかし、何も変更せずに新しい.NET Core Webアプリケーションを実行しようとすると、Visual StudioのMsBuildsフォルダーでnode.exeを見つけることができたにもかかわらず、Node.jsがインストールされていないというエラーを受け取りました。

Visual Studioと他のすべてのコンポーネントを完全にアンインストールし、Node.jsをインストールしてからVisual Studioをインストールしましたが、問題は解決しません。 SPAテンプレートを使用してあらゆる種類のJavaScriptを実行しようとすると、Node.jsプロセスがシャットダウンしません。 Node.jsプロセスを強制終了すると、Visual Studioは最終的にシャットダウンしますが、手動でシャットダウンする必要があるConsole Window HostおよびVBCSCompilerを実行したままにします。

今回はAngularテンプレートを選択し、それがよりうまく機能することを除いて、新しい.NET Core Webアプリケーションの作成も試みました。ホットリロードは機能し、はるかに速く実行されているようです。しかし、プロセス- stillシャットダウンしない唯一の違いは、Node.jsプロセスを強制終了してもVisual Studioがシャットダウンしないことです。

更新3

また、これが役立つかどうかはわかりませんが、node.exeプロパティを「管理者としてこのプログラムを実行する」に設定して、権限の問題であるかどうかを確認しました。これは同じ結果をもたらしました。しかし、2つのウィンドウがポップアップすることに気づきました。最初に空白のウィンドウ、次に実際のAngularサーバーウィンドウです。

関連しているかどうかはわかりませんが、Angularアプリケーションをもう一度実行しようとすると、Angularが別の(ランダム)ポートを指しています)プロジェクトのデバッグ設定で設定されます。

私が気づいたことの1つは、通常のサーバーメッセージが出力ウィンドウに表示されないことです。 「サーバーが実行中です」などのnode.jsメッセージやその他のコンパイラメッセージを表示するために使用されていましたが、現在は.NET出力のみが表示されます。

更新4

近づいて、私はVisual StudioとNode.jsをアンインストールし、AppDatanode_modulesディレクトリから残っているVisual StudioとUser/Localフォルダーをすべて削除し、ディスクのクリーンアップを行いました。最後に、Visual Studioを再インストールし、インストーラを必ず管理者として実行し、Node.jsを再インストールしました。

私はVisual Studioを管理者として実行し、新しいAngular Appを作成しました。これで、Angularアプリは期待どおりに機能し、HMRは機能し、スムーズに動作しているようです。 exceptプロセスがまだハングしていること主な違いは、Microsoft Visual Studio 2019プロセスを強制終了するとすべてが強制終了するのに対し、以前はVBSCCompilerNode.js、およびコンソールを実行したままにすることです。

Reactアプリは正常に読み込まれますが、HMRは機能せず、プロセスも実行したままになります。メインのVisual Studioプロセスをシャットダウンすると、これらもクリーンアップされるようです。

6
Andy Braham

私はReact SPAで同じ問題を抱えていました、これは私のために働きました:

ツール->オプション->デバッグ->一般-> ASP.NET(Chrome、Edge、IE)のJavaScriptデバッグを有効にする(Visual Studio 2017および2019)<-オフ

また、再生ボタンの横にあるドロップダウン:

スクリプトのデバッグ->無効

0
htmn