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

.NET MAUI发布模式下无法连接SQL Server,寻求技术帮助

.NET MAUI发布模式无法连接SQL Server(调试正常)

问题详情

  • 环境:.NET MAUI应用,通过IP连接SQL Server
  • 现象:调试模式下连接正常,切换至发布模式后无法连接
  • 错误提示:

建立与SQL Server的连接时发生网络相关或实例特定错误。服务器未找到或无法访问。请验证实例名称是否正确,以及SQL Server是否配置为允许远程连接。(提供程序: TCP Provider,错误: 40 - 无法打开到SQL Server的连接)

  • 使用的连接字符串:
    Server=Server,1434;Database=DB;User ID=penn;Password=asdaf;Encrypt=false;TrustServerCertificate=true;
  • 事件查看器补充信息:

SQL Server网络接口库无法为SQL Server服务注册服务主体名称(SPN) [MSSQLSvc/DESKTOP-TKH5FGS:1433]。Windows返回码: 0xffffffff,状态: 63。无法注册SPN可能导致集成身份验证使用NTLM而非Kerberos。这是一条信息性消息,仅当身份验证策略要求Kerberos身份验证且未手动注册SPN时才需要进一步操作。

排查与修复步骤

1. 确认目标平台网络权限

发布模式会启用权限限制,需确保应用拥有网络访问权限:

  • Windows:在Package.appxmanifest中勾选Internet (Client)权限
  • Android:在AndroidManifest.xml中添加权限:
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    
  • iOS:在Info.plist中添加非HTTPS连接允许配置:
    <key>NSAppTransportSecurity</key>
    <dict>
        <key>NSAllowsArbitraryLoads</key>
        <true/>
    </dict>
    

2. 修正连接字符串的服务器配置

事件日志显示SPN对应1433端口,需确认SQL Server实际监听端口:

  • 打开SQL Server配置管理器,查看SQL Server网络配置→TCP/IP→右键属性→IP地址标签,确认TCP端口数值
  • 将连接字符串中的Server=Server,1434替换为实际IP/主机名+正确端口,例如Server=192.168.1.100,1433;...

3. 避免发布模式下的依赖裁剪

发布模式的链接器或AOT编译可能移除SQL Server客户端依赖,需在项目.csproj文件中添加保留配置:

<ItemGroup>
  <TrimmerRootAssembly Include="Microsoft.Data.SqlClient" />
  <TrimmerRootAssembly Include="System.Data.SqlClient" />
</ItemGroup>

4. SPN问题处理(按需)

若环境强制要求Kerberos身份验证,手动注册SPN:

  • 以管理员身份运行命令提示符,执行:
    setspn -A MSSQLSvc/你的服务器主机名:1433 你的SQL服务账户名
    setspn -A MSSQLSvc/你的服务器IP:1433 你的SQL服务账户名
    
    注:若SQL Server使用本地系统账户,账户名填NT SERVICE\MSSQLSERVER

5. 测试端口连通性

在目标设备上测试SQL Server端口是否可达:

  • Windows:执行telnet 你的服务器IP 1433
  • Android/iOS:使用第三方网络工具验证端口连通性,排除防火墙或路由问题

内容的提问来源于stack exchange,提问作者Hammad Khan

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 02:19:58