2016-11-20 144 views
1

我有一个针对.NET 462的Asp.Net Core项目,它使用Asp.Net Core版本1.0.1。升级到“1.1.0”之后,我得到这个错误:升级到1.1.0后无法加载文件或程序集'Microsoft.EntityFrameworkCore.SqlServer,版本= 1.1.0.0'

FileLoadException: Could not load file or assembly 'Microsoft.EntityFrameworkCore.SqlServer, Version=1.1.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)

project.json

"dependencies": { 
    "AspNet.Mvc.TypedRouting": "1.2.0", 
    "AutoMapper": "5.1.1", 
    "AutoMapper.Extensions.Microsoft.DependencyInjection": "1.1.2", 
    "BundlerMinifier.Core": "2.2.306", 
    "JetBrains.Annotations": "10.2.1", 
    "libphonenumber-csharp": "7.7.4", 
    "Microsoft.AspNetCore.Authentication.Cookies": "1.1.0", 
    "Microsoft.AspNetCore.Authentication.Facebook": "1.1.0", 
    "Microsoft.AspNetCore.Authentication.Google": "1.1.0", 
    "Microsoft.AspNetCore.Authentication.MicrosoftAccount": "1.1.0", 
    "Microsoft.AspNetCore.Authentication.OpenIdConnect": "1.1.0", 
    "Microsoft.AspNetCore.Authentication.Twitter": "1.1.0", 
    "Microsoft.AspNetCore.Diagnostics": "1.1.0", 
    "Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore": "1.1.0", 
    "Microsoft.AspNetCore.Identity.EntityFrameworkCore": "1.1.0", 
    "Microsoft.AspNetCore.Mvc": "1.1.0", 
    "Microsoft.AspNetCore.Razor.Tools": "1.1.0-preview4-final", 
    "Microsoft.AspNetCore.Server.IISIntegration": "1.1.0", 
    "Microsoft.AspNetCore.Server.Kestrel": "1.1.0", 
    "Microsoft.AspNetCore.Server.Kestrel.Https": "1.1.0", 
    "Microsoft.AspNetCore.Session": "1.1.0", 
    "Microsoft.AspNetCore.StaticFiles": "1.1.0", 
    "Microsoft.EntityFrameworkCore": "1.1.0", 
    "Microsoft.EntityFrameworkCore.SqlServer": "1.1.0", 
    "Microsoft.EntityFrameworkCore.Tools": "1.1.0-preview4-final", 
    "Microsoft.Extensions.Configuration": "1.1.0", 
    "Microsoft.Extensions.Configuration.Abstractions": "1.1.0", 
    "Microsoft.Extensions.Configuration.CommandLine": "1.1.0", 
    "Microsoft.Extensions.Configuration.EnvironmentVariables": "1.1.0", 
    "Microsoft.Extensions.Configuration.Json": "1.1.0", 
    "Microsoft.Extensions.Configuration.UserSecrets": "1.1.0", 
    "Microsoft.Extensions.Logging": "1.1.0", 
    "Microsoft.Extensions.Logging.Console": "1.1.0", 
    "Microsoft.Extensions.Logging.Debug": "1.1.0", 
    "Microsoft.Extensions.Options.ConfigurationExtensions": "1.1.0", 
    "Microsoft.VisualStudio.Web.BrowserLink.Loader": "14.1.0", 
    "Microsoft.VisualStudio.Web.CodeGenerators.Mvc": "1.1.0-preview4-final", 
    "MotleyFlash": "0.3.0", 
    "MotleyFlash.AspNetCore.MessageProviders": "0.2.0", 
    "MotleyFlash.AspNetCore.ViewHelpers": "0.2.0", 
    "SendGrid.NetCore": "1.0.0-rtm-00002", 
    "System.Interactive.Async": "3.1.0", 
    "Twilio": "4.7.2" 
}, 
"frameworks": { 
    "net462": { 
     "dependencies": { 
      "TaxiGun.Server.IdentityServer.Data": { 
       "target": "project" 
      }, 
      "TaxiGun.Server.Services": { 
       "target": "project" 
      } 
     } 
    } 
}, 

当我看看上建立的输出文件夹,我可以看到所有的图书馆在适当的版本除外“Microsoft.EntityFrameworkCore.SqlServer”: Microsoft.EntityFrameworkCore.SqlServer

我认为这是导致问题。但我不明白为什么版本是错误的?是否因为nuget包里面有错误的版本?

+0

我已删除本地Nuget存储库,现在我得到此错误:找不到路径的一部分'C:\ Users \ Admin \ .nuget \ packages \ Microsoft.EntityFrameworkCore.SqlServer \ 1.0.1 \ lib \ net451 \ Microsoft.EntityFrameworkCore.SqlServer.dll”。我没有在任何地方引用1.0.1版本。奇怪。 –

+0

尝试删除你的'project.lock.json'文件并重新恢复包 –

+0

是的,我试过了,它没有帮助。真正帮助的是奇怪的:我创建了一个新的AspNET Core项目,引用了我的另一个项目,更新了最新的库,然后删除了新的项目,我们去了,“旧”项目现在也在工作。 –

回答

5

完整的项目参考清理解决了我的问题。

  1. 删除所有斌/ OBJ文件夹
  2. 删除所有project.lock.json文件
  3. 删除本地的NuGet库缓存(计算机之一)
  4. 取下project.json文件中的所有引用,并添加只要求那些(与R·帮助)
  5. 的NuGet UDPATE,DOTNET恢复=项目运行

当我再考虑这件事,也许只有宝int 4很重要?

+2

第一点:删除bin&obj文件夹然后再编译为我工作 – Ahmad

相关问题