SlnGen:按需生成专注的 Visual Studio 解决方案
SlnGen,来自微软公司,帮助工程师为大型代码库生成小型、特定上下文的 Visual Studio 解决方案,以便进行专注的开发。它通过遵循 MSBuild 项目引用和递归依赖关系,从单个项目动态构建 .sln 文件,并可以启动 Visual Studio 或生成 VS Code 工作区和启动文件。主要功能包括 MSBuild 集成、项目过滤以及作为 .NET 全局工具的使用;它面向需要更快 IDE 工作流程的处理 monorepos 的开发人员和构建工程师。
SlnGen 创建一个修剪过的解决方案,仅包含您需要的项目
机制:该工具读取单个项目文件,递归遍历其 MSBuild 引用,并生成一个包含这些项目的 .sln 文件。它可以作为全局 .NET 工具运行,也可以作为构建脚本的一部分运行,并且还会生成可供 Visual Studio Code 使用的文件。这种方法取代了许多团队维护非常大且已提交的解决方案文件的需要。
使用生成的解决方案减少 IDE 负载和启动压力
通过将打开的项目限制在活动项目树中,SlnGen 减少了 Visual Studio 必须解析和加载的项目数量,描述中提到这降低了内存占用和启动时间。该工具可以在生成后自动启动 IDE,因此开发人员可以在没有手动解决方案编辑的情况下打开较小的工作集。这对在大型存储库或单一代码库中工作的工程师来说是实用的。
SlnGen 减少了解决方案腐烂,并且由于是开源的而可检查
团队可以按需生成本地解决方案,而不是将单一解决方案提交到版本控制,这解决了所谓的解决方案腐烂问题。该项目公开托管以供社区贡献,并由微软开发,允许团队在采用之前审核行为。请注意,它要求开发机器上存在 .NET 运行时和 MSBuild。
该工具期望 MSBuild 熟悉度和集成工作以实现平稳操作
作为 .NET 全局工具的安装是推荐的路线,这意味着对命令行工具和 MSBuild 概念的熟悉。将 SlnGen 集成到构建脚本或本地工作流中的开发人员必须能够编辑这些脚本并使用项目过滤来排除路径或类型。该工具针对工程师和构建维护者,而不是非技术贡献者。
SlnGen 是工程师需要专注解决方案的实用选择
SlnGen 是开发人员和构建工程师的务实选择,他们需要按需、上下文有限的解决方案来减少 IDE 的开销;它需要一个 MSBuild/.NET 开发环境和一些脚本熟悉度作为权衡。对于愿意采用生成解决方案工作流的团队,它减少了已提交解决方案文件的长期维护。建议:在打开 IDE 之前从您的工作文件夹运行生成。推荐。