В чем разница между RegAsm.exe и regsvr32? Как сгенерировать файл tlb с помощью regsvr32?
Может ли какой-нибудь орган сказать мне, в чем разница между regsvr32 и RegAsm? Мой Dll находится в C#, так как я могу импортировать классы в C++?
2 ответа
regsvr32
загрузит библиотеку и попытается вызвать DllRegisterServer()
из этой библиотеки. Неважно, что DllRegisterServer()
на самом деле - он просто вызывает эту функцию и проверяет возвращаемое значение. Вы используете его для регистрации COM-серверов в неуправляемых библиотеках DLL. Он не может сгенерировать файл.tlb.
regasm
зарегистрирует COM-сборку.NET в качестве COM-сервера. Вы используете его для сборок.NET. Он может сгенерировать файл.tlb только для данной сборки - он проверяет информацию о типах, хранящуюся в сборке, и включает в себя объекты, предоставляемые COM, в библиотеку типов.
Может быть, это поможет: Как вызвать управляемую DLL из собственного кода Visual C++ в Visual Studio.NET или Visual Studio 2005