Visual Studio Nuget-package未添加包引用

oknrviil  于 2022-11-17  发布在  其他
关注(0)|答案(3)|浏览(269)

我正在尝试将MySql.DataMySql.Data.Entity安装到我的类库中。
不知何故,项目中没有添加引用。
我尝试过的事情:

  1. Update-Package -reinstall(无效)
  2. packages.config包含正确的条目
  3. *.csproj也具有正确的条目
    1.已清除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的一部分

niwlg2el

niwlg2el1#

Nuget-package未添加包引用
我同意Matt的意见。您的项目目标框架应该是.NET 4.5.1或更低版本。因为包MySql.Data****仅包含对**.NET Framework 4.5.2**的程序集引用。

但是,这个包也有内容文件,它们与.net framework兼容。因此,当您将这个包添加到项目(目标框架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.“,请手动添加对缺少的库的引用:
Package tried to add reference to System.Runtime which was not found in the GAC
希望这对你有帮助。

fcwjkofz

fcwjkofz2#

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

k10s72fa

k10s72fa3#

对于Visual Studio最新版本,您必须右键单击依赖项〉管理NuGet包〉单击花形的设置按钮,然后在NuGet包管理器选项中选择常规,并将默认包管理格式从packages.config更改为PackageReference。

如果这样做不奏效,则必须通过CLI工具添加软件包,查看nuget gallery并直接粘贴所需版本的命令,例如:
dotnet add package Microsoft.EntityFrameworkCore.Design --version 6.0.10

相关问题