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
3 Réponses :
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
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
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'
Pouvez-vous nous indiquer la version de votre application principale Asp.net? Et quelle version de
dotnet-aspnet-codegenerator
et deMicrosoft.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