c# - reconoce - dotnet new webapi name
No se encontraron ejecutables que coincidan con el comando ''dotnet-aspnet-codegenerator'' " (12)
- Tuve que agregar lo siguiente a mi archivo CSProj:
<ItemGroup>
<DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools.DotNet" Version="1.0.0-msbuild3-final" />
<DotNetCliToolReference Include="Microsoft.Extensions.SecretManager.Tools" Version="1.0.0-msbuild3-final" />
<DotNetCliToolReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Tools" Version="1.0.0-msbuild3-final" />
</ItemGroup>
-
Después de agregar que instalé CodeGenerators.Mvc con el administrador de paquetes nuget.
-
Todavía recibía un error que decía que no podía encontrar algún archivo en la carpeta MCD, así que tuve que copiar y pegar toda la carpeta bin / Debug / netcoreapp1.1 en bin / MCD / Debug / netcoreapp1.1
Corrí el andamio y funcionó!
Cuando intento agregar un controlador en un proyecto ASP.NET Core con Visual Studio 15 Enterprise con la actualización 3, aparece el siguiente error:
"The was an error running the selected code generator: No executables found matching command ''dotnet-aspnet-codegenerator''"
Acabo de escribir en Linux:
~/.dotnet/tools/dotnet-aspnet-codegenerator razorpage -m Movie -dc RazorPagesMovieContext -udl -outDir Pages/Movies --referenceScriptLibraries
Entonces, no comencé con ''dotnet'' (mi versión actual: 2.2.300)
No me gusta esta solución, pero funcionó.
Agregue lo siguiente a su project.json:
Bajo dependencias:
"Microsoft.VisualStudio.Web.CodeGenerators.Mvc": {
"version": "1.0.0-preview2-final",
"type": "build"
}
Debajo de herramientas:
"Microsoft.VisualStudio.Web.CodeGeneration.Tools": {
"version": "1.0.0-preview2-final",
"imports": [
"portable-net45+win8"
]
}
- El número de versión puede cambiar según la versión de .NET Core que esté usando en su proyecto
- Es posible que reciba otro error acerca de la falta de Microsoft.DotNet.InternalAbstraction, en cuyo caso deberá obtener NuGet
- Asegúrese de que la versión "Microsoft.VisualStudio.Web.CodeGeneration.Tools" en las dependencias coincida con la versión "Microsoft.VisualStudio.Web.CodeGeneration.Tools" en las herramientas
En Visual Studio Code, cambie su yourproject.csproj
<pre>
<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.App" />
<PackageReference Include="Microsoft.AspNetCore.Razor.Design" Version="2.1.2" PrivateAssets="All" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite" Version="2.1.4" />
<PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="2.1.6" PrivateAssets="All" />
<PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Tools" Version="2.0.4" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools.DotNet" version= "2.1.0-preview1-final" />
<PackageReference Include="Microsoft.Extensions.SecretManager.Tools" version= "2.0.2" />
<PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Tools" Version="2.0.4" />
</ItemGroup>
<ItemGroup>
<DotNetCliToolReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Tools" Version="2.0.2" />
<DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools.DotNet" version="2.1.0-preview1-final" />
</ItemGroup>`enter code here`
</pre>
En dotnet core 2.1.1 esperaría que la situación haya cambiado y es posible que no necesite agregar mucho. Lamento molestarlo, pero la situación es la misma y todo lo que necesita hacer ahora es actualizar su versión de la herramienta o paquete que desea utilizar.
<ItemGroup>
<DotNetCliToolReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Tools" Version="2.0.4" />
</ItemGroup>
Esto funcionó para mí.
Espero que funcione para todos los que se quedan atrapados aquí.
Tenga en cuenta que la referencia clave es
DotNetCliToolReference
no
PackageReference
Encontré el mismo problema en Visual Studio Mac Community Edition 2017. Antes de ejecutar el comando
scaffold
desde el directorio del proyecto, asegúrese de que el directorio tenga los
Program.cs
,
Startup.cs
y
.csproj
.
si no, entonces ejecute el comando
ls-al
y luego
cd
en el directorio del proyecto que estaría dentro de su directorio actual del proyecto y luego ejecute el comando
scaffold
.
Un error obvio que muchos pasan por alto.
Para VS 2015, en el archivo project.json:
bajo dependencias agregar -
"Microsoft.VisualStudio.Web.CodeGeneration.Tools": {
"version": "1.0.0-preview2-final",
"imports": [
"portable-net45+win8"
]
},
"Microsoft.VisualStudio.Web.CodeGenerators.Mvc": "1.0.0-preview2-final"
luego en herramientas agregue
"Microsoft.VisualStudio.Web.CodeGeneration.Tools": {
"version": "1.0.0-preview2-final",
"imports": [
"portable-net45+win8"
]
}
Para la última versión, en project.json agregue lo siguiente en dependencias:
"Microsoft.VisualStudio.Web.CodeGeneration.Tools": {
"version": "1.1.0-preview4-final",
"type": "build"
},
"Microsoft.VisualStudio.Web.CodeGenerators.Mvc": {
"type": "build",
"version": "1.1.0-preview4-final"
}
y lo siguiente en herramientas:
"Microsoft.VisualStudio.Web.CodeGeneration.Tools": {
"version": "1.1.0-preview4-final",
"imports": [
"portable-net45+win8"
]
}
Si está utilizando Mac (OS X) o cualquier distribución compatible de Linux, debe ejecutar:
dotnet tool install --global dotnet-aspnet-codegenerator --version 2.2.3
Además, en Mac agregué a mi
.zshrc
(o equivalente de bash)
export PATH=$HOME/.dotnet/tools:$PATH
Y tuve que asegurarme de reiniciar la Terminal.
Si usa csproj (Visual Studio 2017) en lugar de project.json, debe agregar lo siguiente a su archivo csproj:
<ItemGroup>
<DotNetCliToolReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Tools" Version="1.0.1" />
</ItemGroup>
Simplemente agregue la etiqueta ''DotNetCliToolReference'' y el diseño del código del paquete en .csproj y ejecute el comando code-generate en la solución raíz . Eso me funcionó.
.csproj
<ItemGroup> <DotNetCliToolReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Tools" Version="2.0.3" /> </ItemGroup>
<ItemGroup> ... <PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="2.0.3" /> </ItemGroup>
Comando
PS C:/Users/miche/projetos/asp_net_core/crud> dotnet aspnet-codegenerator controller -name ProdutosController -m Produto -dc AppDataContext --relativeFolderPath Controllers --useDefaultLayout --referenceScriptLibraries
No olvide crear y restaurar la solución después de agregar el paquete;)
Una respuesta más sólida que copiar números de versión en su archivo de configuración es usar NuGet para asegurarse de que los paquetes se agreguen a su proyecto.
Herramientas -> Administrador de paquetes NuGet -> Administrar paquetes NuGet para la solución.
Primero, tener todo actualizado. Elija la pestaña Actualizaciones. Marque la casilla Actualizar todo y ejecútelo varias veces. No se sorprenda si algunas cosas degradan las primeras veces que ejecuta la actualización. Algunas dependencias parecen tener que ser manejadas secuencialmente. Me tomó alrededor de 5 actualizaciones para tener todo actualizado.
Luego, en la pestaña de
CodeGeneration.Tools
, busque
CodeGeneration.Tools
.
Instalarlo.
Haga lo mismo para
CodeGenerators.Mvc
.
A medida que encuentre mensajes de error adicionales, debería poder encontrar los paquetes que faltan en NuGet.