使用Process.Start清理解决方案 - devenv.exe使.pdb文件保持打开状态

时间:2014-10-28 13:07:20

标签: c# visual-studio

我正在使用以下方式以编程方式清理解决方案:

var cleanProcess = Process.Start(@"e:\Program Files (x86)\Visual Studio\Common7\IDE\devenv.exe", string.Format(@"{0}\{1}.sln /clean", _solutionFolder, _solutionName));
cleanProcess.WaitForExit();

但这并没有删除bin文件夹中的所有文件(它对某些解决方案有效但对其他人没有)所以之后我试图删除bin文件夹中的所有文件,但它不起作用,因为devenv .exe仍然打开.pdb文件。

我也试过手动删除它们,所以这与删除代码没有关系。

之后我也尝试添加cleanProcess.Dispose();,这没有任何区别。我也尝试了cleanProcess.Kill();,但这不起作用,因为该过程已经关闭。

即使在进程停止后,如何关闭文件?或者是否有其他方法可以确保/clean删除所有文件?

1 个答案:

答案 0 :(得分:0)

在这种情况下,你会尝试使用msbuild而不是devenv:

%msbuildpath%/msbuild foo.sln /t:clean