0

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

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

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

4

2 回答 2

2

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

于 2013-11-18T00:44:28.000 回答
0

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

于 2014-03-13T21:13:04.180 回答