Сбой Sage200c SDK в веб-формах

У нас возникла проблема с Sage 200c Extra 2018 SDK при использовании в веб-формах.

Мы создали решение с библиотекой, Win Win и веб-форм проекта. Мы заметили, что при использовании "проекта Win Forms" это работает, но тот же пример в "проекте Web Forms" дает сбой. В документации Sage 200c SDK не говорится исключительно о Win или веб-формах и о том, какая конфигурация может понадобиться каждому. Не могли бы вы помочь нам заставить это работать в веб-формах? У нас есть более старая версия 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' или одна из ее зависимостей. Система не может найти указанный файл.

1 ответ

Ваши пулы приложений ориентированы на правильную версию.net и битовую архитектуру?

Если вы можете физически увидеть сборку по пути, а приложение - нет, обычно дело в том, что настроена неправильная версия.net. Переход от такой старой версии к новой, скорее всего, требует изменения версии.net (например, с 2.0 на 4.5). Может случиться так, что ваше решение winforms настроено на правильную конфигурацию, и вам определенно стоит сравнить ваши настройки сборки и приложения. Убедитесь, что вы используете правильную архитектуру процессора в вашей сборке.

Другие вопросы по тегам