1

在 Web 表单中使用 Sage 200c Extra 2018 SDK 时,我们遇到了问题。

我们已经使用库、win 表单和 Web 表单项目创建了解决方案。我们注意到,当使用“Win Forms project”时它可以工作,但“Web Forms project”中的相同示例会崩溃。Sage 200c SDK 文档并没有专门讨论 Win 或 Web 表单以及它们可能需要的配置。您能帮我们在网络表单中使用它吗?我们有一个旧版本的 SDK 在旧版本的 Sage 200 v8 上运行。我们已将 Sage 200 v8 升级到 Sage 200c Extra 2018 Summer Enhancements,并使用新客户端对其进行了测试,一切正常。我在圣人城注意到类似的问题,但没有答案。

这里

这是我们的代码示例:

Private Shared Sub FindCore200()

        ' get registry info for Sage 200 server path
        Dim path As String = String.Empty
        Dim root As RegistryKey = Registry.CurrentUser
        Dim key As RegistryKey = root.OpenSubKey(REG_PATH)

        If key IsNot Nothing Then

            Dim value As Object = key.GetValue(REGKEY_VALUE)
            If value IsNot Nothing Then

                path = TryCast(value, String)

            End If

        End If

        ' refer to all installed assemblies based on location of default one
        If String.IsNullOrEmpty(path) = False Then

            Dim commonDllAssemblyName As String = System.IO.Path.Combine(path, DEFAULT_ASSEMBLY)
            If (System.IO.File.Exists(commonDllAssemblyName)) Then

                Dim defaultAssembly As System.Reflection.Assembly = System.Reflection.Assembly.LoadFrom(commonDllAssemblyName)
                Dim type As Type = defaultAssembly.[GetType](ASSEMBLY_RESOLVER)
                Dim method As MethodInfo = type.GetMethod(RESOLVER_METHOD)
                Dim x = method.Invoke(Nothing, Nothing)
                Dim ok = 1
            End If

        End If

    End Sub

运行应用程序时,它总是崩溃

application = New Sage.Accounting.Application

异常类型:System.TypeInitializationException 消息:“Sage.Accounting.Application”的类型初始化程序引发异常。

内部异常:异常类型:System.IO.FileNotFoundException 消息:无法加载文件或程序集“Sage.MMSAdmin.Util,版本=19.0.0.0,文化=中性,PublicKeyToken=b2daa66d74953d11”或其依赖项之一。该系统找不到指定的文件。

4

1 回答 1

1

您的应用程序池是否针对正确版本的 .net 和位架构?

如果您可以实际看到路径中的程序集但应用程序看不到,通常是因为配置了错误的 .net 版本。从这样的旧版本升级到新版本,可能需要更改 .net 版本(例如 2.0 到 4.5)。可能只是您的 winforms 解决方案针对的是正确的配置,并且绝对值得比较您的构建和应用程序设置。检查您的构建中是否也针对正确的 CPU 架构。

于 2019-02-18T13:41:59.393 回答