【问题标题】:VS Command Line "The Process cannot access the file...because it is being used by another process" build failsVS命令行“进程无法访问文件......因为它正在被另一个进程使用”构建失败
【发布时间】:2013-11-18 06:33:34
【问题描述】:

我已经看到了一堆与此类似的关于 VS 的其他问题,但没有关于命令行的问题。

使用 VS 命令行(即 BuildConsole "SOLUTIONNAME" /BUILD /cfg="CONFIG_SETTINGS" /prf="PROJECTNAME"),我得到了问题中显示的高度可重现(尽管不是 100%)错误:“进程不能访问该文件,因为它正被另一个进程使用”。但是,我只在运行 BuildConsole 的前 1-5 次出现此错误。这似乎是一个与时间有关的事情。如果我运行一次 BuildConsole,然后等待一段时间,然后再次运行,它将起作用。如果我连续运行 5 次,它会全部失败 5 次,或者有时会在第 5 次运行,这取决于之前运行失败的速度。此外,我可以通过在 VS IDE 中打开解决方案,然后关闭 IDE 并重新运行来使其 100% 工作。

这个构建命令是一个工具的一部分,如果命令失败,它会报告失败(虽然它不应该失败,但大多数时候它会报告失败)。所以我的问题是:我怎样才能让 BuildConsole 命令第一次工作,100% 的时间?显然,如果解决方案/项目实际上正在被另一个进程使用,我不希望它能够工作,但它应该能够控制挂在文件上的任何内容。

【问题讨论】:

  • 你试过关闭杀毒软件吗?
  • @ScottMcP-MVP 我不能。这是在工作。

标签: c++ visual-studio-2010 build


【解决方案1】:

我在 Windows 7 上遇到了同样的问题,已将 Visual Studio 文件夹从 Documents 文件夹移动到 C:\ 的根目录,将 Tools/Options/Help/Import 和 Export 设置中的位置更改为指向新位置,同样项目和解决方案都指向新位置。 构建完全没有问题,除非代码有错误。

【讨论】:

  • 这对于个人用户来说似乎是一个很好的解决方案,所以 +1。不幸的是,我无法为使用该工具的每个人在工作中强制执行如此大的更改,因此它并不真正适用于我的情况。不过我会在我的电脑上试试。
【解决方案2】:

问题不是在管理员模式下运行。当我将运行 BuildConsole 的 C# 程序设置为强制管理员权限时,BuildConsole 每次都有效。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-07-05
    • 2015-12-07
    • 2011-04-17
    • 1970-01-01
    • 2012-06-17
    • 1970-01-01
    相关资源
    最近更新 更多