.NET Framework 4.8 Web项目多开发者个性化配置优化方案咨询(保留SlowCheetah)
.NET Framework 4.8多开发者配置维护优化(沿用SlowCheetah)
项目背景
- 维护基于.NET Framework 4.8的解决方案,包含多个Web应用项目(通过
<ProjectTypeGuids>{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>标识) - 每个项目包含多个.config配置文件
- 多名开发者协作维护,每位开发者需为多个项目配置专属自定义设置(如连接字符串、文件引用等)
当前方案及痛点
- 当前采用独立解决方案配置 + SlowCheetah实现:每个项目的.config文件对应一个
.{SolutionConfiguration}.config文件,发布时将开发者的自定义设置与父配置文件合并生效 - 核心痛点:维护成本随项目数量上升,每位开发者必须清楚解决方案中所有.config文件的配置逻辑,上手与维护难度高
尝试的优化方案(未生效)
计划通过MSBuild的Directory.Build.targets集中管理全局自定义属性,方案如下:
- 根目录创建
Directory.Build.targets,引用被.gitignore忽略的开发者专属属性文件:
<!-- Directory.Build.targets --> <Project> <Import Project="Development.Build.targets" /> </Project>
- 每位开发者创建自己的
Development.Build.targets,集中存放全局自定义属性:
<!-- Development.Build.targets --> <Project> <PropertyGroup> <MyProperty>Local</MyProperty> </PropertyGroup> </Project>
- 预期逻辑:所有开发者共用
Development解决方案配置,在项目的.Development.config文件中通过MSBuild属性语法$(MyProperty)引用全局属性 - 问题:方案未生效,推测原因是SlowCheetah执行时机早于MSBuild属性填充,或SlowCheetah本身不支持该属性引用语法
提问
是否存在无需大量改写现有配置、仍可沿用SlowCheetah的简洁优化方案?
内容的提问来源于stack exchange,提问作者TheHvidsten
相关产品推荐
相关产品推荐

