NuGet.exe包允许访问路径被拒绝

时间:2012-05-14 10:58:05

标签: visual-studio nuget

当我尝试打包我的MVC项目(NuGet.exe pack)时,我得到:

NuGet.exe : Access to the path '...' is denied.

对于我的MVC解决方案的contentscript文件夹中的所有文件,情况都是如此。如果我删除所有这些文件上的只读标志NuGet.exe能够创建NuGet包。

为什么我必须删除只读标志?还有另一种方式吗?

我正在使用TFS,它在源代码管理下的所有文件上指定readonly标志。

我正在跑步:

  • NuGet版本:1.7.30402.9028
  • Microsoft Visual Studio 2010版本10.0.40219.1 SP1Rel

我正在使用安装位于http://nuget.org/packages/NuGet.CommandLine的NuGet包 NuGet.CommandLine 时获得的NuGet.exe

9 个答案:

答案 0 :(得分:29)

显然,您需要为其访问的文件设置ReadOnly=false

答案 1 :(得分:11)

尝试以管理员身份运行它。

答案 2 :(得分:3)

在使用VisualStudio打开nuget restore后,git clean -fd遇到了这个问题:packages/目录被标记为删除,并且删除了几个文件时packages/文件夹本身并不像VisualStudio打开.nupkg文件那样。

关闭VisualStudio并重新运行git clean后,它删除了packages/目录,然后nuget能够正确恢复外包。

答案 3 :(得分:2)

在我的情况下,在git中切换分支时发生了一些事情。每个人都失去了Nuget.exe的执行权限。

这篇博客文章帮助了我:http://mannysiddiqui.wordpress.com/2013/05/11/nuget-access-is-denied-command-existed-with-code-5/

答案 4 :(得分:1)

我遇到了类似的问题。我尝试重新启动Visual Studio,以管理员身份运行(我总是这样做),设置文件夹属性以确保“只读”标志已关闭。无论如何,无论我做了什么,我在更新我的Nu-Get软件包时仍然遇到错误“拒绝访问路径”。

我能够通过逐个更新软件包来解决问题。选择通过每个依赖项并更新它。一旦依赖关系被更新,我会选择另一个,有时会出现相同的错误,在这种情况下,我会选择另一个,直到我的所有包都成功更新。

在我的情况下,Nu-Get包必须按特定顺序更新。

希望这可以帮助那些人

答案 5 :(得分:0)

我的同事刚刚在我的机器上工作时遇到了这个错误"。经过一些研究后,我发现* .nuspec文件由于某种原因没有添加到版本控件中。

答案 6 :(得分:0)

要恢复nuget包,请从文件夹级别(对于Windows)删除只读权限。清理解决方案并构建。它会起作用

答案 7 :(得分:0)

我遇到了这个问题,结果发现Windows有一个等待下次重启的更新。重新启动并等待更新后,清除没有问题。

答案 8 :(得分:-1)

以管理员权限运行Visual Studio。