.NET Core 3.1项目引用POSForDotNet.SDK初始化崩溃如何解决?
你遇到的警告和运行时报错直接相关:POSForDotNet.SDK 1.14.1是仅面向.NET Framework开发的组件,不兼容.NET Core/.NET 5+运行环境。你看到的MissingMethodException报错,就是因为.NET Core 3.1运行时移除了System.AppDomainSetup的ApplicationBase属性赋值方法,而该SDK底层依赖了这个.NET Framework专属API。
解决方案
方案一:切换项目目标框架为.NET Framework(最稳定,推荐)
这是官方SDK唯一原生支持的运行环境,操作步骤如下:
- 右键你的项目,选择「属性」
- 在「应用程序」标签页找到「目标框架」下拉选项
- 选择
.NET Framework 4.8(警告中列出的4.6.1及以上版本的.NET Framework均可) - 保存修改后重新生成项目即可解决问题
大部分.NET Core 3.1的WinForms代码可直接在.NET Framework 4.8下运行,无需大规模修改
方案二:必须使用.NET Core/.NET 5+ 环境时的替代方案
如果项目要求必须使用.NET Core 3.1或更高版本,可以替换原有开发方案:
- 优先使用扫码器硬件厂商提供的面向.NET Standard/.NET Core的官方SDK
- 或者调用Windows原生POS设备API,通过
Windows.Devices.PointOfService命名空间下的类实现扫码功能,该API原生支持Windows平台上的.NET Core 3.1+项目
内容的提问来源于stack exchange,提问作者Quinn
相关产品推荐
相关产品推荐

