我与多个项目一起工作,我想递归删除所有名为“bin”或“obj”的文件夹,这样我就可以确保所有项目都会重新构建所有内容(有时这是迫使Visual Studio忘记所有以前的构建的唯一方法)。

是否有一种快速的方法来实现这一点(例如使用.bat文件),而不必编写。net程序?


当前回答

我们有一个大的。sln文件与许多项目文件。我开始了一个“ViewLocal”目录的策略,所有非源代码控制的文件都位于这个目录中。该目录中有一个“Inter”和一个“Out”目录。分别用于中间文件和输出文件。

这显然让你很容易去到你的“viewlocal”目录,做一个简单的删除,以摆脱一切。

在花时间研究如何使用脚本解决这个问题之前,您可能会考虑设置一些类似的东西。

我不会说谎,在一个大型组织中维持这样的设置已经证明....有趣。特别是当您使用像QT这样的技术来处理文件和创建非源代码控制的源文件时。但那完全是另一回事了!

其他回答

“干净”还不够好吗?注意,您可以使用/t:clean从命令行调用msbuild。

我认为你可以右键点击你的解决方案/项目,然后点击“清洁”按钮。

据我所知,它是这样工作的。我现在没有VS.NET,所以不能测试它。

这招对我很管用:

for /d /r . %%d in (bin,obj) do @if exist "%%d" rd /s/q "%%d"

根据superuser.com上的答案

对我来说什么都没用。我需要删除bin和obj文件夹中的所有文件进行调试和发布。我的解决方案:

1.右击项目,卸载,右击再次编辑,到底部

2.插入

<Target Name="DeleteBinObjFolders" BeforeTargets="Clean">
  <RemoveDir Directories="..\..\Publish" />
  <RemoveDir Directories=".\bin" />
  <RemoveDir Directories="$(BaseIntermediateOutputPath)" />
</Target>

3.保存,重新加载项目,右键单击清洁和立即。

看看CleanProject,它会删除bin文件夹,obj文件夹,TestResults文件夹和Resharper文件夹。源代码也可以获得。