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

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

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

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

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


当前回答

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

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

其他回答

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

您将在任务托盘中看到图标

右击 退出 您应该能够在没有这个恼人的“拒绝许可”消息的情况下重新构建。

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

Hth……

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

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

taskkill /im dotnet /f

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

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

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

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

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

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

什么不起作用

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”是解决方案,所以我们可以这样做。