43

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

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

我的 MVC 解决方案的contentand文件夹中的所有文件都是这种情况。script如果我删除所有这些文件上的只读标志,NuGet.exe就可以创建 NuGet 包。

为什么我必须删除只读标志?还有其他方法吗?

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

我在跑步:

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

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

4

10 回答 10

34

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

于 2012-11-07T22:18:47.223 回答
16

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

于 2012-10-04T21:15:01.053 回答
5

我在打开 VisualStudionuget restore后遇到了这个问题:该目录被标记为删除,虽然删除了几个文件,但文件夹本身并没有因为 VisualStudio打开文件。git clean -fdpackages/packages/.nupkg

一旦我关闭 VisualStudio 并重新运行git clean,它就会删除该packages/目录,然后 nuget 就能够正确恢复所有内容。

于 2016-02-11T16:09:42.633 回答
2

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

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

于 2014-02-14T15:23:47.380 回答
2

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

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

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

希望这可以帮助那里的人

于 2018-04-11T16:31:44.843 回答
1

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

于 2018-04-11T00:14:17.067 回答
0

我的同事在所有“在我的机器上工作”期间都遇到了这个错误。经过一番研究,我发现 *.nuspec 文件由于某种原因没有添加到版本控制中。

于 2014-10-29T11:14:31.177 回答
0

就我而言,它*.gitattributes位于最近修改的 git repo root 中(错误地),因此 git 开始nuget.exe在构建服务器上签出并将所有内容转换LFCRLF内部,使其无法执行。

于 2021-11-10T15:48:03.880 回答
0

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

于 2018-03-15T12:30:47.583 回答
-3

使用管理员权限运行 Visual Studio。

于 2017-10-30T11:29:48.173 回答