有什么可以阻止VS 2008删除我可以手动删除的文件?

时间:2011-02-11 06:34:51

标签: visual-studio visual-studio-2008

我正在尝试使用Visual Studio 2008构建项目,但我收到此错误:

  

无法删除文件'< filename>'。确保该文件未被其他进程打开且没有写保护。

该文件绝对不受写保护(确实如此,但我更改了它),我不认为它正在被其他进程使用,因为我可以在Windows资源管理器中没有问题地删除它。

什么可能阻止Visual Studio删除它?

1 个答案:

答案 0 :(得分:0)

我修正了这个错误如下:

  1. 在左侧的解决方案资源管理器中选择所有项目。
  2. 右键单击任何所选项目,然后选择“属性”
  3. 从配置下拉菜单中选择“所有配置”。
  4. 从平台下拉菜单中选择“所有平台”。
  5. 选择左侧的“配置属性”,然后选择“常规”。
  6. 编辑“输出目录”条目。默认情况下,它具有类似“$(SolutionDir)$(PlatformName)\ $(ConfigurationName)”的值。将其更改为指向$(SolutionDir)上方的目录。假设您的$(SolutionDir)是“\ Code \ $(ProjectName)”,尝试将“输出目录”设置为“\ Code \ Build \ $(ProjectName)\ $(PlatformName)\ $(ConfigurationName)”
  7. 编辑“中间目录”条目并将其设置为“$(OutDir)”。这会将中间文件放在与“输出目录”条目相同的位置。这一步可能是可选的,但这就是我设置它的方式。
  8. 我不确定为什么VC2008会出现这个问题,但我猜它有一个单独的线程,它始终扫描$(SolutionDir)中的文件并随机阻止它们被删除。当我在$(SolutionDir)中有输出目录时,我会在构建期间随机获取尝试删除文件的错误,并且它似乎可能发生在任何文件上。我的构建将在90%的时间内失败。按照以下评论中的建议以管理员身份运行VC,原始问题并没有解决我的问题,也没有替换所有文件权限,运行chkdsk / F或重新启动。我还要理解,随着项目变得越来越大,越来越复杂,这个问题会逐渐恶化。