为什么存在vcxproj.filters文件?

Dav*_*vid 51 visual-studio-2010 visual-studio

vcxproj.filters不应嵌入.vcxproj中吗?目前我必须检查源代码控制,以便其他人可以在解决方案中看到文件夹结构.

Mig*_*uel 45

根据Dan Moseley在这个问题中所说的,他们还希望将树结构与构建特定信息分开,因为更改树结构会导致对项目文件进行更新,这反过来会触发重建.通过将项目的逻辑视图移动到单独的文件,可以避免这种情况.

  • IMO他们应该刚刚废弃了IDE中的过滤器.已经存在逻辑树结构,它被称为"文件系统".目前存在大量重复 - 每个文件都必须添加到文件系统,构建脚本(vcxproj),过滤器(vcxproj.filters),源代码控制以及其他地方.它违反了DRY原则. (9认同)

Edw*_*ing 14

事实上,它们嵌入在以前版本的Visual Studio中.扩展名仍然是.vcproj,过滤器存储在项目文件中.但是,截至2010年,决定将.filter信息拉入单独的文件中.

现在由设计团队来决定是否添加此源控件.如果您希望所有开发人员具有相同的结构(出于通信原因),那么检查它们可能是明智的.如果您想允许每个开发人员使用他们自己的逻辑视图,那么请不要.


Chr*_*her 7

vcxproj文件包含msbuild环境的命令.因此它包含应该构建的文件以及编译器如何构建/链接等源文件的参数.

因此,开发团队决定解决方案资源管理器中文件的"视图"不应包含在msbuild文件中,而应包含在另一个文件中.

所以这样做是为了将构建设置与您拥有的视图分开.