Estoy usando este tutorial de MSDN para ejecutar en VS2015 el comando PM> Add-Migration MyFirstMigration -context BloggingContext
que se ejecutó ayer con éxito, pero hoy da el siguiente error que también han señalado otros usuarios aquí . Incluso eliminé la carpeta Migraciones del explorador de soluciones y la base de datos correspondiente del SQL Express 2014 on Win 8.1
mismo error. Incluso si ejecuto Add-Migration MyFirstMigration
, obtengo el mismo error:
Add-Migration : The term 'Add-Migration' is not recognized as the name of a cmdlet, function, script file, or operable program.
Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
At line:1 char:1
+ Add-Migration MyFirstMigration -context BloggingContext
+ ~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (Add-Migration:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
Nota : Estoy usando la última versión de ASP.NET Core 1.0 y VS2015 - Actualización 3 lanzada el 27 de junio de 2016.
ACTUALIZAR
Los siguientes comandos funcionan bien desde el directorio del proyecto en el explorador de Windows cuando se usa la ventana de comandos:
> dotnet ef migrations add MyFirstMigration --context BloggingContext
> dotnet ef database update --context BloggingContext
ACTUALIZACIÓN 2a
A continuación se muestra el archivo project.json:
{
"userSecretsId": "aspnet-ASPCore_RTM_CodeFirst_test-bef835d9-9831-41a8-bc3a-cd2f1477a880",
"dependencies": {
"Microsoft.NETCore.App": {
"version": "1.0.0",
"type": "platform"
},
"Microsoft.AspNetCore.Authentication.Cookies": "1.0.0",
"Microsoft.AspNetCore.Diagnostics": "1.0.0",
"Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore": "1.0.0",
"Microsoft.AspNetCore.Identity.EntityFrameworkCore": "1.0.0",
"Microsoft.AspNetCore.Mvc": "1.0.0",
"Microsoft.AspNetCore.Razor.Tools": {
"version": "1.0.0-preview2-final",
"type": "build"
},
"Microsoft.AspNetCore.Server.IISIntegration": "1.0.0",
"Microsoft.AspNetCore.Server.Kestrel": "1.0.0",
"Microsoft.AspNetCore.StaticFiles": "1.0.0",
"Microsoft.EntityFrameworkCore.SqlServer": "1.0.0",
"Microsoft.EntityFrameworkCore.SqlServer.Design": {
"version": "1.0.0",
"type": "build"
},
"Microsoft.EntityFrameworkCore.Tools": "1.0.0-preview2-final",
"Microsoft.Extensions.Configuration.EnvironmentVariables": "1.0.0",
"Microsoft.Extensions.Configuration.Json": "1.0.0",
"Microsoft.Extensions.Configuration.UserSecrets": "1.0.0",
"Microsoft.Extensions.Logging": "1.0.0",
"Microsoft.Extensions.Logging.Console": "1.0.0",
"Microsoft.Extensions.Logging.Debug": "1.0.0",
"Microsoft.Extensions.Options.ConfigurationExtensions": "1.0.0",
"Microsoft.VisualStudio.Web.BrowserLink.Loader": "14.0.0",
"Microsoft.VisualStudio.Web.CodeGeneration.Tools": {
"version": "1.0.0-preview2-final",
"type": "build"
},
"Microsoft.VisualStudio.Web.CodeGenerators.Mvc": {
"version": "1.0.0-preview2-final",
"type": "build"
}
},
"tools": {
"BundlerMinifier.Core": "2.0.238",
"Microsoft.AspNetCore.Razor.Tools": "1.0.0-preview2-final",
"Microsoft.AspNetCore.Server.IISIntegration.Tools": "1.0.0-preview2-final",
"Microsoft.EntityFrameworkCore.Tools": "1.0.0-preview2-final",
"Microsoft.Extensions.SecretManager.Tools": "1.0.0-preview2-final",
"Microsoft.VisualStudio.Web.CodeGeneration.Tools": {
"version": "1.0.0-preview2-final",
"imports": [
"portable-net45+win8"
]
}
},
"frameworks": {
"netcoreapp1.0": {
"imports": [
"dotnet5.6",
"portable-net45+win8"
]
}
},
"buildOptions": {
"emitEntryPoint": true,
"preserveCompilationContext": true
},
"runtimeOptions": {
"configProperties": {
"System.GC.Server": true
}
},
"publishOptions": {
"include": [
"wwwroot",
"Views",
"Areas/**/Views",
"appsettings.json",
"web.config"
]
},
"scripts": {
"prepublish": [ "bower install", "dotnet bundle" ],
"postpublish": [ "dotnet publish-iis --publish-folder %publish:OutputPath% --framework %publish:FullTargetFramework%" ]
}
}
@bricelam
. ¿Qué me puedo perder?Respuestas:
Es tan simple.
Simplemente instale el
Microsoft.EntityFrameworkCore.Tools
paquete desde nuget:También puede utilizar este enlace para instalar la última versión: enlace del paquete Nuget
Comando .NET CLI:
fuente
Pruebe los siguientes pasos:
1) Abra el
project.json
archivo y elimine todas las referencias de Microsoft.EntityFrameworkCore.Tools de las secciones de dependencias y herramientas .2) Cierre la consola del administrador de paquetes ( PMC ) y reinicie Visual Studio
3) Agregar en la sección de dependencias :
4) Agregar en la sección de herramientas
5) Reinicie de nuevo Visual Studio 2015
6) Abra el PMC y escriba
Esto sucede porque PMC reconoce las herramientas cuando se inicia Visual Studio.
fuente
Asegúrese de que
Microsoft.EntityFrameworkCore.Tools
se mencione en ladependencies
sección de suproject.json
. NuGet no cargará los comandos del Administrador de paquetes de latools
sección. (Ver NuGet / Home # 3023 ){ "dependencies": { "Microsoft.EntityFrameworkCore.Tools": { "version": "1.0.0-preview2-final", "type": "build" } } }
fuente
Microsoft.EntityFrameworkCore.Tools
está la sección de dependencias internas. Los comandosAdd-Migration
yUpdate-Database
, como se indica en el tutorial, funcionaron la noche anterior. Pero cuando los probé a la mañana siguiente después de hacer cambios menores en mi modelo y probé estos comandos nuevamente, me dieron el mensaje de error descrito en mi publicación. Incluso eliminé la carpeta de migración y la base de datos correspondiente del SQL Server, pero recibí el mismo mensaje de error después de ejecutar estos comandos. ¿Qué me puedo perder?tools
agregar después. Simplemente moverlo adependencies
resultará en el siguiente mensaje de error: No se puede ejecutar este comando porque 'Microsoft.EntityFrameworkCore.Tools' no está instalado en el proyecto 'src \ <su proyecto>. Agregue 'Microsoft.EntityFrameworkCore.Tools' a la sección 'herramientas' en project.json. Consulte go.microsoft.com/fwlink/?LinkId=798221 para obtener más detalles.mismo problema ... resuelto por dong lo siguiente
1.) cerrar el administrador de pm 2.) cerrar Visual Studio 3.) Abrir Visual Studio 4.) Abrir el administrador de pm
parece que el truco es cerrar PM Manager antes de cerrar VS
fuente
Yo también tuve este problema. Cerré y abrí VS2015 y "solucionó" el problema ...
fuente
Tienes que saber cuál es tu
Entity-Framework
versión. Además, después de eso, debe verificarproject.json
y controlar estas secciones:En dependencias
cheque:
Esta sección:
está relacionado con la versión de tu
Entity-Framework
y tienes que cambiar esto con eso.Después de eso, la segunda sección del
proj.json
está aquí, en laTools
sección deJSON
usted tiene:Además, esta parte del código está relacionada con su
Entity-Framework
y la última parte del código en la sección Dependencias .Nota: Después de hacer esto, debe cerrar
CMD
y reiniciar Visual Studio.fuente
Lo que tenía que hacer ...
1) Herramientas -> Administrador de paquetes Nuget -> Configuración del administrador de paquetes
2) Ficha General
3) Borrar todos los cachés de NuGet
4) Reinicie Visual Studio
fuente
Tuve este problema en Visual Studio 2013. Reinstalé NuGet Package Manager:
https://marketplace.visualstudio.com/items?itemName=NuGetTeam.NuGetPackageManagerforVisualStudio2013
fuente
Simplemente intente init Microsoft.EntityFrameworkCore.Tools. En PM ejecutar
Me ayudó con el mismo problema. Una versión de las herramientas puede ser diferente. Depende de lo que uses en tu proyecto.
fuente
Me encontré con el mismo problema. La mayoría de mis proyectos tenían lo mismo en herramientas.
Esto funcionó bien en todos los proyectos menos uno. Cambié la entrada en herramientas a
Y luego corrió
dotnet restore
. Una vez finalizada la restauración,Add-Migration
funcionó normalmente.fuente
Tuve el mismo problema y descubrí que era un problema de control de versiones de Visual Studio en el archivo de solución.
Estaba apuntando:
VisualStudioVersion = 14.0.25123.0
Pero necesitaba apuntar:
VisualStudioVersion = 14.0.25420.1
Después de realizar ese cambio directamente en el archivo de la solución, los cmdlets de EF Core comenzaron a funcionar en la consola del Administrador de paquetes.
fuente
14.0.25421.03 Update 3
que es incluso superior a la que estás usando.Estos son los pasos que seguí y solucionó el problema
1) Actualicé mi Power Shell de la versión 2 a 3
2) Cerró la consola PM
3) Visual Studio reiniciado
4) Ejecutó el siguiente comando en la restauración de dotnet de la consola PM
5) Add-Migration InitialMigration
Funcionó !!!
fuente
Tuve este problema y ninguna de las soluciones anteriores me ayudó. Mi problema en realidad se debió a una versión desactualizada de powershell en mi máquina con Windows 7; una vez que actualicé a powershell 5, comenzó a funcionar.
fuente
Vaya a la consola del administrador de paquetes (en Visual Studio) y ejecute el siguiente comando
fuente
Creo que la respuesta debe actualizarse en 2017, ya que MS ha realizado algunos cambios (importantes) que se detallan aquí.
https://github.com/aspnet/EntityFramework/issues/7053
Para resumir, ahora necesitará una referencia a EntityFrameWorkCore.Tools.DotNet en la sección de herramientas como se muestra a continuación
"Microsoft.EntityFrameworkCore.Tools.DotNet": "1.0.0"
También he publicado un archivo project.json de trabajo a continuación en caso de que alguien tenga problemas.
fuente
Intenté hacer todo lo anterior y no tuve suerte. Descargué el último paquete .net core 2.0 y ejecuté los comandos nuevamente y funcionó.
fuente
1.1.1
a2.0
?En mi caso, agregué dependencia a través de Nuget:
Microsoft.EntityFrameworkCore.Tools
Y luego ejecutar a través de la Consola del Administrador de paquetes:
fuente
Esto es lo que funcionó para mí: Desde Visual Studio, haga clic en
Entonces puedes ejecutar
Add-Migration
, por ejemplo:fuente