NuGet.exe 包给出“访问路径”被拒绝错误

问题描述 投票:0回答:10

当我尝试打包我的 MVC 项目时 (

NuGet.exe pack
),我得到:

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

我的 MVC 解决方案的

content
script
文件夹中的所有文件都属于这种情况。如果我删除所有这些文件上的只读标志
NuGet.exe
就能够创建 NuGet 包。

为什么我必须删除只读标志?还有别的办法吗?

我正在使用 TFS,它在源代码控制下的所有文件上指定只读标志。

我正在跑步:

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

我正在使用安装 NuGet 包时获得的

NuGet.exe
NuGet.CommandLine,位于 http://nuget.org/packages/NuGet.CommandLine

visual-studio nuget
10个回答
35
投票

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

ReadOnly=false


18
投票

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


9
投票

在打开 VisualStudio 的情况下执行

nuget restore
后,我遇到了这个问题:
git clean -fd
目录被标记为删除,虽然删除了几个文件,但
packages/
文件夹本身并不像 VisualStudio 具有
packages/ 那样
文件打开。

一旦我关闭 VisualStudio 并重新运行

.nupkg

,它就会删除

git clean
目录,然后 nuget 就能够正确恢复所有内容。
    


3
投票

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

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

希望这对那里的人有帮助


2
投票

这篇博文帮助了我:

http://mannysiddiqui.wordpress.com/2013/05/11/nuget-access-is-denied-command-existed-with-code-5/


1
投票


0
投票


0
投票


0
投票
packages/

最近被修改(错误地),因此 git 开始在构建服务器上签出

*.gitattributes
并将所有
nuget.exe
转换为内部的
LF
,使其不可执行。
    


-2
投票

© www.soinside.com 2019 - 2024. All rights reserved.