Windows 生成具有依赖项的解决方案,用于通过数百个项目构建VS 2010
我们有几百个VisualStudio项目文件,我需要将它们组合成一个用于构建的解决方案。我们目前有一个定制的ruby脚本,它使用rake来实现这一点。但是非常脆弱,只允许少数visual studio宏($(TargetDir)、$(TargetName)等)通过,其余的则失败。加上Ruby的语法让我像Perl一样恼火:错误的方式 所以我的问题是,给定一个目录,是否有一个工具可以递归地查找所有的.vcxproj和.csproj文件,并生成一个具有依赖关系的解决方案文件?当我说“具有依赖性”时,它意味着一些项目需要在其他项目之前构建。我在这里找到了一些关于stack overflow的其他帖子,它们指向一个生成解决方案文件的工具:但它不生成依赖项。因此,没有依赖关系,任何解决方案创建工具都是完全无用的。有人知道有什么东西可以做到这一点吗 如果不是解决方案文件,是否有人知道会发出依赖项列表的内容 附言。 在任何人提出问题之前:手动创建解决方案文件是完全不可能的。我们只是有太多的项目文件 所以我的问题是,给定一个目录 有没有一种工具可以递归地 查找所有.vcxproj和.csproj 文件并生成解决方案文件 有依赖关系吗 没有 你的要求很合理;你处理这个问题的方法很合理。不幸的是,这些工具跟不上你。(我们也有同样的问题。) 您必须自己编写脚本,或者自定义工具。我们就是这么做的。我见过的成功方法包括:Windows 生成具有依赖项的解决方案,用于通过数百个项目构建VS 2010,windows,visual-studio-2010,build,dependencies,Windows,Visual Studio 2010,Build,Dependencies,我们有几百个VisualStudio项目文件,我需要将它们组合成一个用于构建的解决方案。我们目前有一个定制的ruby脚本,它使用rake来实现这一点。但是非常脆弱,只允许少数visual studio宏($(TargetDir)、$(TargetName)等)通过,其余的则失败。加上Ruby的语法让我像Perl一样恼火:错误的方式 所以我的问题是,给定一个目录,是否有一个工具可以递归地查找所有的.vcxproj和.csproj文件,并生成一个具有依赖关系的解决方案文件?当我说“具有依赖性”时,它
*.vcproj/*.sln
“参考项目定义”,
使用诸如CMake
、QMake
、Scons
或
Gyp
。我们的主要系统目前处于
在Scons
上,使用我们的自定义Python
用于导航这些依赖项的代码,
基于项目生成解决方案
(爬行依赖项)。通过
默认情况下,我们生成一个“完整”
每个项目的解决方案(包括
所有必需的支持项目),
加上“掌握所有项目”
解决方案它工作得很好。但是
这是需要努力的定制工作,
我们将Scons
扩展到
描述我们的项目(但我们只是
依靠scon
生成
*.sln
和*.vcproj
)*.vcproj
文件
你的工作区。这是工作,但可以做到。这些文件的导航可能“很棘手”,但您可以使用一个“足够好”的解决方案,该解决方案使用guid作为散列键来生成这些依赖项因为我关心你的理智和你永恒的灵魂,请不要试图在MSBuild中编写你的自定义解决方案。附带说明,拥有数百个VS项目是个坏主意,它会扼杀VS性能,请参阅:
- (8页)
- (7页)