Mysql Connector 和 Dapper System.TypeLoad 异常 System.Diagnostics.DiagnosticSource

问题描述 投票:0回答:1

我有这段代码,我在两种不同的解决方案中使用它,它在其中一个解决方案中有效,但在另一个解决方案中无效。

    protected internal static int SomeMethod(string x,string y)
{
    int result;
    using (MySqlConnection connectionMysql = new MySqlConnection(ConnectionString))
    {
        connectionMysql.Open();
        DynamicParameters parameters = new DynamicParameters();
        parameters.Add("@x", x);
        parameters.Add("@y", y);
        parameters.Add("@z", dbType: DbType.Int16, direction: ParameterDirection.Output);
        connectionMysql.Execute("SP", parameters, commandType: CommandType.StoredProcedure);
        result = parameters.Get<int>("@z");
    }
    return result;
}

问题是它在 ConnectionMysql.Open() 处抛出异常

System.TypeLoadException:'无法加载类型 程序集中的“System.Diagnostics.Activity” '系统.诊断.诊断源,版本=4.0.1.0, 文化=中立,PublicKeyToken=cc7b13ffcd2ddd51'.'

System.Diagnostics.DiagnosticSource 版本是 7.0.0.2,它出现在参考中,并且可以在执行文件夹的项目 DLL 旁边找到。 但由于某种原因,在运行时它会搜索版本 4.0.1.0,如异常所示 我检查了参考资料和软件包,以及 System.Diagnostics.DiagnosticSource V 7.0.0.2,这是最新的稳定版本。

这是一个C#类库项目,基于.NetFramework 4.8.0

使用的套餐

> Dapper 
> MySqlConnector 
> EntityFramework
> System.Data.Sqlite

所有软件包均为最新版本 我寻找解决方案但没有成功,我非常感谢您的帮助。

c# dapper mysql-connector
1个回答
0
投票

经过多次非逻辑的尝试, 我卸载了 Mysql Connector Nuget 及其 System.Diagnostics 依赖项,然后再次安装它们,现在一切正常。

© www.soinside.com 2019 - 2024. All rights reserved.