问题
When I try to pack my MVC project (NuGet.exe pack
) I get:
NuGet.exe : Access to the path '...' is denied.
This happens to be the case for all files in the content
and script
folder of my MVC solution. If I remove the readonly flag on all these files NuGet.exe
is able to create the NuGet package.
Why do I have to remove the readonly flag? Is there another way?
I'm using TFS which specify the readonly flag on all files under source control.
I am running:
- NuGet Version: 1.7.30402.9028
- Microsoft Visual Studio 2010 Version 10.0.40219.1 SP1Rel
I'm using the NuGet.exe
that you get when you install the NuGet package NuGet.CommandLine which is located at http://nuget.org/packages/NuGet.CommandLine.
回答1:
Apparently, you need to set ReadOnly=false
for the files it accesses
回答2:
Try running it as administrator.
回答3:
I ran into this with nuget restore
after doing a git clean -fd
with VisualStudio open: the packages/
directory was marked for deletion, and while several files were deleted, the packages/
folder itself was not as VisualStudio had the .nupkg
files open.
Once I closed VisualStudio and re-ran git clean
, it removed the packages/
directory and then nuget was able to restore everthing correctly.
回答4:
In my case something happened when switching branch in git. Everyone lost execute permissions for Nuget.exe.
This blog post helped me: http://mannysiddiqui.wordpress.com/2013/05/11/nuget-access-is-denied-command-existed-with-code-5/
回答5:
I was running into a similar problem. I attempted to restart Visual Studio, Run as Administrator (Which I always do), Set the folder attributes to ensure the 'Read-Only' flag was off. Regardless, whatever I did, I still encountered the error "access to the path is denied" when updating my Nu-Get packages.
I was able to fix the issue by updating packages one-by-one. Choosing instead to go through each dependency and updating it. Once the dependency was updated I would choose another, sometimes the same error resulted in which case I would choose another until all my packages were successfully updated.
It appears in my case the Nu-Get packages had to be updated in a particular order.
Hope this helps someone out there
回答6:
My collegue just got this error, during all "worked on my machine". After some research I found out that the *.nuspec file for some reason wasn't added to the version control.
回答7:
In order to Restore nuget packages, remove read only permissions from the folder level (for windows). Clean the solution and Build. It will works
回答8:
I had this problem and it turned out windows had an update waiting for the next restart. Cleared with no problem after restarting and waiting for the update.
回答9:
Run your Visual Studio with administrator rights.
来源:https://stackoverflow.com/questions/10582001/nuget-exe-pack-gives-access-to-the-path-is-denied