为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:dm 8
【操作系统】:统信uos服务器版
【CPU】:Intel
【问题描述】*:升级到.net 10之后.UseDm("")会抛异常
项目已经升级到ABP 10,现在项目中
<PackageReference Include="DM.Microsoft.EntityFrameworkCore" Version="8.0.0.37033"/>
也已升级到
<PackageReference Include="DM.Microsoft.EntityFrameworkCore" Version="9.0.0.37033" />
但是在8中的写法好像是已经不兼容10了
Configure<AbpDbContextOptions>(options =>
{
options.Configure(ctx => {
ctx.DbContextOptions.UseDm(connectionString); });
});
UseDm(connectionString); }
此代码会抛异常如下:
Method not found: 'System.String Microsoft.EntityFrameworkCore.Diagnostics.AbstractionsStrings.ArgumentIsEmpty(System.Object)'.

以下请参考
在你的开发环境中遇到了关于达梦数据库驱动包与Entity Framework Core (EF Core) 版本兼容性的问题,特别是升级至 .NET 7/8/9 和 ABP v10 后出现的异常。
根据你提供的信息和代码分析:
当前情况:
DM.Microsoft.EntityFrameworkCore包版本是 9.0.0.37033。问题:
你遇到的异常
System.MissingMethodException: Method not found: 'System.String Microsoft.EntityFrameworkCore.Diagnostics.AbstractionsStrings.ArgumentIsEmpty(System.Object)'很可能是因为:Microsoft.EntityFrameworkCore.Diagnostics.AbstractionsStrings.ArgumentIsEmpty方法。这个字符串资源通常用于 EF Core 的内部日志或错误消息格式化。如果新版 EF Core 在使用某些数据库功能时,调用了不同的诊断服务或者要求驱动提供更新的实现方式(比如一个与旧版参数类型不兼容的新版本该方法),而你的达梦驱动没有包含这个新版本的方法,则会出现此异常。解决方案建议:
检查最新包版本和兼容性声明:
DM.Microsoft.EntityFrameworkCore的 确切最新稳定版。虽然你看到的是 9.0.* 版本,但可能存在后续更新的版本(比如 9.5 或更高)已经修复了与较新 EF Core 版本兼容性的问题。检查你的项目依赖:
DM.Microsoft.EntityFrameworkCore版本之间的兼容性要求。尝试升级达梦包:
DM.Microsoft.EntityFrameworkCore包,请将其更新到那个版本。这是解决兼容性问题最直接的方法。降级处理(如果必须使用):
直接联系供应商:
如果以上能为您解决问题,请点击“设为最佳答案”并确认,谢谢!