vs2005 генерация tlb файла
От: alexx14  
Дата: 13.02.09 14:46
Оценка:
Занимаюсь расширением функицонала графического пакета. Расширения подключаются посредством .tlb файлов.
С примерами вроде разобрался, все чики-пики. Создаю с нуля свой Solution — ничего не получается (

То есть dll генерится, а tlb файл нет. Пробовал разные настройки менять. В Application->Assembly Information ставил/убирал галочку COM-Visible, GUID прописывал/убирал. В Build->Output Register for COM-interop поставил.

Подскажите плиз что и где еще настроить нужно?


Вот кусочек кода описывающий взаимодействие с реестром.


[ClassInterface(ClassInterfaceType.None)]
    [Guid("B067EB1A-BC5D-4298-876A-A2D20AC19F15")]
    class SearchParcelTool : BaseTool
    {
        #region Component Category Registration

        [ComRegisterFunction()]
        [ComVisible(false)]
        static void RegisterFunction(String sKey)
        {
            string fullKey = sKey.Remove(0, 18) + @"\Implemented Categories";
            Microsoft.Win32.RegistryKey regKey = Microsoft.Win32.Registry.ClassesRoot.OpenSubKey(fullKey, true);
            if (regKey != null)
            {
                regKey.CreateSubKey("{EF800028-5EE5-4ddd-A570-CFB66923449D}");
            }
        }

        [ComUnregisterFunction()]
        [ComVisible(false)]
        static void UnregisterFunction(String sKey)
        {
            string fullKey = sKey.Remove(0, 18) + @"\Implemented Categories";
            Microsoft.Win32.RegistryKey regKey = Microsoft.Win32.Registry.ClassesRoot.OpenSubKey(fullKey, true);
            if (regKey != null)
            {
                regKey.DeleteSubKey("{EF800028-5EE5-4ddd-A570-CFB66923449D}");
            }
        }

        #endregion
...
com tlb registry config
Re: vs2005 генерация tlb файла
От: ioni Россия  
Дата: 14.02.09 16:36
Оценка:
Здравствуйте, alexx14, Вы писали:

вообще то rtfm
http://msdn.microsoft.com/en-us/library/aa367300(VS.85).aspx
http://msdn.microsoft.com/en-us/library/aa367372(VS.85).aspx
Re[2]: vs2005 генерация tlb файла
От: alexx14  
Дата: 16.02.09 08:24
Оценка:
Здравствуйте, ioni, Вы писали:

I>Здравствуйте, alexx14, Вы писали:


I>вообще то rtfm

I>http://msdn.microsoft.com/en-us/library/aa367300(VS.85).aspx
I>http://msdn.microsoft.com/en-us/library/aa367372(VS.85).aspx

За ссылки спасибо )

Если честно, не понял как MIDL Compiler использовать.

В проекте ни exe-шника ее, ни строки для запуска нет (

Замечу, вопрос интересует именно во взаимодействии со студией VS2005
Re[3]: vs2005 генерация tlb файла
От: ioni Россия  
Дата: 16.02.09 10:29
Оценка:
Здравствуйте, alexx14, Вы писали:

A>Здравствуйте, ioni, Вы писали:


I>>Здравствуйте, alexx14, Вы писали:


I>>вообще то rtfm

I>>http://msdn.microsoft.com/en-us/library/aa367300(VS.85).aspx
I>>http://msdn.microsoft.com/en-us/library/aa367372(VS.85).aspx

A>За ссылки спасибо )


A>Если честно, не понял как MIDL Compiler использовать.


A>В проекте ни exe-шника ее, ни строки для запуска нет (


A>Замечу, вопрос интересует именно во взаимодействии со студией VS2005


так как не известно что у вас за проект то искать в настройках студии лень и опять же rtfm
возможно для вашего типа проекта такой галочки нет
но точно известно что для проект можно настроить post build event pre build event
вписав туда нужную командую строчку
Re: vs2005 генерация tlb файла
От: algol Россия about:blank
Дата: 16.02.09 16:18
Оценка: +1
Здравствуйте, alexx14, Вы писали:

A>То есть dll генерится, а tlb файл нет. Пробовал разные настройки менять. В Application->Assembly Information ставил/убирал галочку COM-Visible, GUID прописывал/убирал. В Build->Output Register for COM-interop поставил.


regasm myTest.dll /tlb:myTest.tlb
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.