簡體   English   中英

Nuget軟件包未添加軟件包參考

[英]Nuget-package not adding package reference

我正在嘗試將MySql.DataMySql.Data.Entity安裝到我的類庫中。

不知何故沒有向項目添加參考。

我嘗試過的事情:

  1. Update-Package -reinstall (無濟於事)
  2. packages.config包含正確的條目
  3. *.csproj也具有正確的條目
  4. 已清除NuGet緩存

這是輸出:

Package 'MySql.Data.6.10.6' already exists in folder 
'C:\Users\MYUSERNAME\Documents\Repositories\XXXXXXX\packages'
Added package 'MySql.Data.6.10.6' to 'packages.config'
Successfully installed 'MySql.Data 6.10.6' to XXXXXXXX.Persistence
Executing nuget actions took 1,6 sec

在此處輸入圖片說明

奇怪的是, NuGet在我的項目中創建了\\docs ,這是MySql一部分

Nuget軟件包未添加軟件包參考

我同意馬特的評論。 您的項目目標框架應為.NET 4.5.1或更低版本。 因為包MySql.Data 包含對.NET Framework的.NET Framework 4.5.2的程序集引用,所以:

在此處輸入圖片說明

但是,此程序包還具有與.net框架兼容的內容文件。 因此,當您將此軟件包添加到項目(目標框架4.5.1或更低版本)時,nuget會安裝此nuget軟件包而不會出現任何錯誤, 只需添加內容文件( \\docs ),而不添加對項目的任何引用

要解決此問題,可以將目標框架更改為該項目的4.5.2及更高版本,或者應使用版本為6.9.11的nuget包MySql.Data ,其中包含對.NET Framework 4.0和4.5的程序集引用:

在此處輸入圖片說明

注意:如果將目標框架更改為.net Framework 4.5.2及更高版本,則可能會收到錯誤“ The package 'MySql.Data' tried to add a framework reference to 'System.ComponentModel' which was not found in the GAC. ”,請為缺少的庫添加手動引用:

程序包嘗試添加對GAC中找不到的System.Runtime的引用

希望這可以幫助。

即使我有正確的框架,我也遇到了這個問題。 通過將Nuget格式遷移到程序包引用可以解決此問題

暫無
暫無

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

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