私は自動的に再読み込みを試みますASP.NET Core Project Angular with Node or NPM。
つまり、.NET Core Projectのコードを変更して保存します。そのとき、ブラウザで自動的に効果を導き、ブラウザで自動的にWebページを再読み込みします。
Dotnet時計はうまくいくと思います。さまざまなオプションがあるため、 link のドキュメントを参照してください。
- Microsoft.DotNet.Watcher.Toolsをproject.jsonファイルのtoolsセクションに追加します
- Dotnet復元を実行する
- Dotnet watch runで実行する
この要件によれば、Angularアプリケーションのように.netコアアプリケーションを実行し、ビルドおよび手動更新を行わずにページとコンテンツを自動的にロードする必要があります。
ASP.NET開発会社 でASP.NETコアプロジェクトでは自動リロードは不可能であるというシニアリソースとして働く.net開発者として、7年以上の経験と経験を積みました。しかし、成功しました。このソリューションでは、ソースファイルを監視し、ファイルが変更された場合、開始したアプリケーションをシャットダウンし、プロジェクトを再ビルドして公開し、アプリケーションを再起動するドットネットウォッチを使用しています。アプリケーションで行われた変更を取得するためにブラウザで手動でページを更新します。プロジェクトをビルドまたは開始する必要はありません。
Asp.netウォッチを使用するための手順:
1)Create.Netコアアプリケーション。
2)Webプロジェクトのフォルダーでコマンドウィンドウを開きます
3)タイプdotnet watch run
4)ブラウザを開き、APIまたはページに移動します
5)ソースコードを変更する
6)ファイルを保存します
7)ブラウザに戻り、手動で更新します
8)変更が反映されているはずです
Dotnet watchを使用して、ソースコードを再コンパイルします。 Visual Studioの「保存時にブラウザーの再読み込み」でブラウザーリンクを使用して、すべてのブラウザーを再読み込みします。 https://marketplace.visualstudio.com/items?itemName=MadsKristensen.BrowserReloadonSave
dotnet watch
を使用できます。 Viz。 ドキュメント
VSで簡単に実行できるように、カスタムランチプロファイルを作成しました。
"Watch": {
"executablePath": "dotnet.exe",
"workingDirectory": "$(ProjectDir)",
"commandLineArgs": "watch run",
"launchBrowser": false,
"launchUrl": "http://localhost:5000/",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
}
このオプションに進む前に、トリプルを考える必要があります。 (1)リソースを消費します。変更されたプロジェクトと場合によってはソリューション全体の事前構築として、自動ビルドが必要になるため。 (多くのプロジェクトで構成された中規模から巨大なAsp.netソリューションを想像してください。変更が行われるたびにビルドされます!!プログラミングに残っている時間はどれくらいですか??? !!)(2)ご存じのとおり、ページのリロードは多くのビルドが成功した後の最初の起動の時間!! ...したがって、このオプションから得たい時間は、特にCLRベースのプログラミング言語(.NET Coreなど)で無駄になります。最後に、(3)プロジェクトは、自動化プロセスを改善するためにビューに自動的に注入できるテストサンプルを開発する必要があると予想されます。
代わりに、ソリューションを単体テストしてみてください。そうすると、次の変更は表面的で発生が少ないと予想されます。
私の提案に同意できない場合は、ターゲットのWebページをより適切に再ロードするvisual-studio拡張機能を開発することをお勧めしますon-build
ではなくon-save-changes
イベント。次、 Ctrl + b
仕事をします!
どこから始めますか?
私は、VS UIの外で特定の生成されたファイルを自動的にロードするためにフォルダーを監視するVSIXを開発しました。あなたがプロジェクトのファイル管理についてのアイデアを持っているソースコードを確認してください。それはEnvDTE APIで展開されます。 this のコードをご覧ください。
また、ソースプロジェクトを here から確認します