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