2013-08-07 3 views
0

Я написал свою собственную библиотеку классов, используя C# 3.5. Для использования этой DLL в классическом приложении ASP я пытаюсь зарегистрировать эту DLL в реестре, используя команду regsvr32. Но я получаю типичную ошибку, например «» Загружен модуль «TestDll.dll», но точка входа DllRegisterServer не найдена. Убедитесь, что «TestDll.dll» является допустимым файлом DLL или OCX, а затем повторите попытку ** «.Невозможно зарегистрировать DLL с помощью Regsv32 - ошибка «Dll был загружен, но точка входа DllRegisterServer не найдена»

Я нашел другую возможность включить switch/tlb в команду regsvr32, тем самым продвигаясь вперед. Но я уверен, действительно ли моя dll регистрируется или нет?

Не могли бы вы сообщить мне, что мне здесь не хватает? Это очень срочно.

(Примечание: -.? У меня ОС Windows 7 на моей машине это сделать ли разница) Quickest ответ будет очень ценна.

С уважением Sarang

+3

Является ли ваша тестовая DLL настроенной как COM-объект? https://www.simple-talk.com/dotnet/visual-studio/build-and-deploy-a-.net-com-assembly/ –

+0

«Библиотека классов» необязательно означает «библиотека ActiveX». Вы не предоставили достаточной информации ни о чем, кроме предположения, что вы неправильно создали ActiveX, который можно зарегистрировать через COM. Если вы [редактируете] свое сообщение, чтобы предоставить более подробную информацию о вашей «библиотеке классов», мы можем помочь вам разобраться, как помочь вам найти решение. –

+0

Возможный дубликат [Как зарегистрировать COM-библиотеку, написанную на C#, с помощью Regsvr32?] (Http://stackoverflow.com/questions/4198583/how-do-i-register-a-com-dll-written-in- с-острым с-regsvr32) – shf301

ответ

1

Вы пытаетесь зарегистрировать DLL, который не является COM библиотека. Pre .NET com dlls необходимо экспортировать набор функций и реализаций интерфейса, которые поддерживают такие вещи, как самостоятельная регистрация (в вашем случае) и фабрика класса. Эти стандартизированные экспортные поставки были, по сути, перехватами, с помощью которых реализация com в Windows была/способна взаимодействовать с DLL через com conventions.

Для .NET эти экспортные средства и инструменты, которые им нужны, такие как regsvr32, не применяются непосредственно к сборкам, которые мы создаем, даже если они настроены для com interop.

Инициализация регистрации и ввода выполняется по-разному для .net-взаимодействия. Регистрация, например, обрабатывается a tool called regasm.

Проведите некоторое исследование совместимых оберток com .net/com. http://msdn.microsoft.com/en-us/library/bd9cdfyx.aspx

Смежные вопросы