我正在尝试将我的数据库应用程序从 .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' 的类型初始化程序引发了异常。\r\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"
是否可以从我的应用程序中解决这个问题?
我正在使用 Oracle.ManagedDataAccess.Core 2.19.91 的最新版本,发布于 2020 年 10 月 22 日。另外,我使用的是 Dapper 2.0.35。