运行Dotnet EF迁移添加...运行时生成FileNotFoundException

时间:2016-06-05 03:27:51

标签: asp.net entity-framework .net-core-rc2

生成错误如下。

System.IO.FileNotFoundException: Could not load file or assembly 'System, Version=2.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e, Retargetable=Yes' or one of its dependencies. The system cannot find the file specified.
File name: 'System, Version=2.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e, Retargetable=Yes'
   at Microsoft.DotNet.ProjectModel.ProjectReader.ReadProject(Stream stream, String projectName, String projectPath, ProjectReaderSettings settings)
   at Microsoft.DotNet.ProjectModel.ProjectReader.GetProject(String projectPath, ProjectReaderSettings settings)
   at Microsoft.EntityFrameworkCore.Tools.DispatchCommand.<>c__DisplayClass2_0.<Create>b__0()
   at Microsoft.Extensions.CommandLineUtils.CommandLineApplication.Execute(String[] args)
   at Microsoft.EntityFrameworkCore.Tools.Program.Main(String[] args)
Could not load file or assembly 'System, Version=2.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e, Retargetable=Yes' or one of its dependencies. The system cannot find the file specified.

任何DOTNET EF命令(甚至--help)

都会出现此错误

我们有多台机器可以使用,但其中2台机器正在看到上述错误,这是非常令人沮丧的?

我甚至试图从Github安装ProjectModel组件但没有成功

有关如何克服此问题的任何帮助

2 个答案:

答案 0 :(得分:1)

我遇到了这个问题(以及运行其他dotnet命令的其他类似错误。对我来说,这是因为安装了较旧的RC1和SDK。我删除了添加/删除程序中的所有内容,同时删除了dotnet和<{1}}中的DNX目录。然后我重新安装并开始工作。

答案 1 :(得分:1)

我尝试了卸载和删除所有DNX和DOTNET目录的建议无济于事。

然后我做了一些搜索,找到了答案。我不得不将我的工具 - entityframework配置更改为以下

"Microsoft.EntityFrameworkCore.Tools": {
  "version": "1.0.0-preview1-final",
  "imports": "portable-net451+win8"

},

然后,我必须根据本文链接清除实体框架的缓存 https://github.com/aspnet/EntityFramework/issues/5458#issuecomment-221912806

然后我需要从项目中删除Microsoft.EntityFrameworkCore.SqlServer的Reference并让VS通过重新加载修复引用本身

在此之后,Build解决了问题,我可以再次运行dotnet ef命令