Занимаюсь расширением функицонала графического пакета. Расширения подключаются посредством .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
...
Здравствуйте, 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
Здравствуйте, 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
вписав туда нужную командую строчку