.NET 4.8 Azure Function v4加载SqlParameter类型失败求助
解决方案参考
针对你遇到的Azure Function v4(.NET 4.8 + dotnet-isolated)部署后无法加载System.Data.SqlClient.SqlParameter的问题,以下是几个经过验证的解决方向:
确认System.Data.SqlClient的引用与部署
.NET Framework中,System.Data.SqlClient最初属于System.Data程序集,后来独立为NuGet包。若你的引用程序集使用了独立的System.Data.SqlClientNuGet包:- 确保引用程序集项目安装了兼容.NET 4.8的稳定版本(如4.8.3),且函数项目也间接或直接安装该包,保证部署时该程序集被打包进输出目录。
- 检查部署包(可通过Kudu工具查看
site/wwwroot)中是否存在System.Data.SqlClient.dll,版本需与本地一致。
添加程序集绑定重定向
在函数项目的App.config中添加绑定重定向配置,强制运行时使用正确的程序集版本:<configuration> <runtime> <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> <dependentAssembly> <assemblyIdentity name="System.Data.SqlClient" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-4.8.3.0" newVersion="4.8.3.0" /> </dependentAssembly> </assemblyBinding> </runtime> </configuration>注意将
newVersion替换为你实际安装的NuGet包版本,并确保该配置文件的“复制到输出目录”属性设置为“始终复制”。升级Microsoft.NET.Sdk.Functions版本
你当前使用的1.0.24版本较旧,存在已知的兼容性问题。建议升级到兼容.NET 4.8的最新稳定版(如v4.x系列),新版本通常会修复程序集加载相关的bug。检查函数应用运行时配置
确认函数应用的FUNCTIONS_EXTENSION_VERSION为~4,FUNCTIONS_WORKER_RUNTIME为dotnet-isolated无误后,尝试重启函数应用,确保部署的程序集被正确加载。
内容的提问来源于stack exchange,提问作者jaybro
相关产品推荐
相关产品推荐

