Comment recharger automatiquement un projet .NET Core dans Visual Studio 2019?

11

J'essaie de recharger automatiquement ASP.NET Core Project comme Angular avec Node ou NPM.

Cela signifie que je change le code du projet .NET Core et enregistre. Cette fois, l'effet direct directement dans le navigateur et le rechargement automatique de la page Web dans le navigateur.

Akash Limbani
la source
Je ne sais pas exactement ce que vous entendez par recharger, mais en général, vous ne pouvez pas modifier le code lors de l'exécution.
Yasser Jarouf
@YasserJarouf, je ne parle pas de In the visual studio 2019.
Akash Limbani
Les projets ASP.NET Core Angular rechargent déjà le code côté client - ils sont Angular, pas seulement same asAngular. ASP.NET Core est utilisé pour fournir les API et les pages non SPA.
Panagiotis Kanavos
De toute autre manière, comme combiner l'installation du package npm avec le projet ASP.NET Core?
Akash Limbani

Réponses:

5

Je pense que cette montre dotnet devrait fonctionner. Voir la documentation du lien car il existe différentes options.

  1. Ajoutez Microsoft.DotNet.Watcher.Tools à la section outils du fichier project.json
  2. Exécutez la restauration dotnet
  3. Exécuter avec dotnet watch run
PrinceT
la source
Mais en utilisant cela, je ne peux pas recharger automatiquement comme Angular. Si j'ai appuyé sur ctrl + s , cette fois, aucune action ne fonctionnait dans le navigateur. Merci d'avoir répondu.
Akash Limbani
vous devez exécuter votre application à l'aide de l'invite de commande et ajouter des détails de surveillance dans le projet. json
PrinceT
Ou vous pouvez simplement utiliser mon profil de lancement que j'ai fourni dans ma réponse ..
GrowSing
Oui je l'ai fait. Je vérifie en utilisant cette commande dotnet watch run.
Akash Limbani
Vous pouvez voir les changements dans la console .. lorsque vous essayez d'exécuter .. pouvez-vous voir quelque chose?
PrinceT
3

Selon cette exigence, nous devons exécuter l'application de base .net tout comme l'application Angular, en chargeant les pages et le contenu automatiquement sans actualisation intégrée et manuelle.

J'avais fait des recherches et expérimenté au cours de mes 7 ans et plus en tant que développeur .net travaillant comme ressource principale dans une société de développement ASP.NET, le rechargement automatique n'est pas possible dans le projet principal ASP.NET. Cependant, nous avons obtenu le succès, dans notre solution, nous utilisons dotnet watch qui surveille les fichiers source et si un fichier change, arrête l'application qu'il a démarrée, reconstruit et publie le projet, puis redémarre l'application, nous avons juste besoin de actualiser la page manuellement dans le navigateur pour obtenir les modifications apportées dans l'application, nous n'avons pas besoin de construire ou de démarrer le projet.

Étapes à suivre pour utiliser la montre asp.net:

1) Application principale de Create.Net.

2) Ouvrez une fenêtre de commande dans le dossier de votre projet Web

3) Type dotnet watch run

4) Ouvrez votre navigateur et accédez à une API ou une page

5) Modifiez le code source

6) Enregistrez le fichier

7) Revenez au navigateur et actualisez manuellement

8) Vous devriez voir le changement reflété

Kristy Davis
la source
Comment faire dans Visual Studio 2019?
Akash Limbani
2

Vous pouvez utiliser dotnet watch. Viz. Documents

J'ai créé un profil de déjeuner personnalisé pour le rendre plus facile à exécuter dans VS.

"Watch": {
  "executablePath": "dotnet.exe",
  "workingDirectory": "$(ProjectDir)",
  "commandLineArgs": "watch run",
  "launchBrowser": false,
  "launchUrl": "http://localhost:5000/",
  "environmentVariables": {
    "ASPNETCORE_ENVIRONMENT": "Development"
  }
}
GrowSing
la source
En utilisant cela, ne se recharge pas automatiquement dans le navigateur comme Angular.
Akash Limbani
Pouvez-vous exécuter un projet angulaire?
Akash Limbani
2

exécutez cette commande dans la console du projet

dotnet watch run

mêmes travaux pour le code visuel de studio

Amir Dora
la source
1

Vous devriez penser triple avant de passer à cette option. (1) C'est un consommateur de ressources. Comme cela nécessite la construction automatique, en pré-opération, du projet modifié et parfois de la solution entière. (Imaginez un moyen à une énorme solution Asp.net composée de nombreux projets, faites-vous construire pour chaque modification effectuée !! combien de temps reste à programmer ??? !!) (2), comme vous le savez, le rechargement de la page consomme beaucoup temps pour le premier lancement après une construction réussie !! ... Par conséquent, le temps que vous voulez gagner avec cette option vous fera perdre plusieurs fois, en particulier les langages de programmation basés sur CLR (par exemple .NET Core). Et enfin, (3) votre projet devrait avoir besoin de développer des échantillons de test qui peuvent être injectés automatiquement dans la vue pour un meilleur processus d'automatisation, imaginez à quel point c'est difficile!

Au lieu de cela, essayez de tester votre solution à l'unité, puis, toute modification suivante devrait être superficielle et faible.

Si vous n'êtes pas d'accord avec ma proposition, je suggère de développer une extension Visual-Studio qui rechargerait mieux la page Web cible on-buildplutôt qu'un on-save-changesévénement. Ensuite, Ctrl + bfera le travail!

Où commencer?

J'ai développé un VSIX qui surveille les dossiers pour charger automatiquement des fichiers générés spécifiques en dehors de l'interface utilisateur VS. vérifiez le code source vous aurez une idée de la gestion des fichiers du projet. il tourne dans l'API EnvDTE, veuillez jeter un œil à ce morceau de code.

Vérifiez également le projet source d' ici

AbuDawood
la source