Проблема >: Windows блокирует мою сборку, говоря, что у меня нет прав на редактирование реестра.
Контекст:
- Я использую Windows 8, Visual Studio 2012, UAC отключен.
- Я использую DllExport от RGiesecke для аннотирования с помощью [DllExport]< /code> методы, которые я хочу экспортировать как Dll.
- Я использую [ComVisible(true)], как предложено здесь.
- Целевая платформа моего решения – x86.
- Я отредактировал свойства сборки своего решения и отметил сборку > Вывод > Зарегистрироваться для COM Interop
< li>Я отредактировал файл AssemblyInfo.cs и включил [assembly: ComVisible(true)] - Я подписал свою сборку строгим именем
Возможно, мне нужно запустить Visual Studio от имени администратора. Однако если я запускаю VS2012 от имени администратора, я получаю другую ошибку (еще более случайную): невозможно зарегистрировать сборку. Не удалось загрузить файл или сборку «RGiesecke.DllExport.Metadata, Version=1.0.0.0, Culture=neutral, PublicKeyToken=ad5f9f4a55b5020b» или одну из его зависимостей. Система не может найти указанный файл.
Я выполнил действия, описанные в разделе ИСПРАВЛЕНИЕ: Сообщение об ошибке «Доступ к ключу реестра запрещен» при регистрации сборки .NET. для COM-взаимодействия, а именно поиск и изменение разрешений для HKEY_CLASSES_ROOT\Категории компонентов\{62C8FE65-4EBB-45e7-B440-6E39B2CDBF29. Не повезло.
Как мне получить права, необходимые для сборки DLL и получения файла tlb?
Подробнее здесь: https://stackoverflow.com/questions/233 ... om-interop