ACCPAC缺少方法异常

吉姆·巴克

我有一个在完整.NET 4.6.2上运行的ASP.NET Core 1.1 Web服务器。我正在使用ACCPAC.Advantage.dll的(打包在自定义NuGet捆绑包中)连接到本地Sage安装。以前,连接已成功启动,我可以将批次过帐到应付帐款。但是现在启动连接失败,并显示以下错误:

System.MissingMethodException: Method not found: 'ACCPAC.Advantage.DBLink ACCPAC.Advantage.Session.OpenDBLink(ACCPAC.Advantage.DBLinkType, ACCPAC.Advantage.DBLinkFlags)'.

Intellisense和ReSharper的反编译功能可以轻松找到该Session.OpenDBLink方法,那么为什么在运行时缺少它?

难道是从全局程序集缓存中提取了错误的程序集?在不破坏需要这些程序集的其他应用程序的情况下,解决该问题的最佳方法是什么?

定制器

另一位Sage第三方开发人员提出了一个.Net问题,听起来像您正在遇到的问题。这是他们在Sage City论坛(Sage City Post上所说的

在Sage 2018中,PU2 Sage决定...

将\ HKLM \ SOFTWARE \ WOW6432Node \ ACCPAC International,Inc. \ ACCPAC \ Web \ A4WNET的版本号更改为6.5.0.2,但不要与.net运行时库版本(6.5.0.10)保持一致。这已经破坏了Sage300的8个版本,而这两个版本已经步调一致。

为什么这是个问题?.net程序集已加载到GAC中,为避免版本更新后不得不重新编译/重新发布您的应用程序,我们使用反射来加载程序集。

在此更新之前,我们可以使用System.Reflection.Assembly.Load([完整程序集签名])。但是,要使用此方法,我们需要知道S300运行时程序集的版本(Accpac.Advantage.dll),该版本是通过查询注册表获得的。

要变通解决此问题,我们现在使用System.Reflection.Assembly.LoadFile方法。很好,但是它确实绕过了.net程序加载器在调用Load时所做的检查。

const string SAGE_RUNTIME = "Sage\\Sage 300 ERP\\ACCPAC.Advantage.dll";

Assembly assem =
Assembly.LoadFile(
System.IO.Path.Combine(
Environment.GetFolderPath(
Environment.SpecialFolder.CommonProgramFilesX86), SAGE_RUNTIME));

编辑:另一个选项是通过.Net使用COMApi接口。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Flurl缺少方法异常?

模拟-缺少方法调用异常

.NET Core中缺少方法异常

FSharp.Data缺少方法异常

尝试在域中查找空值时,grails方法缺少异常

系统缺少方法异常。为什么会这样

C#Mongdb.Dynamic方法缺少带有upsert()的异常

呈现为JSON时Grails中缺少方法异常

添加可选参数是否会更改方法签名,是否会触发方法缺少异常?

Groovy JasperReport缺少方法异常,可能的解决方案列为我调用的方法

缺少targetNamespace导致架构异常

jibx:缺少必需的对象异常

Maven Jsoup缺少工件异常

缺少r:layoutResources标记的异常

为什么在创建SqlClient类型时出现缺少的方法异常运行时?

如何在Xamarin.Forms PCL Android移动应用程序中修复缺少的方法异常

从.Net 4.6.1单元测试中引用.Net标准项目时,缺少方法异常

Microsoft.Extensions.DependencyInjection将null注入构造方法,而不是在缺少服务时引发异常

调用构造函数时Microsoft.Synchronization.Data.SqlServerCe中缺少方法异常

解决警告CS1998时如何处理异常:此异步方法缺少'await'运算符

assert.throws说=>缺少预期的异常

MEF 2的“缺少依赖项”异常

Discord.py缺少参数异常

休眠异常:缺少列(存在列)

循环时Python3缺少异常

Android Studio在Logcat中缺少异常stacktrace

在Visual Studio中缺少异常列表

Cypher - 查询缺少参数引发异常

“ CalucateNumbers”缺少异常规范“ noexcept”