恢复nuget包冲突
restore nuget package conflict
在 VS2019 中,在包管理器控制台中,我开始使用 update-package
更新我的解决方案的所有包,但它停止在;
update-package : Unable to find package
'System.Management.Automation_PowerShell_3.0'. Existing packages must
be restored before performing an install or update. At line:1 char:1
- update-package
- CategoryInfo : NotSpecified: (:) [Update-Package], Exception
- FullyQualifiedErrorId : NuGetCmdletUnhandledException,NuGet.PackageManagement.PowerShellCmdlets.UpdatePackageCommand
所以我右键单击我的解决方案并要求恢复 nuget 包,但随后,我得到了一条矛盾的信息。
All packages are already installed and there is nothing to restore.
Time Elapsed: 00:00:00.0759442
========== Finished ==========
当我管理解决方案 nuget 包时(右键单击解决方案,manage nuget packages for solution
),在更新 tabitem 中,我 select 所有包并要求更新,我有一个:
Severity Code Description Project File Line Suppression State
Error Object reference not set to an instance of an object.
这与我的代码无关(构建成功)。
如何进行?
这个行为很奇怪,实际上,当你点击 restore nuget packages
按钮并且工作正常时,证明你的解决方案的所有 nuget 包都存在),没有理由 update-package
命令不起作用。
所以请尝试以下建议来解决问题:
建议
2) 检查你的 nuget package sources。检查安装 nuget 包的源,取消选中未使用的源。
记得查看System.Management.Automation_PowerShell_3.0
的私有nuget源。
3)关闭VS,删除解决方案文件夹下的.vs
隐藏文件夹,项目的bin
和obj
文件夹。
删除C:\xxx(current user)\perryq\AppData\Local\Microsoft\VisualStudio.0_xxx\ComponentModelCache
下的所有vs组件缓存
4)尝试使用devenv /safemode(没有任何第三方vs安装的扩展或包的默认vs环境)启动你的vs然后测试你的项目.
============================================= =======================
5)尝试创建一个新项目然后安装System.Management.Automation_PowerShell_3.0
和几个nuget包然后测试它。
如果在新项目上不存在,我想可能是你原项目的nuget包版本有冲突。您应该仔细检查您安装的软件包,或者您可以与我们共享 packages.config
文件来解决问题。
6) 首先备份您的 nuget package source。然后,关闭VS,删除C:\Users\xxx(current user)\AppData\Roaming\NuGet
.
下的全局nuget.config
文件
然后重启你的VS,然后将所需的nuget包源读入VS来测试你的项目。
7) Repair your VS 或者如果你的 VS2019 不是最新的,请更新它,这可能有修复。
在 VS2019 中,在包管理器控制台中,我开始使用 update-package
更新我的解决方案的所有包,但它停止在;
update-package : Unable to find package 'System.Management.Automation_PowerShell_3.0'. Existing packages must be restored before performing an install or update. At line:1 char:1
- update-package
- CategoryInfo : NotSpecified: (:) [Update-Package], Exception
- FullyQualifiedErrorId : NuGetCmdletUnhandledException,NuGet.PackageManagement.PowerShellCmdlets.UpdatePackageCommand
所以我右键单击我的解决方案并要求恢复 nuget 包,但随后,我得到了一条矛盾的信息。
All packages are already installed and there is nothing to restore. Time Elapsed: 00:00:00.0759442 ========== Finished ==========
当我管理解决方案 nuget 包时(右键单击解决方案,manage nuget packages for solution
),在更新 tabitem 中,我 select 所有包并要求更新,我有一个:
Severity Code Description Project File Line Suppression State Error Object reference not set to an instance of an object.
这与我的代码无关(构建成功)。
如何进行?
这个行为很奇怪,实际上,当你点击 restore nuget packages
按钮并且工作正常时,证明你的解决方案的所有 nuget 包都存在),没有理由 update-package
命令不起作用。
所以请尝试以下建议来解决问题:
建议
2) 检查你的 nuget package sources。检查安装 nuget 包的源,取消选中未使用的源。
记得查看System.Management.Automation_PowerShell_3.0
的私有nuget源。
3)关闭VS,删除解决方案文件夹下的.vs
隐藏文件夹,项目的bin
和obj
文件夹。
删除C:\xxx(current user)\perryq\AppData\Local\Microsoft\VisualStudio.0_xxx\ComponentModelCache
下的所有vs组件缓存
4)尝试使用devenv /safemode(没有任何第三方vs安装的扩展或包的默认vs环境)启动你的vs然后测试你的项目.
============================================= =======================
5)尝试创建一个新项目然后安装System.Management.Automation_PowerShell_3.0
和几个nuget包然后测试它。
如果在新项目上不存在,我想可能是你原项目的nuget包版本有冲突。您应该仔细检查您安装的软件包,或者您可以与我们共享 packages.config
文件来解决问题。
6) 首先备份您的 nuget package source。然后,关闭VS,删除C:\Users\xxx(current user)\AppData\Roaming\NuGet
.
nuget.config
文件
然后重启你的VS,然后将所需的nuget包源读入VS来测试你的项目。
7) Repair your VS 或者如果你的 VS2019 不是最新的,请更新它,这可能有修复。