0
votes

Échafaudage de pages de rasoir: aucun générateur de code trouvé avec le nom `` razorpage ''

J'essaie d'ajouter un échafaudage pour une nouvelle page dans mon projet Razor Pages. Cependant, je continue à obtenir la sortie suivante dans le scaffolder ASP.NET Core:

Checking if needed NuGet packages are already installed…
Building project…
Running /Users/lukeengland/Projects/AssetManager2/AssetManager2/obj/dotnet-aspnet-codegenerator --configuration "Debug" --project "/Users/lukeengland/Projects/AssetManager2/AssetManager2/AssetManager2.csproj" razorpage --model User --dataContext NewUserContext  --referenceScriptLibraries  --useDefaultLayout --no-build -outDir "/Users/lukeengland/Projects/AssetManager2/AssetManager2/Pages/Users2" --namespaceName AssetManager2.Pages.Users2 --useSqlite 
Finding the generator 'razorpage'...
No code generators found with the name 'razorpage'
   at Microsoft.VisualStudio.Web.CodeGeneration.CodeGeneratorsLocator.GetCodeGenerator(String codeGeneratorName)
   at Microsoft.VisualStudio.Web.CodeGeneration.CodeGenCommand.Execute(String[] args)
RunTime 00:00:03.28
No code generators found with the name 'razorpage'

Cela se produit lorsque vous essayez de créer un échafaudage à l'aide de n'importe quel modèle de mon projet. J'ai pu créer des échafaudages pour certaines pages il y a quelques semaines, donc je ne suis pas sûr de ce qui a changé depuis. Toutes les suggestions grandement appréciées

PS: j'utilise Microsoft Visual Studio 2019 sur un Mac


4 commentaires

Pouvez-vous nous indiquer la version de votre application principale Asp.net? Et quelle version de dotnet-aspnet-codegenerator et de Microsoft.VisualStudio.Web.CodeGeneration.Design utilisez-vous? Peut-être que le problème est lié à dotnet-aspnet-codegenerator et à Microsoft.VisualStudio.Web.CodeGeneration.Design , essayez de les réinstaller.


J'utilise la version 3.1.4 de Microsoft.VisualStudio.Web.CodeGeneration.Design. Dans le menu Frameworks, il est indiqué que Microsoft.AspNetCore.App est la version 3.1.8


Je viens d'essayer de réinstaller les packages CodeGeneration et CodeGenerationDesign mais le problème persiste


Si vous utilisez la boîte de dialogue Scaffolding de VisualStudio pour ajouter la page de rasoir, comme ce didacticiel ? D'après ce tutoriel, j'ai créé un nouvel échantillon à tester, il semble que tout fonctionne bien. Si cela ne fonctionne toujours pas, essayez d'exécuter la commande dotnet aspnet-codegenerator -h , si la commande n'a pas pu s'exécuter, essayez d'utiliser la commande suivante pour installer aspnet-codegenerator dans global: dotnet tool install --global dotnet-aspnet-codegenerator


3 Réponses :


0
votes

J'ai exactement la même erreur sur VS Mac et la version de «dotnet-aspnet-codegenerator» et «Microsoft.VisualStudio.Web.CodeGeneration.Design». Au lieu d'utiliser l'assistant VS, l'utilisation de dotnet CLI semble capable de contourner et de créer tous les fichiers d'échafaudage, mais devra voir si cela fonctionne vraiment ...

s'il vous plaît essayez:

dotnet aspnet-codegenerator --configuration "Debug" --project "/Users/lukeengland/Projects/AssetManager2/AssetManager2/AssetManager2.csproj" razorpage --model User --dataContext NewUserContext  --referenceScriptLibraries  --useDefaultLayout --no-build -outDir "/Users/lukeengland/Projects/AssetManager2/AssetManager2/Pages/Users2" --namespaceName AssetManager2.Pages.Users2 --useSqlite


0 commentaires

0
votes

J'ai eu le même problème sur Ubuntu en utilisant l'outil d'échafaudage CLI. La solution de contournement pour moi était de rétrograder le SDK (et) vers la version 3.1.301 , comme indiqué dans ce commentaire github :

sudo apt install dotnet-sdk-3.1=3.1.301-1
dotnet tool install --global dotnet-aspnet-codegenerator --version 3.1.3 


0 commentaires

0
votes

Le même problème m'est arrivé en essayant de créer un échafaudage EF de page rasoir à l'aide de Visual Studio pour Mac avec le dernier .NET 5.

dotnet aspnet-codegenerator --configuration "Debug" --project "/Users/Max/Repos/VSProjects/WebApplication/WebApplication/WebApplication.csproj" razorpage --model Movie --dataContext WebApplication.Data.WebApplicationContext  --referenceScriptLibraries  --useDefaultLayout --no-build -outDir "/Users/Max/Repos/VSProjects/WebApplication/WebApplication/Models" --namespaceName WebApplication.Models --useSqlite 

J'ai pu créer l'échafaudage en exécutant la CLI dotnet

Finding the generator 'razorpage'...
No code generators found with the name 'razorpage'
   at Microsoft.VisualStudio.Web.CodeGeneration.CodeGeneratorsLocator.GetCodeGenerator(String codeGeneratorName)
   at Microsoft.VisualStudio.Web.CodeGeneration.CodeGenCommand.Execute(String[] args)
RunTime 00:00:03.76

No code generators found with the name 'razorpage'


0 commentaires