У меня есть старый веб-сайт .net 2005, на котором есть несколько страниц asp и проблема со ссылкой на объект при доступе к .net dll. Задача обслуживания была передана мне, и оригинального разработчика нигде не найти :( Я уже начал работать в .Net, поэтому я действительно не умею справляться с этой адской проблемой dll.
На стрелке ниже показано, где я обращаюсь к «(0x80131500) Ссылка на объект не указывает на экземпляр объекта».
Set objCommon = Server.CreateObject("Wrapper.CommonFunctions")
Dim machineBuilding
--->>> If objCommon.IsMachineAccount(strLogin, machineBuilding) Then
Я уже выполнил следующие шаги:
- regasm /tbl /codebase mycomdll.dll
- gacutil /i mycomdll.dll
- скопируйте mycomdll.dll в каталог System32
- В консоли выполните issreset
- Если ваша dll создается в среде 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 с помощью команды issreset
а еще вот эти:
- В свойствах проекта a. В разделе \application\assembly information i. Установите флажок «Сделать сборку Com-видимой». б. В стадии сборки i. Установите флажок «Зарегистрироваться для Com Interop».
- НЕ ПОДПИСЫВАЙТЕ его.
- Убедитесь, что IUSR имеет полные права доступа к файлу.
- Перезапустите IIS через iisreset, чтобы очистить кэши.
И все еще не удалось запустить приложение. Есть еще идеи, что проверить или сделать? Спасибо!
Эмир