Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# &引用;预期的锁文件不存在';不存在。请跑「;“dnu恢复”&引用;就在我这么做之后_C#_Json_Asp.net Core_Dnx_Entity Framework Core - Fatal编程技术网

C# &引用;预期的锁文件不存在';不存在。请跑「;“dnu恢复”&引用;就在我这么做之后

C# &引用;预期的锁文件不存在';不存在。请跑「;“dnu恢复”&引用;就在我这么做之后,c#,json,asp.net-core,dnx,entity-framework-core,C#,Json,Asp.net Core,Dnx,Entity Framework Core,我正在运行beta7的一切,包括EF7。我正在尝试使用ASP.NET 5应用程序模板项目连接到远程现有数据库。myproject.json如下所示: dnx ef dbcontext scaffold "Data Source=192.168.XX.XXX\devsql;Initial Catalog=Development;Integrated Security=False;User ID=system;Password=XXX;" EntityFramework.SqlServer { “

我正在运行beta7的一切,包括EF7。我正在尝试使用ASP.NET 5应用程序模板项目连接到远程现有数据库。myproject.json如下所示:

dnx ef dbcontext scaffold "Data Source=192.168.XX.XXX\devsql;Initial
Catalog=Development;Integrated Security=False;User ID=system;Password=XXX;"
EntityFramework.SqlServer
{
“webroot”:“wwwroot”,
“userSecretsId”:“aspnet5-XXX-409e9e37-b7bb-4185-b7aa-6dc336087524”,
“版本”:“1.0.0-*”,
“依赖项”:{
“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.Abstracts”:“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”
},
“命令”:{
“web”:“Microsoft.AspNet.Hosting--config Hosting.ini”,
“ef”:“EntityFramework.Commands”
},
“框架”:{
“dnx451”:{},
“dnxcore50”:{}
},
“排除”:[
“wwwroot”,
“节点_模块”,
“bower_组件”
],
“发布除外”:[
“节点_模块”,
“bower_组件”,
“**.xproj”,
“**.用户”,
“**.vspscc”
],
“脚本”:{
“预发布”:[“npm安装”、“bower安装”、“大口清洁”、“大口最小值”]
}
}
在进行在线搜索时,为了完成我想要的任务,我需要运行以下命令:

dnx ef dbcontext scaffold "ConnectionString" EntityFramework.SqlServer
我不能这样做,因为我遇到了一个问题,正如这里所解释的:

现在,我终于可以运行命令“dnx”,但当我尝试使用我的connectionstring运行它时,它如下所示:

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(时间戳也反映了这一点)。但是,当我再次尝试运行scaffold脚本时,它会一直显示上面显示的相同错误,包括“预期的锁文件不存在”部分


知道出了什么问题吗?

如果您在当前在Windows Server内核环境中执行的应用程序上运行此命令,Core 5.0将无法正常工作。它可以读取一些,但不能创建,尤其是在IIS中托管时。我经常遇到这个问题,我发现最好跳过主依赖项中的EntityFramework.Commands,然后跳到

"frameworks":{
    "dnx451":{
          "dependencies":{
                 "EntityFramework.Commands":"7.0.0-beta7"
          }
      }
  ,"dnxcore50"...
另外,确保在准备运行dnx时,运行

dnvm使用最新的-r clr-arch{您的服务器内核arch}x64 | x86

以确保您没有尝试为命令调用coreclr。这应该可以解决这个问题,对于我来说,在生产服务器上(因为构建dbcontext在很大程度上是无害的)

尝试以下方法:

完全关闭Visual Studio

cd C:\XXX\XXX\src\XXX\

dnu restore

dnx ef dbcontext scaffold "ConnectionString" EntityFramework.SqlServer
打开Visual Studio命令提示符窗口

cd C:\XXX\XXX\src\XXX\

dnu restore

dnx ef dbcontext scaffold "ConnectionString" EntityFramework.SqlServer

我遇到了同样的问题,并通过以下方式解决了它: -右键单击“参考资料” -选择“还原包”

或Ctrl+Shilf+R


它将创建/更新“project.lock.json”文件,其中包括应用程序正在使用的所有NuGet包的完整列表。在我看来,你不应该把它放在源代码管理中,我也有同样的问题,试图删除引用并重新添加,但失败了。
我转到ManagerNuGetPackage manager,从设置中删除了私有的内部nuget资源,并恢复了我的包,它正常工作了(我还删除了旧的project.lock文件)

我发现如果在UNC路径上创建visual studio解决方案文件夹,则会发生此错误

通常,在虚拟机上使用windows时,UNC路径映射您的文档文件夹(例如Mac上的Parallels),因此visual studio默认情况下将在新解决方案中使用此路径


为了解决此问题,我将visual studio解决方案文件夹移动到虚拟机磁盘驱动器,然后重新打开该项目。

我在VS 2015中遇到类似问题,抱怨AspNetCore引用的还原失败以及指向执行“dotnet还原”的一条错误消息。在最后的步骤中,dotnet还原失败。但是,


有效的解决方案是使用nuget package Manager设置删除本地nuget package feed引用。

只需在项目的文件夹中运行
dnu restore
,而不带任何参数。值得注意的是,我在使用CoreCLR 50和SqlServer时一点运气都没有。目前正在调查使用dnx46运行API、在dnxcore50上运行我的站点应用程序以及使用rest数据检索的性能影响,只是为了修正令人头痛的问题。顺便说一句,我使用dnx46,因为它有451缺失的异步异常,这对高I/O api有很大帮助。该死,私有nuget服务器使它失败。谢谢