簡體   English   中英

由於包的不兼容性,添加遷移失敗

[英]add-migration fails due to incompatability of packages

我連接到我在Micrososft SQL Server Management Studio中創建的SQL Server數據庫。 我使用當前的ip連接。

在我打開連接和數據庫的那天,我還使用遷移和Entity Framework創建了一個表,並且表已成功創建。

在晚上關閉計算機然后在早上回來之后重新開始工作,我嘗試在PM控制台中執行添加遷移我得到錯誤:

您的啟動項目“TowerOfPower”未引用Microsoft.EntityFrameworkCore.Design。 實體框架核心工具需要此包才能運行。 確保您的啟動項目正確,安裝包,然后重試。

很奇怪,但是當我嘗試安裝包時

Install-Package Microsoft.EntityFrameworkCore.Design -Version 2.1.0

我收到錯誤:

安裝包:無法安裝包'Microsoft.EntityFrameworkCore.Design 2.1.0'。 您正在嘗試將此軟件包安裝到以“.NETFramework,Version = v4.0”為目標的項目中,但該軟件包不包含與該框架兼容的任何程序集引用或內容文件。 有關更多信息,請與軟件包作者聯系。
在行:1個字符:1
+ Install-Package Microsoft.EntityFrameworkCore.Design -Version 2.1.0
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~
+ CategoryInfo:NotSpecified:(:) [Install-Package],Exception
+ FullyQualifiedErrorId:NuGetCmdletUnhandledException,NuGet.PackageManagement.PowerShellCmdlets.InstallPackageCommand

所以我嘗試通過安裝網上建議的其他軟件包解決這個問題,但仍然遇到了我提到的所有問題的最后一個錯誤。

我認為你的框架類型存在很大的矛盾。 首先,如果您開發.NetCore項目,則必須使用EfCore進行ORM進度。 在.NetFramework項目中,您必須使用Entity Framework。

如果我們查看最新的錯誤消息,
您正在嘗試加載不正確的nuget項目。 根據錯誤消息,您嘗試將EntityFrameworkCore packege安裝到“.NETFramework,Version = v4.0”。對於此框架,您必須使用Install-Package EntityFramework -Version 6.2.0

最后,如果在單個解決方案中使用多個項目,則必須確保項目框架類型(exp:.Net或.NetCore)

在此輸入圖像描述

使用Package Manager控制台時,必須在Default Project ComboBox中選擇正確的項目

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM