Доброго дня! Возможно кто-нибудь уже сталкивался со следующей проблемой:
Задача: Зарегистрировать в системе собственную сборку в виде dll, так чтобы её видели другие приложения. В частности, чтобы ее подхватывали приложения на xaml, например так: xmlns:g="clr-namespace:GS.Scada.WPFComponents;assembly=GSComponents"
Что делал:
1. Создал проект dll-ки в Visual Studio 2008 (публичные классы есть)
2. Добавил файл ключей строго имени
3. Скомпилировал
4. Зарегистрировал в кэше сборок утилитой gacutil (утилита успешно отрапортовала о занесении)
5. На всякий случай внёс ключ в HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\AssemblyFolders\ с именем каталога где находится dll
Результат:
1. Студия не видит эту сборку через список .net компонент
2. Приложения не видят сборку, xaml указанное пространство имен не находит
3. mmc через консоль оснастки .NET Configuration также не видит сборку
Однако:
1. В каталоге assemly с другими сборками моя dll успешно появилась.
2. Если заставить gacutil выдать все зарегенные сборки, моя сборка есть в списке
3. Кроме того успешно добавляю ее в проекты c прямым указанием в каком каталоге лежит dll (однако это мне не подходит)
Агония:
1. Сносил-устанавливал gacutil-ом
2. Делал с нуля тестовые проекты — результат аналогичный
3. Пытался добавлять в кэш сборок с помощью mmc. Ругается на то что у сборки нет строгого имени. Это при том что gacutil строгое имя видит.
4. Добавлял в dll COM интерфейс и регил regasm-ом
5. Гуглил и курил msdn — вроде всё делаю правильно.
Опускаю руки и прошу помощи у сообщества... У кого есть идеи, куда можно еще копнуть? Наверняка же какую-то ерунду упускаю из вида.