NuGet.exe pack gives access to the path is denied

本秂侑毒 提交于 2020-08-19 05:49:29

问题


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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!