Вопрос

У меня есть старый веб-сайт .NET 2005, который имеет несколько страниц ASP и имея задачу справочника объекта .NET .NET DLL. Задача обслуживания была передана мне, и первоначальный разработчик нигде не найден :( Я начал у .NET уже, чтобы я не очень осваивал эту проблему DLL ад.

На стрелке ниже, где я просмотрую ссылку на объект «(0x80131500), не установленную на экземпляр объекта».

Set objCommon = Server.CreateObject("Wrapper.CommonFunctions")
  Dim machineBuilding
--->>>  If objCommon.IsMachineAccount(strLogin, machineBuilding) Then

Я уже последовал за этими шагами:

  1. REGAMS / TBL / CODEBASE MYCOMDLL.DLL
  2. gacutil / i mycomdll.dll
  3. Скопируйте MyComdll.dll в каталог System32
  4. Из консоли, выполнить ISSESESET
  5. Если ваша 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

А также эти:

  1. Под свойствами проекта A. Под Приложение Информация об сборке I. Проверьте «Сделайте сборку Com-Visible». б. Под сборкой I. Проверьте «Регистрация для Com Interop»
  2. Не подписывать это.
  3. Убедитесь, что IUSR имеет полные разрешения в файл.
  4. Перезапустите 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)
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top