能否将多个Visual Studio解决方案发布至同一Azure Function服务?
多个Visual Studio解决方案发布到同一Azure Function Service的可行性及解决方法
完全可以将多个Visual Studio解决方案发布到同一个Azure Function Service,但默认的全量发布方式会覆盖现有内容,你需要调整发布策略来实现多函数共存:
- 启用增量发布:在Visual Studio的发布向导中,进入发布设置页面,勾选「增量发布」选项。开启后,发布只会同步当前解决方案里的函数文件,不会删除或覆盖其他解决方案已部署的函数。
- 用命令行指定不覆盖:使用Azure Functions Core Tools的命令发布时,加上
--no-overwrite参数,比如:func azure functionapp publish <你的函数服务名> --no-overwrite,这样新函数会被添加到服务中,原有内容保留。 - CI/CD流水线设置增量部署:如果用Azure DevOps或GitHub Actions做自动化部署,在部署任务里选择「增量」模式,避免全量替换文件。
- 避免函数命名冲突:不同解决方案里的函数必须用唯一名称,否则后发布的同名函数会覆盖之前的,这点要提前做好规划。
默认发布会覆盖的原因是:全量发布模式会把本地解决方案的所有文件同步到Azure的函数服务目录,直接替换掉远程的现有文件,导致其他解决方案的函数被删除。
内容的提问来源于stack exchange,提问作者DanielGroff
相关产品推荐
相关产品推荐

