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

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

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

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

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


当前回答

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

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

其他回答

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

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

什么不起作用

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文件夹,因为它保留了由。net自动创建的文件,它不想把它们添加到源代码控制中。

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

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

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

和重建!

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

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