2016-11-20 29 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

相關問題