Jak automatycznie ponownie ładować projekt .NET Core w Visual Studio 2019?

11

Staram się automatycznie ponownie ładować ASP.NET Core Project tak samo jak Angular z Node lub NPM.

Oznacza to, że zmieniam kod .NET Core Project i zapisuję. Ten czas automatycznie wywołuje bezpośredni efekt w przeglądarce i automatycznie ładuje stronę ponownie w przeglądarce.

Akash Limbani
źródło
Nie jestem do końca pewien, co masz na myśli mówiąc o przeładowaniu, ale ogólnie nie możesz zmienić kodu w czasie wykonywania.
Yasser Jarouf
@YasserJarouf, nie mówię o tym w studiu wizualnym 2019.
Akash Limbani
Projekty ASP.NET Core Angular już ładują kod po stronie klienta - Angular, nie tylko same asAngular. Program ASP.NET Core służy do udostępniania interfejsów API i stron innych niż SPA.
Panagiotis Kanavos
Jakieś inne sposoby, na przykład połączyć pakiet instalacyjny npm z projektem ASP.NET Core?
Akash Limbani,

Odpowiedzi:

5

Myślę, że zegarek dotnet powinien działać. Zobacz dokumentację z linku, ponieważ istnieją różne opcje.

  1. Dodaj Microsoft.DotNet.Watcher.Tools do sekcji narzędzi pliku project.json
  2. Uruchom przywracanie dotnet
  3. Wykonaj z uruchomieniem zegarka dotnet
PrinceT
źródło
Ale używając tego, nie jestem w stanie automatycznie przeładować jak Angular. Gdybym nacisnął ctrl + s , tym razem nie będzie żadnej akcji działającej w przeglądarce. Dziękuję za udzielenie odpowiedzi.
Akash Limbani,
musisz uruchomić aplikację za pomocą wiersza polecenia i dodać szczegóły oglądania w projekcie. json
PrinceT
Lub możesz po prostu użyć mojego profilu uruchamiania podanego w mojej odpowiedzi.
GrowSing
Tak, zrobiłem to. Sprawdzam za pomocą tej komendy dotnet watch watch.
Akash Limbani,
Możesz zobaczyć zmiany w konsoli .. kiedy próbujesz uruchomić .. czy możesz coś zobaczyć?
PrinceT,
3

Zgodnie z tym wymaganiem musimy uruchomić aplikację .net core, podobnie jak Angular, ładując strony i zawartość automatycznie bez wbudowanego i ręcznego odświeżania.

Przeprowadziłem badania i doświadczyłem przez ponad 7+ lat jako programista .net pracujący jako starszy zasób w firmie programistycznej ASP.NET, że automatyczne przeładowanie nie jest możliwe w podstawowym projekcie ASP.NET. Jednak odnieśliśmy sukces, w naszym rozwiązaniu używamy zegarka dotnet, który monitoruje pliki źródłowe, a jeśli plik się zmienia, wyłącza uruchomioną aplikację, odbudowuje i publikuje projekt, a następnie uruchamia ponownie aplikację, musimy tylko odśwież stronę ręcznie w przeglądarce, aby uzyskać zmiany dokonane w aplikacji, nie musimy budować ani uruchamiać projektu.

Kroki, które należy wykonać, aby korzystać z asp.net watch:

1) Podstawowa aplikacja Create.Net.

2) Otwórz okno poleceń w folderze projektu sieci Web

3) Rodzaj dotnet watch run

4) Otwórz przeglądarkę i przejdź do interfejsu API lub strony

5) Zmień kod źródłowy

6) Zapisz plik

7) Wróć do przeglądarki i odśwież ręcznie

8) Powinieneś zobaczyć zmianę odzwierciedloną

Kristy Davis
źródło
Jak to zrobić w Visual Studio 2019?
Akash Limbani
2

Możesz użyć dotnet watch. Mianowicie. Dokumenty

Utworzyłem niestandardowy profil lunchu, aby ułatwić uruchamianie w VS.

"Watch": {
  "executablePath": "dotnet.exe",
  "workingDirectory": "$(ProjectDir)",
  "commandLineArgs": "watch run",
  "launchBrowser": false,
  "launchUrl": "http://localhost:5000/",
  "environmentVariables": {
    "ASPNETCORE_ENVIRONMENT": "Development"
  }
}
Rosnące
źródło
Za pomocą tego, nie przeładowuje się automatycznie w przeglądarce jak Angular.
Akash Limbani,
Czy możesz uruchomić projekt Angular?
Akash Limbani,
2

uruchom to polecenie w konsoli projektu

dotnet watch run

to samo działa dla kodu Visual Studio

Amir Dora
źródło
1

Powinieneś pomyśleć trzykrotnie, zanim przejdziesz do tej opcji. (1) Jest to pochłaniające zasoby. Ponieważ wymaga to automatycznej kompilacji, jako operacji wstępnej, zmodyfikowanego projektu, a czasem całego rozwiązania. (Wyobraź sobie średnie lub ogromne rozwiązanie Asp.net złożone z wielu projektów, buduj dla każdej wykonanej modyfikacji !! ile czasu pozostało do zaprogramowania ??? !!) (2), jak wiesz, ponowne ładowanie strony zużywa dużo czas na pierwsze uruchomienie po udanej kompilacji !! ... Dlatego czas, który chcesz zyskać dzięki tej opcji, zmarnujesz wiele, zwłaszcza języków programowania opartych na CLR (np. .NET Core). I wreszcie (3) oczekuje się, że Twój projekt będzie musiał opracować próbki testowe, które mogą być wstrzykiwane automatycznie w celu lepszego procesu automatyzacji, wyobraź sobie, jakie to trudne!

Zamiast tego spróbuj przetestować rozwiązanie w jednostce, a następnie oczekuje się, że każda kolejna modyfikacja będzie powierzchowna i nie będzie występować zbyt często.

Jeśli nie zgadzasz się z moją propozycją, sugeruję opracowanie rozszerzenia visual studio, które lepiej ładuje docelową stronę internetową on-buildniż on-save-changeswydarzenie. Następnie Ctrl + bwykona zadanie!

Gdzie zacząć?

Opracowałem VSIX, który obserwuje foldery w celu ładowania automatycznie generowanych plików poza interfejsem VS UI. sprawdź kod źródłowy, będziesz miał pojęcie o zarządzaniu plikami projektu. obraca się w EnvDTE API, zajrzyj do tego fragmentu kodu.

Sprawdź również projekt źródłowy stąd

AbuDawood
źródło