繁体   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