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

我正在使用Visual Studio 2005。在先从版本控制中获取代码后, c#.net应用程序正常运行。但是,在做了一些修改后,当我构建我得到以下错误:

错误383无法复制文件“..\root\leaf\Bin\Debug\test.Resources.xml”到 “本\调试\ test.Resources.xml”。访问路径“Bin\Debug\test.Resources.xml”是 否认。li.rollmodel < / p >

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

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

首先,有人能告诉我如何删除这个文件夹的只读属性吗?我尝试删除它,但只读属性仍然存在。我也从版本控制方面尝试过,但也没有成功。

338234 次浏览

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

查看您通过手动复制解决问题的回复,我会说您正在处理的代码是由其他用户(具有管理员权限)制作的,因此它锁定在您身上。通过执行复制——?粘贴,你做了你自己的拷贝的源代码与所有的访问你需要。唯一需要注意的是,在这种情况下,如果其他开发人员需要处理你的副本,他/她会遇到你之前遇到的相同问题。

您不应该将文件夹属性更改为非只读。 你看到这个错误消息的原因是源代码控制假设你只存储了你的杂项文件,而不是bin文件夹,因为它保留了由. net自动创建的文件,它不想把它们添加到源代码控制中

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

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

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

我也遇到过这个问题。

首先,检查你是否已经将bin和obj文件夹映射到源代码控制程序。

这可能会把你的文件从二进制文件夹变成只读档案,这使得visual studio在编译代码时不可能覆盖它们。

从这些文件夹中删除映射,检查更改后再试一次。

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

希望这能帮助到一些人。

我重新添加了所有的非。NET依赖/引用,它做到了。

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

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

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

我知道这是一个老帖子,但对于那些寻找答案的人,就像我几分钟前一样,我建议先试着重启你的电脑。光是这一点就解决了我的问题。以前甚至不能手动复制到文件夹。

以管理员身份运行Visual Studio。或者你可以给“用户”添加写权限。在输出文件夹上

我自己解决了这个问题。问题是我在另一个地方找到了答案。关闭后,它就工作了

所以我遇到了同样的问题,我的原因是,我共享了我的开发文件夹,这样我就可以使用mac作为使用Xamarin的IOS应用程序的构建主机。该项目在mac上运行,它拥有dll的所有权,因此我无法从其他任何地方对该dll进行更改。简单地停止mac上的应用程序返回所有权给我,这允许完全访问再次。我希望这能成功。

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

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

和重建!

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

我有同样的错误,但我使用必然地版本控制。以下是我的解决方法。

  1. 关闭强制P4V客户
  2. 重新启动Visual Studio 2010(可能不需要)
  3. 重建项目,成功了
  4. 我感到特别高兴,同时又感到厌恶

只需确保该文件夹不是只读的,然后重新构建解决方案

我多次遇到这个问题,我找到的解决方案是删除调试文件夹,然后重新构建解决方案/项目。为我工作过!!

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

我右键单击Bin文件夹,单击属性,看到属性下的只读复选框被选中。

我取消选中“只读”复选框,然后单击“应用”,然后在显示的新弹出框上单击“确定”。

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

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

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

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

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

我通过installing Unlocker . install

检查任务管理器,确保没有挂起devenv.exe进程。终止失控进程并重试。

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

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

这个过程对我很有用。

我使用Visual Studio 2013。我曾两次遇到这个问题:

  1. 第一次,我在没有管理员权限的情况下运行Visual Studio。因此,我关闭VS并使用'以管理员身份运行'选项启动它。这解决了我的问题。

  2. 在第二次,我重新启动VS很多次,每次都确保我是作为管理员运行它。此外,我还重建了很多次溶液。但是,尽管如此,我还是犯了错误。 在这之后,我从目标位置删除了相关文件(文件已经存在,可能是来自上一个构建的位置,它试图复制到)重新构建解决方案。从那以后,错误消失了,一切都很顺利!李< / p > < / >

确保将文件名附加在路径名之后(path\fileName.extension)。我花了一个多小时没有注意到这个。

在我的情况下,是反病毒阻止了文件。

这可能是最初从源代码控制(TFS等)加载源代码的奇怪副产品,其中所有文件和文件夹都是写保护的。转到顶层目录并检查属性,你可以发现只读属性被选中。取消勾选,系统将询问您是否希望将顶层下的所有dirs设置为可写。这应该能解决问题。

我试着注销,然后重新登录,这对我来说很有效。希望这能帮助到其他人。

这在Visual Studio 2017中再次出现,在这种情况下,原因是应用程序洞察过程ServiceHub.DataWarehouseHost.exe。

线程无法复制“obj\Debug\netcoreapp1.1\src. exe”文件。“bin\Debug\netcoreapp1.1\src.pdb”中讨论了一个解决方案,即在项目中添加一个预构建事件,以便在每次项目构建时终止进程。引用这个链接:

  • 右键单击项目上的属性
  • 选择属性
  • 构建事件
  • 预构建事件命令行
taskkill /IM ServiceHub.DataWarehouseHost.exe /F 2>nul 1>nul
Exit 0
  • 保存并构建

如果有人在尝试其他方法之前想要一个额外简单的解决方案。

只要重新启动你的电脑。 打开Visual Studio,尝试重新构建

终止进程VBCSCompiler.exe并重建。

在我的例子中,我使用Visual Studio Community 7.1.5 for Mac将一个项目从Windows移植到OSX。该技巧是在项目首选项上禁用__abc0选项:

enter image description here

在Visual Studio 2015中,改变输出路径对我来说很有效。这应该有帮助- 更改Build Output目录

我能够通过删除目标文件来解决这个问题(在你的例子中“Bin\Debug\test.Resources.xml”),从目标网站的Bin文件夹中重新构建它。这为我解决了问题。

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

你会在你的任务托盘IIS Express icon中看到图标

  1. 右击
  2. 退出
  3. 你应该能够rebuild没有这个恼人的“权限被拒绝”消息。

这也是为什么“重新启动Visual Studio”将“修复”这个问题。这样做将停止IIS Express。

Hth……

1)关闭visual studio解决方案

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

3)导航到c——> Windows——>微软。Net—> Framework64—> v4.030319—>临时Asp. NetNET Files——>删除该路径下的所有文件和文件夹。

4)返回命令提示符——> iisreset /start

5)现在打开visual studio—>以管理员身份运行—>清理解决方案并构建它(不要重新构建..只是构建为我工作)

对我来说,问题是解决方案中的另一个项目有相同的.dll文件,该文件最近已签入。

手动将最近检入的.dll版本从另一个项目bin文件夹复制到产生错误的项目的bin文件夹中,可以修复这个问题。

对于我们的解决方案,一个长期的解决方案是在解决方案中的所有项目中使用相同的.dll文件,而不是在多个项目中使用相同的.dll文件,但我不喜欢解决这个问题,所以快速的解决方案是复制新版本。

简单的解决方案:

只需升级以下包

Microsoft.CodeDom.Providers.DotNetCompilerPlatform v1.0.5 to v1.0.7

这将解决问题。

首先进入文件的位置。然后右键单击文件的文件夹-> Properties -> 未勾选的只读选项并应用到文件及其子文件夹。 它解决了我的问题。 编码快乐!< / p >

转到文件的路径,然后取消选中此文件的只读复选框。

我也有同样的问题,为了解决这个问题,我检查了/做了几件事

什么不起作用

1) Read/write permissions were given to directory
2) Restarted visual studio
3) Tried deleting visual studio temp files

最后什么起作用了

只需将Fred Morrison给出的命令粘贴到“包管理器控制台”:

Get-Process | Where-Object -Property Name -EQ 'VBCSCompiler' | Stop-Process -Force -Verbose

注意:只是一个观察重新启动Visual studio可能不会在这种情况下工作,但重新启动系统可以因为停止进程“VBCSCompiler”是解决方案,所以我们可以这样做。

我尝试了这里的一切,不知何故删除所有的bin和obj文件夹在我的项目没有工作。从其他进程释放文件夹没有任何作用。重启不起任何作用。通过取消主文件夹上的检查来删除每个文件的只读并没有帮助。

每个依赖项最终都将自己添加到问题中。直接在依赖项文件夹中构建,所以我很困惑。我想重复这个问题,但我发现了一个有效的方法。

你知道什么管用吗?

dotnet clean

我所看到的大多数答案都在客观地探索环境可能存在的问题,这可能是99%遇到这个问题的人的正确答案(无法从………访问被拒绝)。

我想我应该把我的经验分享给那些因为各种原因而遇到这个问题的1%的人。

我写了一个批处理文件重命名程序,我用它来处理成千上万的文件,我的防病毒软件把它解释为木马并自动隔离它。有这个路径坐在我的反病毒'黑名单,visual studio永远不能复制*.exe到bin文件夹,因此无法复制。exe。

我的决议是白名单这条路径和问题是解决。

欢呼。

在尝试了几乎所有的东西之后,只是复制粘贴项目在不同的位置,并建立项目…这招奏效了。

我的问题在安装Windows Update KB5003637后就开始了。我的VS2019项目之前运行正常,但在安装Windows更新后出现了这个错误。卸载它,项目再次工作。

在我的情况下,avast反病毒隔离了[app-name].exe文件,需要从avast应用程序复制,我不得不去保护>隔离,单击文件旁边的菜单按钮,然后单击“恢复并添加例外”,如下所示

enter image description here

对于那些在VS 2019中仍然面临这个问题的人

1-开放式终端

2-写“dotnet clean”

对于那些使用网络的人。核心:

dotnet clear 可能有时会解决,但解决这个问题的可靠方法是简单地杀死所有和任何dotnet正在运行的进程:

taskkill /im dotnet /f

注意,如果你有其他Rider/Visual Studio实例在运行,它们就会被删除。