You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何合并两个.NET MVC项目?Azure快速启动项目合并部署方案问询

嘿,这事儿我之前在项目里处理过,给你几个实用的方案,你挑适合自己的来:

方案一:直接将两个项目合并到同一解决方案(最快速)

这是最直接的操作方式,适合不想大改代码的情况:

  • 先打开其中一个项目的解决方案(比如AAD B2C的.sln文件)
  • 在Visual Studio的解决方案资源管理器里,右键点击解决方案名称,选择「添加」→「现有项目」,找到另一个项目(Document DB的.csproj文件)添加进来
  • 接下来要处理几个关键细节:
    • 统一NuGet包版本:如果两个项目有相同的NuGet包(比如Microsoft.AspNet.Mvc),右键解决方案选择「管理解决方案的NuGet程序包」,把重复包的版本统一,避免编译冲突
    • 合并web.config配置:把Document DB项目里的连接字符串、AppSettings等核心配置,复制到主项目的web.config中。注意:重复的节点(比如<connectionStrings>)要合并内容,不要直接覆盖主项目的原有配置
    • 调整路由避免冲突:如果两个项目的控制器路由重名(比如都有HomeController),可以给其中一方的控制器加路由前缀,比如给Document DB的控制器加[Route("docdb/{action=Index}")],这样访问的时候用/docdb就能区分开
    • 设置启动项目:右键点击你想作为入口的主项目,选择「设为启动项目」

方案二:重构为类库+主Web项目(更优雅,适合长期维护)

如果两个项目有重复代码或者你想让结构更清晰,推荐这种方式:

  • 新建一个类库项目(比如命名为Shared.Lib),把两个项目里重复的工具类、数据模型、通用逻辑移到这个类库中,让两个Web项目都引用它
  • 选择其中一个Web项目作为主项目(比如保留AAD B2C的Web项目),把另一个项目(Document DB)的控制器、视图、业务逻辑,要么直接移到主项目里,要么拆成一个独立的类库(比如DocumentDB.Services),然后让主项目引用这个类库
  • 合并web.config:把Document DB的必要配置(连接串、SDK配置等)合并到主项目的web.config里,确保AAD B2C的认证配置完整保留
  • 测试所有功能:本地启动主项目,分别验证AAD B2C的登录/认证流程,以及Document DB的读写操作,确保没有问题

合并后的发布注意事项

  • 本地测试要充分:合并后一定要先在本地跑通所有功能,避免发布到Azure后出问题
  • 发布到Azure WebApp:在Visual Studio里选择主Web项目,右键「发布」,选择你的Azure WebApp即可。如果是整个解决方案,VS会自动处理项目依赖,确保所有必要的代码都被发布
  • 配置可以在Azure Portal调整:如果发布后发现配置有问题,不用重新发布,直接到Azure Portal的WebApp「配置」→「应用程序设置」里修改连接串或AppSettings,即时生效

内容的提问来源于stack exchange,提问作者lla.dev

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 08:49:04