如何解决.NET Core 5.0上的ODP.Net驱动程序引发异常
我正在尝试将数据库应用程序从.NET Core 3.1移植到.NET Core 5.0。
运行以下代码时,
public async Task<List<T>> LoadDataFromSQL<T,U>(string sql,U parameters,string connectionStringName)
{
using (IDbConnection connection = new OracleConnection(await GetConnectionString()))
{
var rows = await connection.QueryAsync<T>(sql,parameters,commandType: CommandType.Text);
return rows.ToList();
}
}
我收到此异常:
“ System.Reflection.TargetInvocationException:调用的目标已引发异常。\ r \ n ---> System.TypeInitializationException:'OracleInternal.ServiceObjects.OracleConnectionImpl'的类型初始化程序引发了异常。 \ n ---> System.TypeInitializationException:'Oracle.ManagedDataAccess.Types.TimeStamp'的类型初始化程序引发了异常。\ r \ n ---> System.NotSupportedException:BinaryFormatter序列化和反序列化在此应用程序中被禁用。 https://aka.ms/binaryformatter有关更多信息。\ r \ n在OracleInternal.Common.OracleTimeZone.GetInstance()\ r \ n在Oracle.ManagedDataAccess.Types.TimeStamp..cctor()\ r \ n ---内部结束异常堆栈跟踪--- \\ r \ n在Oracle.ManagedDataAccess.Types.TimeStamp.InitializelatestTZversion()\ r \ n在OracleInternal.ServiceObjects.OracleConnectionImpl..cctor()\ r \ n-内部异常堆栈跟踪的结尾--- \ r \ n在OracleInternal.ServiceObjects.OracleConnectionImpl..ctor()\ r \ n ---内部摘录的结尾九月 离子堆栈跟踪--- \ r \ n“
是否可以通过我的应用程序解决此问题?
我正在使用10/22/2020发行的最新版本的Oracle.ManagedDataAccess.Core 2.19.91。另外,我正在使用Dapper 2.0.35。
解决方法
我发现Oracle正在为此进行修复,该修复应该很快就会提供。
同时,如果有人遇到此问题,则有一种解决方法。
在您的项目文件中,可以将XML语句添加到EnableUnsafeBinaryFormatterSerialization。
<PropertyGroup>
<TargetFramework>net5.0</TargetFramework>
<EnableUnsafeBinaryFormatterSerialization>true</EnableUnsafeBinaryFormatterSerialization>
</PropertyGroup>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。