基于.NET 5的Azure Mobile Apps Server的C#/.NET后端支持情况问询
基于.NET 5的Azure Mobile Apps Server现状及适配方案
当前产品状态
- 官方暂未原生支持使用C#/.NET 5编写Azure Mobile Apps对应后端
- 旧版Azure Mobile Apps .NET Server相关NuGet包仅兼容.NET Framework,和.NET 5不兼容,该兼容性说明缺失属于官方文档疏漏
- 新版官方Azure Mobile Apps仓库中现有ASP.NET服务端示例未完成全场景验证,公开快速入门文档暂未覆盖.NET服务端部署指引
官方后续支持计划
微软已将Azure Mobile Apps的服务端.NET相关迭代全部合并到Azure Datasync产品线中:
- 不会单独推出适配.NET 5的传统Azure Mobile Apps Server官方组件
- .NET 5本身属于非LTS版本,已停止微软官方支持,因此也不会有专门针对.NET 5的官方适配方案
- 针对.NET 6及以上LTS版本的Azure Datasync服务端组件已经发布正式版,完整兼容原有Azure Mobile Apps的所有核心功能
可行的适配方案
方案1:升级框架使用官方支持组件(推荐)
将项目从.NET 5升级到.NET 6或更高LTS版本,直接引用Azure Datasync.AspNetCore系列官方NuGet包完成开发即可,原有移动应用客户端无需做大幅改造即可适配新的服务端。
方案2:.NET 5临时手动适配(仅建议测试使用)
如果暂时无法升级框架版本,可通过以下方式完成临时适配,该方案无官方技术支持,不建议用于生产环境:
- 移除所有旧版
Microsoft.Azure.Mobile.Server开头的依赖包 - 引入Azure Datasync核心预览版包
- 在启动文件中手动配置Datasync服务和中间件,参考配置代码:
// 服务注册 builder.Services.AddDatasyncServer(opt => { opt.ConnectionStringName = "YOUR_APP_SERVICE_CONN_STRING_NAME"; }); builder.Services.AddDatasyncTableControllers(); // 中间件配置 app.UseRouting(); app.UseAuthentication(); app.UseAuthorization(); app.UseEndpoints(endpoints => { endpoints.MapDatasyncControllers(); });
- 完成Azure相关身份、存储配置后即可启动运行。
内容的提问来源于stack exchange,提问作者Daniel
相关产品推荐
相关产品推荐

