消除visual studio解决方案文件夹中的临时文件

Ste*_*mul 9 c# c++ vb.net visual-studio

我正在清理来自不同来源的一堆视觉工作室项目/解决方案,每个解决方案中都存储着大量的临时文件临时文件夹.

我想知道哪些文件类型可以安全删除,这样我就可以编写一个脚本来处理繁重的工作,这样当我试图整个文件夹结构组织起来并链接到正确的共享时,就会有更少的垃圾来推送文件位置.

据我所知,以下文件和文件夹是临时的,可以安全删除:

  • *.自卫队
  • *.sln.docstates
  • 名为.suo*
  • *.upgradelogxml
  • *.用户
  • *.vcxproj.filters
  • *.sln.old
  • *.suo.old
  • UpgradeLog.XML
  • *.wixproj.vspscc
  • *.csproj.vspscc
  • *.SCC
  • *.NCB
  • *.选择
  • *.plg
  • *.APS
  • *.CLW

文件夹

  • _UpgradeReport_Files(文件夹)
  • ipch(文件夹)
  • bin,obj,debug,release和其他构建输出文件夹虽然在构建期间可能会有文件复制到此处...
  • 备份,备份1等...

我甚至不确定这些文件类型是什么,我只知道在打开解决方案时会重新生成它们 - 我知道有更多的文件类型我从较旧和较新版本的Visual Studio中遗漏了.

是否有任何文件类型应保留在上面的列表中?如果是这样,出于什么原因,还有其他文件类型可以清除而没有任何严重的副作用?

总体思路是尽量减少解决方案的大小和复杂性,以便在迁移,移动或重组或以其他方式改组时,使"解决方案脂肪"成为严重的性能和管理问题.

通常我看到这个问题,如果我需要检查的东西到一个新的源代码控制系统,压缩和通过电子邮件发送的代码和把第三方或同行代码到共享文件夹和文件的现有层次结构.

Dai*_*Dai 14

我不同意你的"临时"文件列表 - 当然其中很少是暂时的(否则它们会在%TEMP%目录中).当然,大多数都不是您的项目成功构建所必需的,但它们仍然很重要.

  • sdf - SQL Server Compact数据库.由VS2012用于存储VC智能感知数据.如果没有此文件,在重建之前,您将无法获得智能感知和代码完成.
  • sln.docstates - 存储有关解决方案中文件的临时状态信息.
  • suo - 包含有关每个解决方案IDE自定义设置的信息,例如窗口布局和工具箱装载.删除它通常是安全的,但您的解决方案将来可能需要更长时间才能加载,您将丢失任何UI自定义.
  • upgradelog.xml - 是的,升级日志文件有点混乱.这可以删除.
  • 用户 - 我确定这是VC6天的旧文件...
  • vcxproj.filters - 保持这个,它是每个计算机/每个项目的文件系统组织列表thingie
  • sln.old - "旧"文件不是VS文件.这看起来像是由用户或工具制作的备份文件.
  • suo.old -
  • UpgradeLog.XML - 如果您没有使用UpgradeLog工具,可以将其删除
  • wixproj.vspscc - 如果您正在使用源代码管理,请永远不要删除此文件.它是VS的源代码控制集成的一部分.在删除绑定文件后,尝试将未经检查的更改重新集成到源代码控制中.如果您没有使用源代码管理,请仅删除此项.
  • csproj.vspscc - 与上面相同.
  • SCC - 用于源控制.如果您正在使用源代码管理,请勿删除此项.
  • ncb - 在VC6到2010中使用的智能感知缓存.如果你删除它,你将失去VC智能感知,直到IDE重建它,这可能会占用大型项目​​.

我不知道这个或其他文件是什么:.opt,.plg,.aps,.clw

当然,诀窍是首先在解决方案中正确排列文件.项目源文件应与项目元数据(即上面刚刚列出的文件)分开,理想情况下是在他们自己的层次结构中的单独文件夹中(这样,您可以为同一源代码创建多个VC项目文件,允许贡献者使用VC2005, 2008年和2010年同时).

  • 好消息.我知道这些文件实际上是增值的,但是当它们自动生成时,我认为它们不是"源文件".这就是为什么我希望它们在进入源代码控制之前全部消失,或者开始大规模的混乱以将事情组织成一个新的结构.我不会将输出二进制文件检查到源代码控制中,但将它们保存在磁盘上的构建区域中. (2认同)

Mar*_*ath 10

查看此Visual Studio .gitignore问题的答案中列出的文件夹和扩展,以了解通常被认为是非必要的文件.

但是,如果你不知道它是什么,一般来说删除东西并不是一个好主意.例如,.sdf文件可能是SQL Server CE数据库,这在某些项目中可能很重要.因此,在运行任何解决方案清理程序脚本之前,请确保在某处进行备份.