Microsoft.VisualStudio.Web.CodeGeneration.Design no se encuentra mediante la herramienta dotnet aspnet-codegenerator
Acabo de crear una aplicación MVC con dotnet new mvc --name test-project
( netcoreapp3.1
), sin ningún tipo de acceso e identidad a la base de datos, que me gustaría agregar a mano para fines de personalización. Luego agregué algunos paquetes para usar la dotnet aspnet-codegenerator
herramienta. Mi .csproj
aspecto es así:
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>netcoreapp3.1</TargetFramework>
<RootNamespace>test_project</RootNamespace>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="3.1.4" />
<PackageReference Include="Microsoft.AspNetCore.Identity.EntityFrameworkCore" Version="3.1.7" />
<PackageReference Include="Microsoft.AspNetCore.Identity.UI" Version="3.1.7" />
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="3.1.7" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="3.1.7">
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
<PrivateAssets>all</PrivateAssets>
</PackageReference>
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="3.1.7">
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
<PrivateAssets>all</PrivateAssets>
</PackageReference>
<PackageReference Include="Newtonsoft.Json" Version="12.0.3" />
<PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="3.1.4" />
<PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL.Design" Version="1.1.0" />
</ItemGroup>
</Project>
Como puede ver, Microsoft.VisualStudio.Web.CodeGeneration.Design
es el primero de la lista. Sin embargo, cuando intento ejecutar cualquier andamio desde la dotnet aspnet-codegenerator
herramienta (por ejemplo:) dotnet aspnet-codegenerator identity -h
, aparece el siguiente mensaje:
No code generators are available in this project.Add Microsoft.VisualStudio.Web.CodeGeneration.Design package to the project as a NuGet package reference.
Incluso si especifico el .csproj
archivo con la -p
bandera, sigo recibiendo el mismo mensaje. Mientras investigaba un poco, encontré este problema en su repositorio, pero es algo diferente: el OP estaba tratando de agregar el scaffolder a una aplicación .NET Core 3.0 usando la versión 3.1 del scaffolder.
Estoy usando dotnet 3.1.401 en Xubuntu 20.04.
¿Alguna idea? Gracias de antemano.
EDICIÓN 1 Algunas personas sugirieron que esto estaría cerca de lo que tenemos aquí , pero la cuestión es: sé lo que hace y de hecho agregué las "herramientas globales" sugeridas en ese artículo. El problema es aspnet-codegenerator
que no detecta que ya tengo la biblioteca que necesita para sus cosas, agregada al .csproj
archivo.
EDITAR 1
Aparentemente, hay un par de personas que también enfrentan este problema, así que presenté un problema en su repositorio.
Respuestas
Esto ya tiene unos meses, pero lo encontré recientemente para todos mis proyectos.
En caso de que alguien más aterrice en esta página, la solución en mi caso (MAC OS) fue desinstalar y reinstalar dotnet-aspnet-codegenerator
.
Ejecutar en terminal:
dotnet tool uninstall --global dotnet-aspnet-codegenerator
dotnet tool install --global dotnet-aspnet-codegenerator --version 3.1.4
Tema relacionado aquí