Потребляйте монтаж .NET с классической страницы ASP
-
28-09-2019 - |
Вопрос
У меня есть старый веб-сайт .NET 2005, который имеет несколько страниц ASP и имея задачу справочника объекта .NET .NET DLL. Задача обслуживания была передана мне, и первоначальный разработчик нигде не найден :( Я начал у .NET уже, чтобы я не очень осваивал эту проблему DLL ад.
На стрелке ниже, где я просмотрую ссылку на объект «(0x80131500), не установленную на экземпляр объекта».
Set objCommon = Server.CreateObject("Wrapper.CommonFunctions")
Dim machineBuilding
--->>> If objCommon.IsMachineAccount(strLogin, machineBuilding) Then
Я уже последовал за этими шагами:
- REGAMS / TBL / CODEBASE MYCOMDLL.DLL
- gacutil / i mycomdll.dll
- Скопируйте MyComdll.dll в каталог System32
- Из консоли, выполнить ISSESESET
- Если ваша DLL создана в Framework 2.0 Создание файла «DLLHost.exe.config» в каталоге System32 и поставить это:
<?xml version="1.0"?>
<configuration>
<startup>
<supportedRuntime version="v2.0.50727"/>
<requiredRuntime version="v2.0.50727"/>
</startup>
</configuration>
6.- Перезапустите IIS с помощью команды ISSSRESET
А также эти:
- Под свойствами проекта A. Под Приложение Информация об сборке I. Проверьте «Сделайте сборку Com-Visible». б. Под сборкой I. Проверьте «Регистрация для Com Interop»
- Не подписывать это.
- Убедитесь, что IUSR имеет полные разрешения в файл.
- Перезапустите IIS через Iisreset, чтобы прошить любые кэши.
И до сих пор не удалось запустить приложение. Любые еще идеи, что проверить или сделать? Спасибо!
Эмир
Решение 3
Проблема была приложение ищет файл, который содержит имя хоста базы данных.
Другие советы
Значение HResult очень актуально. Примечание. «Код объекта» в 0x80131500, 13 указывает, что источник ошибки управляемый код. У вас уже есть дружелюбный перевод на 1500.
Другими словами, управляемый код бросил исключение, и он не был обработан. Это не редкость конечно, управляемый код очень часто бросает исключения. Особенно NullReferenceException, тот, который вы вызвали. Отладка этого не так просто, так как вы управляете управляемым кодом в неуправляемый процесс. Не совсем уверен, какова правильная процедура для IIS, обычно это сделано с инструментами + присоединиться к процессу. Лучший способ заняться этим, чтобы изолировать код, написать несколько модульных тестов.
Кроме того, вариабельная продукция машины ударяет меня как хороший кандидат на НР. Вы не инициализировать это.
Кстати: это не имеет ничего общего с регистрацией. Который производит очень другой вид ошибки.
У меня было решение, похожее на ваше, но давно ушло. Однако у меня все еще есть некоторая информация об этом, и я заметил, что мою заявление о Регуме другой.
regasm mycomdll.dll /tlb :mycomdll.tlb
Ваши ссылки TBL вместо TLB - может быть, это проблема?
Я также думаю, что вы должны дважды проверить значения параметров, а затем вызовите метод с этими значениями параметров через быстрого и грязного клиента .NET .NET, чтобы увидеть, что метод бросает ошибку.
Я также хочу подтвердить, что мой классический код ASP соответствовал вашему ...
set obj = server.CreateObject("mycomdll.myclass")
...
call obj.method(false)
...
myvar = obj.method2(param1, param2, param3)