Nuget-package不添加包引用

时间:2018-02-26 11:09:05

标签: visual-studio nuget nuget-package

我正在尝试将 MySql.Data MySql.Data.Entity 安装到我的类库中。

不知何故,该项目没有添加任何参考资料。

我尝试过的事情:

  1. Update-Package -reinstall(没有帮助)
  2. packages.config包含正确的条目
  3. *.csproj也有正确的条目
  4. 清除NuGet-Cache
  5. 这是输出:

    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
    

    enter image description here

    奇怪的是,NuGet在我的项目中创建了\docsMySql

2 个答案:

答案 0 :(得分:3)

  

Nuget-package不添加包引用

我同意马特的评论。您的项目目标框架应该是.NET 4.5.1或更低版本。因为 MySql.Data 包对.NET Framework的 .NET framework 4.5.2 包含程序集引用:

enter image description here

但是,此软件包还具有内容文件,这些文件与.net框架兼容。因此,当您将此包添加到项目(目标框架4.5.1或更低版本)时,nuget将安装此nuget包而不会出现任何错误,只需添加内容文件(\docs)但不添加任何引用项目

要解决此问题,您可以将目标框架更改为此项目的4.5.2及更高版本,或者您应该使用版本为 6.9.11 的nuget包MySql.Data,包含 .NET framework 4.0和4.5 的程序集引用:

enter image description here

注意:如果您将目标框架更改为.net框架4.5.2及更高版本,则可能会收到错误" The package 'MySql.Data' tried to add a framework reference to 'System.ComponentModel' which was not found in the GAC.",请添加对错过的库的手动引用:

Package tried to add reference to System.Runtime which was not found in the GAC

希望这有帮助。

答案 1 :(得分:1)

即使我有正确的框架,我也遇到了这个问题。 Migrating the Nuget Format to Package References

解决了该问题