我正在VisualStudio2017企业版上开发一个销售点(POS)应用程序。目标框架是.NET框架4.5,我已经安装了Microsoft for .NET 1.12 (OPOS),我能够用以下工具获得MSR读卡器:
PosExplorer myPosExplorer =新PosExplorer();
到目前为止,它运行得很好,直到今天早上安装了真关键英特尔之后,我的POS在让MSR读取器中出现以下错误时开始崩溃:
microsoft.pointofservice.management.explorer的类型初始化程序引发一个异常。 System.notsupportedexception:此方法显式地使用CAS策略,该策略已被.NET框架淘汰。为了使cas策略具有兼容性,请使用newfx40_legacysecuritypolicy配置开关。有关mor信息,请参阅http://go.microsoft.com/fwlink/?LinkID=155570。在microsoft.pointofservice.management.explorer.scanforsoassemblies()的system.securitymanager.resolvepolicy(证据证明)
我以前从来没有遇到过这个错误,所以我开始在网上搜索,我找到了这个页面。它基本上说OPOS不支持.NET 4.0 (我不使用它!)
我使用的是Git,所以我回滚到了以前的代码版本,没有运气。我使用新的Visual在新Windows上运行POS,问题仍然存在。
OPOS有什么问题?我是不是遗漏了一些注册表配置?为什么当CAS策略被丢弃在.NET 4.0上,而我使用的是.NET 4.5时,这就一直告诉我它的策略呢?有没有其他更好的方法来控制外围设备,如MSR阅读器,打印机,线显示器等?
发布于 2017-08-27 00:42:48
如果可以,我建议您为.NET 1.14.1更新POS并更新您的服务对象。
尽管如此,由于您使用的是.NET 4.5,所以您的处境与您所链接的关于.NET 4.0的文章相同
您应该能够在您的添加遗留CAS开关文件中使用app.config文件。只需确保以下代码块在您的app.config中。注意,配置文件中可能已经有一个configuration元素,所以您应该只需要添加runtime部分。
<configuration>
<runtime>
<NetFx40_LegacySecurityPolicy enabled="true"/>
</runtime>
</configuration>https://stackoverflow.com/questions/44274287
复制相似问题