我们公司的svn有很多视觉工作室解决方案,不同的团队在不同的领域工作。我们的一些项目是可重复使用的图书馆项目。
当有人在某个特定解决方案的一部分的图书馆项目中进行重大改变时,问题就出现了......那个人怎么知道其他解决方案可能会受到什么影响?
是否有一些工具可以递归地通过文件系统,打开VS项目并构建依赖图,这样我就可以一目了然地看到哪些解决方案会受到影响?
答案 0 :(得分:1)
< brainstorm> 或者你可以使用svn的precommit hook来运行承诺项的单元测试,并在测试失败时拒绝提交< /头脑风暴>
答案 1 :(得分:0)
我们使用持续集成来检测是否有人进行了重大更改,因此不需要找出依赖图(好的排序,见下文)。
这样做的目的是在每次提交SVN时都使用所有项目构建所有解决方案。当然,我们需要知道解决方案的顺序(6个解决方案,这是可以忍受的)。在每个解决方案内部,项目(最多65个)都设置了它们的依赖项,因此它们以正确的顺序构建。我们使用三个代理的构建网格来保持较低的响应时间。
因此,我们在一小时或更短的时间内就知道改变是否破坏了构建。
在您的情况下,其他因素可能正在起作用,因此对我们有效的解决方案可能不适合您。
答案 2 :(得分:0)
安装cygwin并运行
find . -name "*.sln" -exec grep -q "*ProjectName.csproj*" '{}' \; -print
来自存储库的根文件夹。
您将获得包含该项目的所有sln文件的打印件。我以为我可以从windows vista做到这一点,但Windows资源管理器中的“高级搜索”功能很糟糕。您不能同时指定文件模式和内容模式。