Microsoft.VisualStudio.Web.CodeGeneration.Design não foi encontrado pela ferramenta dotnet aspnet-codegenerator
Acabei de criar um aplicativo MVC com dotnet new mvc --name test-project
( netcoreapp3.1
), sem qualquer tipo de acesso ao banco de dados e identidade, que gostaria de adicionar manualmente para fins de personalização. Então, adicionei alguns pacotes para usar a dotnet aspnet-codegenerator
ferramenta. Minha .csproj
aparência é esta:
<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 você pode ver, Microsoft.VisualStudio.Web.CodeGeneration.Design
é o primeiro da lista. No entanto, quando tento executar qualquer scaffolder da dotnet aspnet-codegenerator
ferramenta (por exemplo dotnet aspnet-codegenerator identity -h
:), recebo a seguinte mensagem:
No code generators are available in this project.Add Microsoft.VisualStudio.Web.CodeGeneration.Design package to the project as a NuGet package reference.
Mesmo se eu especificar o .csproj
arquivo com o -p
sinalizador, ainda recebo a mesma mensagem. Ao fazer algumas pesquisas, encontrei este problema no repositório, mas é uma coisa diferente: o OP estava tentando adicionar o scaffolder a um aplicativo .NET Core 3.0 usando a versão do scaffolder 3.1.
Estou usando o dotnet 3.1.401 no Xubuntu 20.04.
Alguma ideia? Agradeço antecipadamente.
EDIT 1 Algumas pessoas sugeriram que isso seria parecido com o que temos aqui , mas a questão é: eu sei o que faz e na verdade adicionei as "ferramentas globais" sugeridas naquele artigo. O problema é que aspnet-codegenerator
não estou detectando que já tenho a biblioteca necessária para suas coisas, adicionada ao .csproj
arquivo.
EDITAR 1
Aparentemente, algumas pessoas também estão enfrentando esse problema, então, eu apresentei um problema em seu repo
Respostas
Isso já tem alguns meses, mas eu encontrei recentemente para todos os meus projetos.
Caso alguém apareça nesta página, a solução no meu caso (MAC OS), foi desinstalar e reinstalar dotnet-aspnet-codegenerator
.
Executar no terminal:
dotnet tool uninstall --global dotnet-aspnet-codegenerator
dotnet tool install --global dotnet-aspnet-codegenerator --version 3.1.4
Tópico relacionado aqui