当我尝试打包我的MVC项目(NuGet.exe pack
)时,我得到:
NuGet.exe : Access to the path '...' is denied.
对于我的MVC解决方案的content
和script
文件夹中的所有文件,情况都是如此。如果我删除所有这些文件上的只读标志NuGet.exe
能够创建NuGet包。
为什么我必须删除只读标志?还有另一种方式吗?
我正在使用TFS,它在源代码管理下的所有文件上指定readonly标志。
我正在跑步:
我正在使用安装位于http://nuget.org/packages/NuGet.CommandLine的NuGet包 NuGet.CommandLine 时获得的NuGet.exe
。
答案 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。