«Доступ к ключу реестра запрещен» при создании библиотеки .NET DLL для COM-взаимодействияC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 «Доступ к ключу реестра запрещен» при создании библиотеки .NET DLL для COM-взаимодействия

Сообщение Anonymous »

Цель: создать C# DLL с взаимодействием с COM, которая будет вызываться Delphi в другой среде.

Проблема >: Windows блокирует мою сборку, говоря, что у меня нет прав на редактирование реестра.

Контекст:
  • Я использую Windows 8, Visual Studio 2012, UAC отключен.
  • Я использую DllExport от RGiesecke для аннотирования с помощью [DllExport]< /code> методы, которые я хочу экспортировать как Dll.
  • Я использую [ComVisible(true)], как предложено здесь.
  • Целевая платформа моего решения – x86.
  • Я отредактировал свойства сборки своего решения и отметил сборку > Вывод > Зарегистрироваться для COM Interop
    < li>Я отредактировал файл AssemblyInfo.cs и включил [assembly: ComVisible(true)]
  • Я подписал свою сборку строгим именем
Если я запускаю VS2012 не от имени администратора, я получаю эту ошибку: Невозможно зарегистрировать сборку 'absolute\path\to\NameOf.dll', доступ запрещен. Пожалуйста, убедитесь, что вы запускаете приложение от имени администратора. Доступ к разделу реестра «HKEY_CLASSES_ROOT\NameOf.DllClass» запрещен

Возможно, мне нужно запустить 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
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»