C# Visual Studio引用显示未被引用的NuGet包
通过右键单击VS2019中的packages.config文件,我将.NET Framework 4.7.2项目从packages.config转换为packagesreferences格式 从那时起,VisualStudio在References节点中显示了我从项目中卸载的NuGet包的蓝色图标。真正奇怪的是,如果没有这个包,构建应该会失败,因为它在代码中使用,但是构建成功了C# Visual Studio引用显示未被引用的NuGet包,c#,nuget,visual-studio-2019,packagereference,C#,Nuget,Visual Studio 2019,Packagereference,通过右键单击VS2019中的packages.config文件,我将.NET Framework 4.7.2项目从packages.config转换为packagesreferences格式 从那时起,VisualStudio在References节点中显示了我从项目中卸载的NuGet包的蓝色图标。真正奇怪的是,如果没有这个包,构建应该会失败,因为它在代码中使用,但是构建成功了 .csproj中没有对此NuGet包的packagereference 文件 项目目录中没有packages.conf
=============================== 如果您的项目没有引用任何其他项目,或者只是引用了一个没有安装相同nuget包的项目,我认为问题与您的项目本身或VS环境有关 在这种情况下,当您已经卸载nuget包时,nuget包的蓝色图标仍然保留在解决方案资源管理器上,这是非常奇怪的 请尝试以下建议: 1)禁用扩展下的任何第三方扩展-->管理已安装的扩展--> 2)和重置工具下的vs设置-->导入和导出设置-->重置所有设置 3)然后关闭VS,删除下的缓存文件
C:\Users\xxx(current user)\AppData\Local\Microsoft\VisualStudio\16.0_xxx\ComponentModelCache
还可以删除.vs
隐藏文件夹、bin
和obj
文件夹
4)然后重新启动VS以测试问题是否仍然存在
除了,您还可以使用启动一个干净的初始VS,然后测试您的项目
================================= 如果您的情况是这样的: 您的项目B引用了一个名为项目a的项目,而a也安装了相同的nuget软件包。和项目A使用 虽然您已经卸载了Project B上的nuget软件包,但您的
obj
文件夹中仍然有Project.assert.json
,xxx.nuget.g.props
等文件,这是PackageReference的一项功能。因此,项目B的nuget包管理格式与项目A相同,并将dll从项目A传输到项目B,以便您可以在项目B中使用dll
和删除.vs
隐藏文件夹将删除项目B的nuget package format PackageReference,因为您已经卸载了项目B上的所有nuget package,但obj
文件夹的PackageReference内容仍然存在
因此您应该同时关闭项目B的VS、删除.VS隐藏文件夹、bin和obj文件夹。
注意:重建和清理不会删除以前的还原文件
如果这不起作用,我想您已经在B.csproj
文件下编写了这个xml节点:
<PropertyGroup>
<RestoreProjectStyle>PackageReference</RestoreProjectStyle>
</PropertyGroup>
包装参考
因此您应该仔细检查项目B,它仍然会还原文件project.assert.json
,xxx.nuget.g.props
,。。。。as包装参考
因此,如果有,请删除此节点,同时删除
.vs
隐藏文件夹、bin
和obj
文件夹。===============================
如果您的项目没有引用任何其他项目,或者只是引用了一个没有安装相同nuget包的项目,我认为问题与您的项目本身或VS环境有关
在这种情况下,当您已经卸载nuget包时,nuget包的蓝色图标仍然保留在解决方案资源管理器上,这是非常奇怪的
请尝试以下建议:
1)禁用扩展下的任何第三方扩展-->管理已安装的扩展-->
2)和重置工具下的vs设置-->导入和导出设置-->重置所有设置
3)然后关闭VS,删除下的缓存文件
C:\Users\xxx(current user)\AppData\Local\Microsoft\VisualStudio\16.0_xxx\ComponentModelCache
还可以删除.vs
隐藏文件夹、bin
和obj
文件夹
4)然后重新启动VS以测试问题是否仍然存在
除了,您还可以使用启动一个干净的初始VS,然后测试您的项目
================================= 如果您的情况是这样的: 您的项目B引用了一个名为项目a的项目,而a也安装了相同的nuget软件包。和项目A使用 虽然您已经卸载了Project B上的nuget软件包,但您的
obj
文件夹中仍然有Project.assert.json
,xxx.nuget.g.props
等文件,这是PackageReference的一项功能。因此,项目B的nuget包管理格式与项目A相同,并将dll从项目A传输到项目