我有一个ASP.NET MVC 4应用程序。我使用NuGet来更新创建应用程序时安装的所有NuGet包。其中一个软件包是 Microsoft.Bcl.Build 。
更新后,NuGet在其窗口底部显示以下消息:
我已经多次重启Visual Studio,但消息仍然存在。当我检查已安装的软件包时,确实显示软件包的更新版本(1.0.8)存在。
我该如何解决这个问题?
答案 0 :(得分:78)
不要删除所有~/packages
,而是查看*.deleteme
中是否有~/packages
个文件并将其删除。然后重新启动Visual Studio。
答案 1 :(得分:47)
我认为这个问题是由于软件包是只读的,或者是在文件系统级别无法访问的。
在告诉NuGet重新启动Visual Studio以删除软件包之前,请检查整个软件包文件夹。
我发现可以通过从源代码管理中删除软件包而不是使用NuGet Package Restore来永久解决这个问题。
我通过从解决方案的 packages 文件夹中删除引用相关软件包的所有文件来解决这个问题。具体来说,这些是:
答案 2 :(得分:8)
就我而言,相关的包文件夹仍保留在~\packages
中,尽管它们是空的。我删除了文件夹并重新启动了Visual Studio,这个警告就消失了。
答案 3 :(得分:2)
1)删除整个~\packages
文件夹。
2)重新启动VS
。
3)转到Manage NuGet Packages
和Restore
答案 4 :(得分:2)
我刚删除了解决方案文件夹中Packages
文件夹中有错误的每个包的文件夹,还删除了.deleteme
文件,一切正常!
答案 5 :(得分:1)
我同意,当您的packages文件夹受源代码管理时,可能会发生这种情况。如果您想在那里使用它,而不是删除绑定,您可以检查全部,使用NuGet包管理器删除包,然后在病房后检查。
答案 6 :(得分:1)
根据我的经验,我在这个帖子上找到了答案,但是上面使用了几个不同答案的组合,所以我想我会分享我找到的答案。
我和“Microsoft.Bcl.Build”作为原始海报有完全相同的问题。我一直在尝试使用NuGet更新其他功能的引用,并且遇到了一些更新问题(兼容性然后回滚)。在此NuGet失败后,我开始收到此错误。
我最初使用了选定的答案和Jedidja的答案,并且能够让它发挥作用,但它只是部分解决了我的问题。它确实修复了VS重启错误,但它导致TFS的下游问题,因为我无法再检查项目,因为它期望“* .deleteme”文件。这让我思考,所以我做了一些测试。当我从回收站恢复文件时,我再次开始重新启动错误。
这是我偏离发布的答案并完全解决我的问题版本的地方。
这次我检查了TFS时,项目检查了所有内容(在我删除了“* .deleteme”文件后使用NuGet更新项目之后)。一旦检查了所有内容,我注意到该文件仍在等待登记,所以我再次检查了解决方案并且TFS接受了该文件,但它是作为删除....假设它在第一次检查然后VS自动删除了需要第二次办理登机手续的。无论如何....在最后一次挂起的更改签入之后,文件已经消失,VS不再抱怨需要重新启动。我无法肯定地说,因为问题已经消失,但我感觉如果我在删除文件之前检查了代码,它可能在没有手动文件操作的情况下解决了问题。
答案 7 :(得分:0)
**大家好。**
我这样解决了这个问题。
如果您有源代码管理,则以管理员身份运行vs(这很重要)
- >删除有关包的事情。 样本 - >我删除了所有实体框架版本文件夹。
重启vs
就是这样。
答案 8 :(得分:0)
如果您使用的是Entity Framework 6,则可以安装NuGet包" EntityFramework.SqlServerCompact"。
这使我能够使用2013和MVC5的项目模板附带的标准ASP.NET身份工具。