如何在Azure DevOps发布流程中修改AspNetCore托管模式为OutOfProcess
如何在Azure DevOps发布流程中设置AspNetCore为OutOfProcess托管模式
针对大量应用多环境部署的场景,有两种可靠方法可实现该需求:
方案1:通过环境变量配置(推荐)
AspNetCore支持通过环境变量ASPNETCORE_HOSTINGMODEL指定托管模式,该配置优先级高于.csproj中的设置。在Azure DevOps发布流程中操作如下:
- 进入发布管道的应用设置环节
- 添加一条应用设置:
- 键:
ASPNETCORE_HOSTINGMODEL - 值:
OutOfProcess
- 键:
- 若不同环境需差异化配置,可在对应环境的变量组中添加同名变量(环境变量优先级高于管道全局变量)
这种方式无需修改项目代码,配置灵活,适配多环境部署场景。
方案2:通过.csproj变量替换实现
Azure DevOps的XML变量替换功能支持.csproj文件(虽后缀非.xml,但本质为XML格式),步骤如下:
- 在所有目标应用的.csproj文件中添加默认托管模式节点(必须确保节点存在才能被替换):
<PropertyGroup> <AspNetCoreHostingModel>InProcess</AspNetCoreHostingModel> </PropertyGroup>
- 在Azure DevOps发布管道的变量区域添加变量
AspNetCoreHostingModel,值设为OutOfProcess - 在发布任务的配置设置中勾选XML变量替换选项,确保.csproj文件被包含在替换范围内
变量替换会在配置转换后执行,若环境级变量与管道变量同名,环境变量会覆盖管道变量,符合你的需求逻辑。
内容的提问来源于stack exchange,提问作者Kyle Burkett
相关产品推荐
相关产品推荐

