que net launchsettings framework development asp c# json asp.net-core dnx entity-framework-core

c# - framework - launchsettings json net core



"El archivo de bloqueo esperado no existe. Ejecute "dnu restore" ”justo después de que lo haya hecho (6)

Descubrí que si creas la carpeta de la solución de Visual Studio en una ruta UNC, se producirá este error.

A menudo, las rutas UNC asignan su carpeta de Documentos cuando utiliza ventanas en una máquina virtual (por ejemplo, Parallels para Mac) y, por lo tanto, Visual Studio utilizará esta ruta de forma predeterminada para nuevas soluciones.

Para solucionar el problema, moví la carpeta de la solución de Visual Studio a la unidad de disco de la máquina virtual y luego volví a abrir el proyecto.

Estoy ejecutando beta7 para todo, incluido EF 7. Estoy intentando conectarme a mi base de datos remota existente mediante el proyecto de plantilla de aplicación ASP.NET 5. Mi proyecto.json se ve así:

{ "webroot": "wwwroot", "userSecretsId": "aspnet5-XXX-409e9e37-b7bb-4185-b7aa-6dc336087524", "version": "1.0.0-*", "dependencies": { "EntityFramework.Commands": "7.0.0-beta7", "EntityFramework.SqlServer": "7.0.0-beta7", "Microsoft.AspNet.Authentication.Cookies": "1.0.0-beta7", "Microsoft.AspNet.Authentication.Facebook": "1.0.0-beta7", "Microsoft.AspNet.Authentication.Google": "1.0.0-beta7", "Microsoft.AspNet.Authentication.MicrosoftAccount": "1.0.0-beta7", "Microsoft.AspNet.Authentication.Twitter": "1.0.0-beta7", "Microsoft.AspNet.Diagnostics": "1.0.0-beta7", "Microsoft.AspNet.Diagnostics.Entity": "7.0.0-beta7", "Microsoft.AspNet.Identity.EntityFramework": "3.0.0-beta7", "Microsoft.AspNet.Mvc": "6.0.0-beta7", "Microsoft.AspNet.Mvc.TagHelpers": "6.0.0-beta7", "Microsoft.AspNet.Server.IIS": "1.0.0-beta7", "Microsoft.AspNet.Server.WebListener": "1.0.0-beta7", "Microsoft.AspNet.StaticFiles": "1.0.0-beta7", "Microsoft.AspNet.Tooling.Razor": "1.0.0-beta7", "Microsoft.Framework.Configuration.Abstractions": "1.0.0-beta7", "Microsoft.Framework.Configuration.Json": "1.0.0-beta7", "Microsoft.Framework.Configuration.UserSecrets": "1.0.0-beta7", "Microsoft.Framework.Logging": "1.0.0-beta7", "Microsoft.Framework.Logging.Console": "1.0.0-beta7", "Microsoft.Framework.Logging.Debug" : "1.0.0-beta7", "Microsoft.VisualStudio.Web.BrowserLink.Loader": "14.0.0-beta7" }, "commands": { "web": "Microsoft.AspNet.Hosting --config hosting.ini", "ef": "EntityFramework.Commands" }, "frameworks": { "dnx451": { }, "dnxcore50": { } }, "exclude": [ "wwwroot", "node_modules", "bower_components" ], "publishExclude": [ "node_modules", "bower_components", "**.xproj", "**.user", "**.vspscc" ], "scripts": { "prepublish": [ "npm install", "bower install", "gulp clean", "gulp min" ] } }

Al hacer una búsqueda en línea, parecía que para lograr lo que quería, necesitaba ejecutar el siguiente comando:

dnx ef dbcontext scaffold "ConnectionString" EntityFramework.SqlServer

Lo cual no pude hacer porque tuve un problema que se resolvió como se explica aquí: Uso de la base de datos existente con ASP.NET 5 y EF7 (beta 7)

Ahora puedo finalmente ejecutar el comando "dnx", pero cuando intento ejecutarlo con mi cadena de conexión, que se ve así:

dnx ef dbcontext scaffold "Data Source=192.168.XX.XXX/devsql;Initial Catalog=Development;Integrated Security=False;User ID=system;Password=XXX;" EntityFramework.SqlServer

Me da los siguientes errores:

[ERROR] dnx : System.InvalidOperationException: Failed to resolve the following dependencies for target framework ''DNXCore,Version=v5.0'': [ERROR] En línea: 1 Carácter: 1 [ERROR] + dnx ef dbcontext scaffold "Data Source=192.168.XX.XXX/devsql;Initial Catalog=Dev ... [ERROR] + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [ERROR] + CategoryInfo : NotSpecified: (System.InvalidO...,Version=v5.0''::String) [], RemoteException [ERROR] + FullyQualifiedErrorId : NativeCommandError [ERROR] [ERROR] EntityFramework.Commands 7.0.0-beta7 [ERROR] EntityFramework.SqlServer 7.0.0-beta7 [ERROR] Microsoft.AspNet.Authentication.Cookies 1.0.0 [ERROR] -beta7 [ERROR] Microsoft.AspNet.Authentication.Facebook 1.0.0-beta7 [ERROR] Microsoft.AspNet.Authentication.Google 1.0.0-beta7 [ERROR] Microsoft.AspNet.Authentication.MicrosoftAccount 1.0.0-beta7 [ERROR] Microsoft.AspNet.Authentication.Twitter 1.0.0-beta7 [ERROR] Microsoft.AspNet.Diagnostics 1.0.0-beta7 [ERROR] Microsoft.AspNet.Diagnostics.Entity 7.0.0-beta7 [ERROR] Microsoft.AspNet.Identity.EntityFramework 3.0.0-beta7 [ERROR] Microsoft.AspNet.Mvc 6.0.0-beta7 [ERROR] Microsoft.AspNet.Mvc.TagHelpers 6.0.0-beta7 [ERROR] Microsoft.AspNet.Server.IIS 1.0.0-beta7 [ERROR] Microsoft.AspNet.Server.WebListener 1.0.0-beta7 [ERROR] Microsoft.AspNet.StaticFiles 1.0.0-beta7 [ERROR] Microsoft.AspNet.Tooling.Razor 1.0.0-beta7 [ERROR] Microsoft.Framework.Configuration.Abstractions 1.0.0-beta7 [ERROR] Microsoft.Framework.Configuration.Json 1.0.0-beta7 [ERROR] Microsoft.Framework.Configuration.UserSecrets 1.0.0-beta7 [ERROR] Microsoft.Framework.Logging 1.0.0-beta7 [ERROR] Microsoft.Framework.Logging.Console 1.0.0-beta7 [ERROR] Microsoft.Framework.Logging.Debug 1.0.0-beta7 [ERROR] Microsoft.VisualStudio.Web.BrowserLink.Loader 14.0.0-beta7 [ERROR] [ERROR] C:/XXX/XXX/src/XXX/project.lock.json(1,0): error: The expected lock file doesn''t exist. Please run "dnu restore" to generate a new lock file. [ERROR] Current runtime target framework: ''DNXCore,Version=v5.0 (dnxcore50)'' [ERROR] Version: 1.0.0-beta7-15532 [ERROR] Type: CoreCLR [ERROR] Architecture: x64 [ERROR] OS Name: Windows [ERROR] OS Version: 6.1 [ERROR] [ERROR] at Microsoft.Dnx.Runtime.DefaultHost.GetEntryPoint(String applicationName) [ERROR] at Microsoft.Dnx.ApplicationHost.Program.ExecuteMain(DefaultHost host, String applicationName, String[] args) [ERROR] at Microsoft.Dnx.ApplicationHost.Program.Main(String[] args) [ERROR] --- End of stack trace from previous location where exception was thrown --- [ERROR] at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() [ERROR] at Microsoft.Dnx.Runtime.Common.EntryPointExecutor.Execute(Assembly assembly, String[] args, IServiceProvider serviceProvider) [ERROR] at Microsoft.Dnx.Host.Bootstrapper.RunAsync(List`1 args, IRuntimeEnvironment env, FrameworkName targetFramework) [ERROR] at Microsoft.Dnx.Host.RuntimeBootstrapper.ExecuteAsync(String[] args, FrameworkName targetFramework) [ERROR] at Microsoft.Dnx.Host.RuntimeBootstrapper.Execute(String[] args, FrameworkName targetFramework) [ERROR]

Dado que

[ERROR] C:/XXX/XXX/src/XXX/project.lock.json(1,0): error: The expected lock file doesn''t exist. Please run "dnu restore" to generate a new lock file.

He intentado correr

PS C:/XXX/XXX> dnu restore Microsoft .NET Development Utility CoreCLR-x64-1.0.0-beta7-15532 CACHE https://api.nuget.org/v3/index.json Restoring packages for C:/XXX/XXX/src/XXX/project.json CACHE https://api.nuget.org/v3-flatcontainer/system.threading.threadpool/index.json GET https://api.nuget.org/v3-flatcontainer/system.net.sockets/index.json OK https://api.nuget.org/v3-flatcontainer/system.net.sockets/index.json 1117ms Writing lock file C:/XXX/XXX/src/XXX/project.lock.json Restore complete, 2071ms elapsed NuGet Config files used: C:/Users/XXX/AppData/Roaming/NuGet/NuGet.Config C:/XXX/XXX/NuGet.Config Feeds used: https://api.nuget.org/v3-flatcontainer/

Lo que recrea el project.lock.json con éxito, parece (la marca de tiempo también refleja esto). Sin embargo, cuando intento ejecutar mi script de andamio de nuevo, sigue mostrando el mismo error que se muestra arriba, incluida la parte de "el archivo de bloqueo esperado no existe".

¿Alguna idea de qué está mal?


Me enfrenté al mismo problema y lo solucioné: - Haga clic con el botón derecho en "Referencias" - Seleccione "Restaurar paquetes"

O Ctrl + Shilf + R

Creará / actualizará el archivo "project.lock.json", que incluye una lista completa de todos los paquetes de NuGet que usa la aplicación. En mi opinión, no deberías ponerlo en el control de código fuente.


Prueba esto:

Cierre Visual Studio completamente .

Abra una ventana de línea de comandos de Visual Studio .

cd C:/XXX/XXX/src/XXX/ dnu restore dnx ef dbcontext scaffold "ConnectionString" EntityFramework.SqlServer


Si está ejecutando este comando en una aplicación que se ejecuta actualmente en un entorno de Kernel de Windows Server, Core 5.0 no funcionará a menudo. Puede leer algunos, pero no crear, especialmente si está alojado en IIS. Tuve mucho este problema, encontré que lo mejor era simplemente omitir EntityFramework.Commands en la dependencia principal, y saltar a

"frameworks":{ "dnx451":{ "dependencies":{ "EntityFramework.Commands":"7.0.0-beta7" } } ,"dnxcore50"...

también, asegúrese de que cuando esté listo para ejecutar dnx, ejecute

dnvm use latest -r clr -arch {your server kernel arch} x64|x86

para asegurarse de que no está intentando invocar coreclr para los comandos. eso debería solucionar el problema, y ​​lo tengo para mí en un servidor de producción (porque el andamio del dbcontext es en gran parte inofensivo)


Tuve el mismo problema, traté de eliminar las referencias y volver a agregarlas pero falló. Fui a ManageNugetPackage Manager y eliminé el recurso interno privado de nuget de la configuración, restauré mis paquetes y funcionó (también eliminé el antiguo archivo project.lock)


Tuve un problema similar con VS 2015 quejándose de la falla de restauración de las referencias de AspNetCore y uno de los mensajes de error que apuntan a hacer una "restauración de dotnet". La restauración de dotnet falló durante los últimos pasos. Pero,

La solución que funcionó fue eliminar la referencia del feed del paquete nuget local usando la configuración de Nuget package Manager.