"The expected lock file doesn't exist. Please run "dnu restore"" 在我这样做之后
"The expected lock file doesn't exist. Please run "dnu restore"" right after I have done so
我正在 运行ning beta7 的所有内容,包括 EF 7。我正在尝试使用 ASP.NET 5 应用程序模板项目连接到我的远程现有数据库。我的 project.json 看起来像这样:
{
"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" ]
}
}
在线搜索似乎为了完成我想要的,我需要 运行 以下命令:
dnx ef dbcontext scaffold "ConnectionString" EntityFramework.SqlServer
我做不到,因为我遇到了一个问题,该问题已按照此处的说明解决:
现在我终于可以使用 运行 命令 "dnx",但是当我尝试 运行 使用我的连接字符串连接它时,它看起来像这样:
dnx ef dbcontext scaffold "Data Source=192.168.XX.XXX\devsql;Initial
Catalog=Development;Integrated Security=False;User ID=system;Password=XXX;"
EntityFramework.SqlServer
它给我以下错误:
[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]
鉴于
[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.
我试过了运行宁
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/
似乎成功地重新创建了 project.lock.json(时间戳也反映了这一点)。但是,当我再次尝试 运行ning 我的脚手架脚本时,它一直显示上面显示的相同错误,包括 "expected lock file doesn't exist" 部分。
知道出了什么问题吗?
如果您在 Windows 服务器内核环境中当前正在执行的应用程序上 运行 执行此命令,则 Core 5.0 将无法正常工作。它可以读取一些,但不能创建,特别是如果您在 IIS 中托管。我经常遇到这个问题,我发现最好跳过主要依赖项中的 EntityFramework.Commands,然后跳转到
"frameworks":{
"dnx451":{
"dependencies":{
"EntityFramework.Commands":"7.0.0-beta7"
}
}
,"dnxcore50"...
此外,请确保您准备好 运行 dnx,运行
dnvm use latest -r clr -arch {your server kernel arch} x64|x86
以确保您没有尝试为命令调用 coreclr。这应该可以解决这个问题,它对我来说是在生产服务器上(因为搭建 dbcontext 基本上是无害的)
试试这个:
关闭 Visual Studio 完全.
打开 Visual Studio 命令提示符 window。
cd C:\XXX\XXX\src\XXX\
dnu restore
dnx ef dbcontext scaffold "ConnectionString" EntityFramework.SqlServer
我遇到了同样的问题,并通过以下方式解决了这个问题:
- 右击 "References"
- Select "Restore Packages"
或 Ctrl + Shilf + R
它将 create/update "project.lock.json" 文件,其中包含应用正在使用的所有 NuGet 包的完整列表。在我看来,你不应该把它放在源代码管理中
我遇到了同样的问题,尝试删除引用并重新添加它们但失败了。
我去了 ManageNugetPackage 管理器并从设置中删除了私有内部 nuget 资源并恢复了我的包并且它有效(我还删除了旧的 project.lock 文件)
我发现如果您在 UNC 路径上创建 visual studio 解决方案文件夹,将会发生此错误。
在虚拟机上使用 windows 时,UNC 路径通常会映射您的文档文件夹(例如 Mac 的 Parallels),因此 visual studio 将默认使用此路径用于新解决方案.
为了解决这个问题,我将 visual studio 解决方案文件夹移动到虚拟机磁盘驱动器,然后重新打开项目。
我在 VS 2015 中遇到了类似的问题,抱怨 AspNetCore 引用的恢复失败以及指向执行 "dotnet restore" 的错误消息之一。在最后的步骤中,dotnet restore 失败。但是,
有效的解决方案是使用 Nuget 包管理器设置删除本地 nuget 包提要引用。
我正在 运行ning beta7 的所有内容,包括 EF 7。我正在尝试使用 ASP.NET 5 应用程序模板项目连接到我的远程现有数据库。我的 project.json 看起来像这样:
{
"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" ]
}
}
在线搜索似乎为了完成我想要的,我需要 运行 以下命令:
dnx ef dbcontext scaffold "ConnectionString" EntityFramework.SqlServer
我做不到,因为我遇到了一个问题,该问题已按照此处的说明解决:
现在我终于可以使用 运行 命令 "dnx",但是当我尝试 运行 使用我的连接字符串连接它时,它看起来像这样:
dnx ef dbcontext scaffold "Data Source=192.168.XX.XXX\devsql;Initial
Catalog=Development;Integrated Security=False;User ID=system;Password=XXX;"
EntityFramework.SqlServer
它给我以下错误:
[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]
鉴于
[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.
我试过了运行宁
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/
似乎成功地重新创建了 project.lock.json(时间戳也反映了这一点)。但是,当我再次尝试 运行ning 我的脚手架脚本时,它一直显示上面显示的相同错误,包括 "expected lock file doesn't exist" 部分。
知道出了什么问题吗?
如果您在 Windows 服务器内核环境中当前正在执行的应用程序上 运行 执行此命令,则 Core 5.0 将无法正常工作。它可以读取一些,但不能创建,特别是如果您在 IIS 中托管。我经常遇到这个问题,我发现最好跳过主要依赖项中的 EntityFramework.Commands,然后跳转到
"frameworks":{
"dnx451":{
"dependencies":{
"EntityFramework.Commands":"7.0.0-beta7"
}
}
,"dnxcore50"...
此外,请确保您准备好 运行 dnx,运行
dnvm use latest -r clr -arch {your server kernel arch} x64|x86
以确保您没有尝试为命令调用 coreclr。这应该可以解决这个问题,它对我来说是在生产服务器上(因为搭建 dbcontext 基本上是无害的)
试试这个:
关闭 Visual Studio 完全.
打开 Visual Studio 命令提示符 window。
cd C:\XXX\XXX\src\XXX\
dnu restore
dnx ef dbcontext scaffold "ConnectionString" EntityFramework.SqlServer
我遇到了同样的问题,并通过以下方式解决了这个问题: - 右击 "References" - Select "Restore Packages"
或 Ctrl + Shilf + R
它将 create/update "project.lock.json" 文件,其中包含应用正在使用的所有 NuGet 包的完整列表。在我看来,你不应该把它放在源代码管理中
我遇到了同样的问题,尝试删除引用并重新添加它们但失败了。 我去了 ManageNugetPackage 管理器并从设置中删除了私有内部 nuget 资源并恢复了我的包并且它有效(我还删除了旧的 project.lock 文件)
我发现如果您在 UNC 路径上创建 visual studio 解决方案文件夹,将会发生此错误。
在虚拟机上使用 windows 时,UNC 路径通常会映射您的文档文件夹(例如 Mac 的 Parallels),因此 visual studio 将默认使用此路径用于新解决方案.
为了解决这个问题,我将 visual studio 解决方案文件夹移动到虚拟机磁盘驱动器,然后重新打开项目。
我在 VS 2015 中遇到了类似的问题,抱怨 AspNetCore 引用的恢复失败以及指向执行 "dotnet restore" 的错误消息之一。在最后的步骤中,dotnet restore 失败。但是,
有效的解决方案是使用 Nuget 包管理器设置删除本地 nuget 包提要引用。