Ссылка на dll не может быть добавлена - PullRequest
89 голосов
/ 11 августа 2010

Когда я добавляю файл .dll в качестве ссылки в приложение C #, появляется сообщение об ошибке:

Ссылка на ".... dll" не может быть добавлена. Пожалуйста, убедитесь, чтофайл доступен, и он является допустимой сборкой или компонентом COM.

ILDissassembler говорит, что нет действительного заголовка CLR, поэтому я пытаюсь зарегистрировать его с помощью regsvr32, и это дает мне еще одну ошибку:

Модуль "" был загружен, но произошел сбой вызова DLLRegisterServer с кодом ошибки "0x80004005"

Я использую окончательную версию VS2010 на 64-битной машине с Windows 7.В чем может быть проблема?

Спасибо за любые подсказки / ответы

Ответы [ 15 ]

0 голосов
/ 26 сентября 2017

Мне нужно было изменить архитектуру x86 с x64 в диспетчере конфигурации и скопировать мою 32-битную dll (язык C - pcProxAPI.dll) в новую созданную папку. Это поверх шагов, описанных "Sashus" ниже .

C: \ Projects .. \ bin \ x86 \ Debug

0 голосов
/ 18 января 2017

Обычно в Visual Studio 2015 проект dll следует создавать как проект C ++ -> CLR из шаблонов Visual Studio, но технически его можно включить после факта:

Критическое свойство называется Common Language Runtime Supportустановить в конфигурации вашего проекта.Он находится под Configuration Properties > General > Common Language Runtime Support.

. При этом VS, вероятно, не будет обновлять опцию «Target .NET Framework» (как должно).Вы можете добавить это вручную, выгрузив ваш проект, отредактировав файл your_project.xxproj и добавив / обновив тег Target .NET framework Version XML.

В качестве примера я предлагаю создать новое решение в виде проекта C ++ CLR иисследуя XML там, возможно, даже рассмотрите его, чтобы убедиться, что нет ничего очень важного, что является необычным.

0 голосов
/ 16 декабря 2016

У меня была эта ошибка при написании службы Windows.Я запускал Visual Studio от имени администратора, чтобы мои команды после сборки автоматически устанавливали мою службу.Я заметил, что когда я закрыл все и запустил VS нормально (не как администратор), это позволило мне добавить ссылки без ошибок.

Надеюсь, это решение работает для вас.

0 голосов
/ 15 января 2015

Для всех, кто ищет помощь по этому вопросу или испытывает FileNotFoundException или FirstChanceException, ознакомьтесь с моим ответом здесь:

Произошло первое случайное исключение типа 'System.IO.FileNotFoundException'в mscorlib.ni.dll - Windows Phone

В общем, вы должны быть абсолютно уверены, что выполняете все требования для создания ссылки - я знаю, что это очевидный ответ, но вы, вероятно,упускать из виду относительно простое требование.

0 голосов
/ 26 июля 2013

Я столкнулся с подобной проблемой. Я пытался добавить ссылку на DLL-файл .net 2.0 к проекту .Net 1.1. Когда я попытался добавить предыдущую версию .dll, которая соответствовала .Net 1.1. у меня это сработало.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...