10

我第一次嘗試EF核心,並編寫了一個非常簡單的MVC應用程序讓我的腳溼。我正在使用在UnicornStore project中找到的數據庫種子的方法,他們在Startup.cs中編寫一些代碼來遷移數據庫,然後運行種子方法。爲什麼Visual Studio告訴我需要引用System.Private.CoreLib?

他們所謂的種子方法之前,他們跑這DbContext擴展方法,檢查是否已應用所有遷移:

using System; 
using System.Linq; 
using Microsoft.EntityFrameworkCore; 
using Microsoft.EntityFrameworkCore.Infrastructure; 
using Microsoft.EntityFrameworkCore.Migrations; 

namespace UnicornStore.Models 
{ 
    public static class DbContextExtensions 
    { 
     public static bool AllMigrationsApplied(this DbContext context) 
     { 
      var applied = context.GetService<IHistoryRepository>() 
       .GetAppliedMigrations() 
       .Select(m => m.MigrationId); 

      var total = context.GetService<IMigrationsAssembly>() 
       .Migrations 
       .Select(m => m.Key); 

      return !total.Except(applied).Any(); 
     } 
    } 
} 

我已經把這個同樣的方法在我的應用程序,一切工作 - 代碼編譯並且數據庫被遷移並播種。但是,Visual Studio中(2017年企業)是紅色下劃線這一行:

context.GetService<IMigrationsAssembly>() 
        .Migrations 
        .Select(m => m.Key); 

如果我將鼠標懸停在紅線,它告訴我:

模塊「System.Private.CoreLib,版本= 4.0 .0.0,文化=中立, 公鑰=富」應參考

誰能告訴我爲什麼我得到這個消息?我實際上試圖添加對System.Private.CoreLib的引用來查看會發生什麼,並導致大量錯誤(未定義System.Object等)。我永遠不會覺得這樣的事情沒有解決,如果他們以後再回來咬我,所以任何決議(或確認,我可以離開這個,並忽略消息),將不勝感激!

回答

13

你有沒有安裝R#您可能遇到過這個問題:RSRP-464676

如果是這樣,請嘗試暫停R#並查看問題是否不再顯示。

+0

感謝您的支持!這似乎已經成功了! – Jim

0

就像一個備用響應一樣,看起來好像我的開心幸運alt-enter垃圾郵件導致我導入程序集引用到System.Private.CoreLib,我認爲這是來自線程命名空間導入修補程序。檢查這是否被引用。

0

我有同樣的問題。升級到最新版本的Resharper修復了這個問題。

相關問題