无法复制文件,拒绝访问路径

问题描述 投票:213回答:39

我从版本控制中获取代码后首次运行c#.net应用程序正在使用visual studio 2005,但经过一些修改后,当我构建时,我收到这样的错误。

错误383无法将文件“.. \ root \ leaf \ Bin \ Debug \ test.Resources.xml”复制到“Bin \ Debug \ test.Resources.xml”。访问路径'Bin \ Debug \ test.Resources.xml'被拒绝。 li.rollmodel

有没有人知道为什么会出现这个问题?

编辑我可以看到我的完整项目源代码物理文件夹是只读的,我无法删除该只读属性

首先,任何正文告诉我如何删除我已删除的文件夹的只读属性,但仍然显示那个,我从版本控制端尝试但效果相同。

c# visual-studio-2005 access-denied
39个回答
267
投票

我通过从bin文件夹中删除有争议的文件并重建项目来解决这个问题。


6
投票

任何人都可以知道为什么会出现这个问题吗?

看看你通过手动复制解决问题的回答,我会说你正在处理的代码是由其他一些用户制作的(也有管理员权限)所以它被锁定了。通过执行复制 - ?粘贴,您使用所需的所有访问权限制作了源的OWN副本。唯一需要注意的是,在这种情况下,如果其他开发人员需要处理您的副本,他/她将会遇到您之前遇到的相同问题。


3
投票

我重新添加了所有非.NET依赖项/引用,它就可以了。


3
投票

有同样的问题,但每次重启Visual Studio对我来说都没有选择,因为问题有时会经常发生。

我通过安装Unlocker来处理它(尝试在安装时安装任何工具栏,所以不要忘记取消选中),这个应用程序让我可以快速访问重命名/删除锁定的“.xml”文件。我知道这只是一种解决方法,但对我来说这是解决这个问题的最快解决方案。


3
投票

老帖子,但这个僵尸正在击中VS 2017(我还没有挖掘为什么它只是“一些”项目)。在这种情况下,它不是用户权限,而是IIS Express进程仍在使用该文件。

您将在任务栏IIS Express icon中看到该图标

  1. 右键点击
  2. 出口
  3. 你应该能够rebuild没有这个恼人的“许可被拒绝”消息。

这也是“重启Visual Studio”将“解决”问题的原因。这样做会停止IIS Express。

心连心...


3
投票

首先转到文件的位置。然后右键单击文件的文件夹 - >属性 - >未选中的只读选项,并应用于文件及其子文件夹。它解决了我的问题。快乐的编码!


2
投票

当我向解决方案添加新的安装项目时,我创建了这个问题,然后将文件直接从主应用程序项目的/ bin / release文件夹添加到安装项目的应用程序文件文件夹中。安装项目的源代码控制一直阻止我完成主应用程序项目的构建。

解决方案:在任何项目之外创建一个单独的转储文件夹,该项目将包含要包含在安装中的所有文件,并从那里添加它们。这是一个痛苦,因为现在我必须记住复制每个新安装包的所有文件。我可能会看到我是否可以使用后期构建操作做一些自动构建,以使流程更顺畅。


2
投票

我自己解决了这个问题。问题是我在另一个地方打开了解决方案。关闭它之后就可以了


2
投票

如果将任何文件复制到解决方案中,请确保文件不处于“只读”模式。右键单击文件并取消选中属性选项解决了我的问题。


2
投票

我有相同的错误,但我使用Perforce版本控制。这就是我修复它的方法。

  1. 关闭Perforce P4V客户端
  2. 重新启动Visual Studio 2010(可能没有必要)
  3. 重建了成功的项目
  4. 同时感到特别高兴和反感

2
投票

我也有同样的问题。我收到的错误消息与无法复制相关,因为访问路径被拒绝。在我的情况下,所有我的dll和xml文件等都放在D:\ TFS \ Example \ Bin \ Debug文件夹中。

我右键单击Bin文件夹并单击属性,并在“属性”下看到“只读”复选框。

我取消选中了“只读”复选框,然后在显示的新弹出窗口中单击“确定”并单击“确定”。

我回到Visual Studio并构建我的解决方案,它给了我错误消息。

Voilaa ..这次它成功构建没有错误。

我不知道这是否完美,但我这样做是为了解决我的问题。


117
投票

只需确保该文件夹不是只读文件并重建解决方案


2
投票

检查任务管理器,确保没有挂起devenv.exe进程。杀掉失控的过程,然后再试一次。


1
投票

只需右键单击您的MVC项目,然后单击clean选项。我有一个类似的问题,在重建之前清理项目为我解决了它。


1
投票

我也有同样的问题。我通过取消选中根文件夹的只读属性来修复它。


1
投票

我也有这个问题。这是如何解决这个问题的

  • 从项目中排除bin文件夹。
  • 关闭视觉工作室。
  • 磁盘清理C盘。
  • 在visual studio中重新打开项目。
  • 然后重建解决方案。
  • 运行项目。

这个过程对我有用。


1
投票

在Visual Studio 2015中更改输出路径对我有用。这应该有帮助 - Changing the Build Output directory


1
投票

我能够通过从目标网站的bin文件夹中删除抱怨的目标文件(在您的示例中为“Bin \ Debug \ test.Resources.xml”)并重新构建它来解决问题。我已经修复了它。


1
投票

1)关闭visual studio解决方案

2)导航到命令提示符 - >以管理员身份运行 - > iisreset / stop

3)导航到c - > Windows - > Microsoft.Net - > Framework64 - > v4.030319 - >临时Asp.NET文件 - >删除此路径中的所有文件和文件夹。

4)导航回命令提示符 - > iisreset / start

5)现在打开视觉工作室 - >以管理员身份运行 - >清理解决方案并构建它(不要重建...只为我工作的构建)


0
投票

您不应该将文件夹属性更改为not-readonly。您看到此错误消息的原因是源控件假定您只将杂项文件存储在bin文件夹以外的其他位置,因为它为.Net自动创建的文件保留,并且不希望将它们添加到源文件中控制。

我建议不要使用Environment.CurrectDirectory(我假设您当前正在使用),而是在%appdata%地址中创建名为“MyProjectName”的文件夹,然后使用:

System.IO.Path.Combine(Environment.GetEnvironmentVariable("appdata"),"YourProjectName")


0
投票

我知道这是一个旧线程,但对于那些寻找答案的人,比如我几分钟之前,我建议先尝试重新启动计算机。仅此一点对我而言。之前甚至无法手动复制到文件夹。


0
投票

所以我遇到了同样的问题,我的原因,我共享了我的开发文件夹,所以我可以使用mac作为使用Xamarin的IOS应用程序的构建主机。该项目在mac上运行,它获取了dll的所有权,因此我无法从其他任何地方更改该dll。只需在mac上停止应用程序就可以将所有权返还给我,从而再次允许完全访问权限。我希望这可以做到。


68
投票

我解决了这个问题:关闭Visual Studio,再次打开它并加载解决方案,重建您的解决方案。我的问题发生在使用TFS和VIsual Studio 2010。


0
投票

清除“bin \ debug”中的所有引用库,然后在单击“清理解决方案”后右键单击解决方案资源管理器中的解决方案。

并重建!!


45
投票

杀死进程VBCSCompiler.exe并重建。


22
投票

我也介入了这个问题。

首先去检查你是否已将bin和obj文件夹映射到Source Control程序。

这可能会将您的文件从二进制文件夹转换为只读存档,这使得Visual Studio在编译代码时无法覆盖它们。

转到并从这些文件夹中删除映射,检查更改,然后重试。

我的问题发生在使用TFS(团队基础服务器)和Visual Studio 2010。

希望这有助于某人。


18
投票

以管理员身份运行Visual Studio


8
投票

我使用Visual Studio 2013.我遇到了这个问题2次:

  1. 第一次,我在没有管理员权限的情况下运行Visual Studio。所以,我关闭VS并使用“以管理员身份运行”选项启动它。这解决了我的问题。
  2. 第二次,我多次重启VS,每次都确保我以管理员身份运行它。此外,我多次重建解决方案。但是,尽管我犯了错误。之后,我从目标位置删除了相关文件(该文件已经存在,可能来自它尝试复制到的位置的上一个版本)并重建了解决方案。在那之后,错误消失了,一切顺利!

7
投票

在我的情况下,它是阻止该文件的防病毒软件。


7
投票

这已经在Visual Studio 2017中再次出现,在这种情况下,原因是Application Insights进程ServiceHub.DataWarehouseHost.exe。

线程warning MSB3026: Could not copy "obj\Debug\netcoreapp1.1\src.pdb" to "bin\Debug\netcoreapp1.1\src.pdb"中讨论了一种解决方法,即在每次构建项目时向项目添加预构建事件以终止进程。引用该链接:

  • 右键单击项目上的属性
  • 选择属性
  • 建立活动
  • 预构建事件命令行
taskkill /IM ServiceHub.DataWarehouseHost.exe /F 2>nul 1>nul
Exit 0
  • 保存并构建
© www.soinside.com 2019 - 2024. All rights reserved.