22
votes

erreur obtenue "La tâche" RazorGenerate "a échoué de manière inattendue.". Après la mise à jour vers VS 16.8 et la mise à niveau vers .net 5 .. la cible de la version principale est Core

entrez la description de l'image ici

Lorsque Build Project. Erreur La tâche "RazorGenerate" a échoué de manière inattendue. .Net Core 2.2


6 commentaires

Pouvez-vous partager le fichier de projet du projet qui rencontre un problème?


Non désolé car c'est confidentiel


Vous pouvez essayer d'ajouter <PackageReference Include="Microsoft.AspNetCore.Razor.Design" Version="2.1.2" PrivateAssets="All"/> dans votre fichier de projet.


correction de bogue ... je supprime tous les fichiers et cloné à nouveau


Heureux que vous puissiez le résoudre


Remarque: j'ai commencé à avoir ce problème avec deux webapps ASP.NET Core ciblant net472, seulement APRÈS avoir mis à jour VS vers 16.8 (16.8.1 dans ce cas). La réponse @RobPowell l'a résolu.


3 Réponses :


23
votes

Le correctif pour moi était d'introduire une nouvelle variable d'environnement système avec la clé «DOTNET_HOST_PATH» et la valeur «dotnet», puis de redémarrer Visual Studio.


6 commentaires

Cela a résolu pour moi. Je me demande pourquoi la mise à jour n'a plus ajouté cette variable!?


Il tente même de vous dire dans l'exception: Erreur MSB4018 La tâche "RazorTagHelper" a échoué de manière inattendue. System.InvalidOperationException: DOTNET_HOST_PATH n'est pas défini sur Microsoft.AspNetCore.blah ...


N'a pas travaillé pour moi


En fait, cela fonctionnait si vous définissez la variable d'environnement dans le système d'exploitation, pas dans le projet.


@mgPePe, j'utilisais des variables d'environnement système, je modifierai ma réponse pour clarifier, merci.


Je crois que les variables d'environnement du projet sont uniquement pour le programme tel qu'il est en cours d'exécution, pas pour le système effectuant la compilation.



19
votes

J'ai fait 3 étapes pour le faire construire ET pour que la variable (~ /) fonctionne.

  1. Ouvrez cmd et écrivez ceci: setx DOTNET_HOST_PATH "% ProgramFiles% \ dotnet \ dotnet.exe"
  2. Ouvrez C: \ Program Files \ dotnet \ sdk ici supprimez le dossier: NuGetFallbackFolder
  3. Redémarrez votre PC!

4 commentaires

La simple suppression de NuGetFallbackFolder a fonctionné pour moi après la mise à jour vers VS 2019 Pro 16.8.1, n'a pas redémarré le PC mais a redémarré VS. Merci!


J'ai dû suivre les 3 étapes pour que la mienne fonctionne après la mise à jour vers VS 2019 16.8.1. De plus, il fallait avoir des références manuellement via NuGet pour Newtonsoft.Json. N'a pas eu à redémarrer le PC.


Voir ce qui suit de Microsoft. C'est fondamentalement la même chose ... developercommunity.visualstudio.com/content/problem/1224054/‌…


maintenant ça marche! merci @Yasser vous êtes un sauveur.



1
votes

Cela a fonctionné sur le serveur de construction, après avoir ajouté ce package Nuget:

Microsoft.NET.Sdk.Razor

Depuis que j'ai ajouté le package Net.SDK.Razor, il se construit avec succès.

J'avais également ajouté Microsoft.AspNetCore.Razor.Design, mais seul Microsoft.NET.Sdk.Razor est réellement nécessaire.


1 commentaires

Cela a fonctionné pour moi