无法完全卸载一个或多个软件包

Sam*_*Sam 53 nuget

我有一个ASP.NET MVC 4应用程序.我使用NuGet来更新创建应用程序时安装的所有NuGet包.其中一个软件包是Microsoft.Bcl.Build.

更新后,NuGet在其窗口底部显示以下消息: NuGet错误显示

我已经多次重启Visual Studio,但消息仍然存在.当我检查已安装的软件包时,确实显示软件包的更新版本(1.0.8)存在.

我怎样才能解决这个问题?

Jed*_*dja 80

而不是删除所有文件~/packages,看看是否有任何*.deleteme文件~/packages并删除它们.然后重新启动Visual Studio.


Sam*_*Sam 47

我认为这个问题是由于软件包只读或在文件系统级别无法访问.

源代码管理下的包

临时解决方案(未经测试)

在告诉NuGet重新启动Visual Studio以删除软件包之前,请检查整个软件包文件夹.

永久解决

我发现可以通过从源代码控制中删除软件包而不是使用NuGet Package Restore来永久解决这个问题.

包不受源代码管理

临时解决方案

我通过从解决方案的packages文件夹中删除引用该包的所有文件来解决这个问题.具体来说,这些是:

  1. 文件夹:Microsoft.Bcl.Build.1.0.7
  2. 文件:Microsoft.Bcl.Build.1.0.7.deleteme

  • 在我的情况下,一个完全不同的进程锁定了nuget包中的一个文件夹.一旦我使用其中一个工具查看哪个进程锁定了哪个文件/文件夹并将其解锁,问题就解决了. (2认同)

Cod*_*mer 8

就我而言,相关的包文件夹仍然存在~\packages,尽管它们是空的.我删除了文件夹并重新启动了Visual Studio,此警告消失了.