Visual Studio 2010 - вам не хватает директивы using или ссылки на сборку? - PullRequest
25 голосов
/ 22 декабря 2010

Когда я добавляю ссылку на свою dll в проекте Visual Studio, я могу использовать ее, но когда я компилирую свой код или пытаюсь его запустить, я получаю , если вы пропустили директиву using или ссылка на сборку? _ Ошибка. Я могу подтвердить, что у меня есть право на использование оператора для моего пространства имен, и я могу подтвердить, что DLL загружен правильно. Кто-нибудь имеет представление о том, что я не могу иметь право на это?

Ответы [ 9 ]

59 голосов
/ 22 декабря 2010

Перейдите в настройки проекта и убедитесь, что вы не компилируете проект для версии .net, содержащей текст «профиль клиента».

6 голосов
/ 17 июля 2012

У меня только что возникла проблема, точно такая, как эта, даже если это старый вопрос, я подумал, что я добавлю свой 2c на то, что исправило его, поскольку ни один из других ответов не помог:

По какой-то причине, когда япостроил решение сверху донизу, определенная DLL не обновлялась, а вывод содержал измененный код.Так что, хотя мое решение не имело видимых ошибок, когда вы пытались собрать, оно все еще ссылалось на старую DLL и начало жаловаться.

Это был просто случай прямой перестройки проекта-нарушителя, и после этого он выбралдо последней библиотеки DLL и построил счастливо.

Это казалось странным несчастным случаем, так как ни одна конфигурация не изменилась между тем, когда он работал / когда он не работал.

4 голосов
/ 09 апреля 2015

Иногда просто перестраивают решение.

2 голосов
/ 22 декабря 2010

Вы используете .net 4.0?

Если да, этот dll, вероятно, не совместим с .net 4.0

2 голосов
/ 22 декабря 2010

Скорее всего, ваша dll ссылается на другую dll, на которую не ссылается клиентский проект, а ваш dll-код предоставляет тип или интерфейс из 3-й dll клиентскому коду.

Если вы публикуете сообщение exaCtмы сможем помочь лучше.

2 голосов
/ 22 декабря 2010

Важно расположение DLL.

Если вы добавляете ссылку на локальный компьютер в библиотеку DLL, которая находится за пределами вашего решения Visual Studio, она не обязательно копируетсяв файлы вашего решения (зависит от типа решения / проекта).

Если это ваша проблема, то вам нужно либо поместить DLL-файл по тому же пути на другом компьютере, либо скопировать ее в ваше решениепоэтому он развертывается вместе с файлами решений и меняет ссылку.

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

1 голос
/ 17 января 2014

В моем случае основной проект (WinForm) был настроен Framework Target: FW 4.0 «Профиль клиента». Я перехожу на FW 4.0 и отлично работаю !! Сначала я искал в ссылочных проектах, и они были в порядке, но основной проект не делает. Я надеюсь, что это поможет. Спасибо.

0 голосов
/ 04 марта 2016

Вам просто нужно снова проверить свое пространство имен этого файла класса ... оно будет работать

0 голосов
/ 24 ноября 2015

В моем случае эта ошибка компиляции исчезла после добавления ссылки на Компоненты сборки Microsoft BCL через контекстное меню «Управление пакетами NuGet» в проблемном проекте.

До: у меня был проект Main (консольное приложение), ссылающийся на проект A (библиотека классов).Проект A зависел от компонентов сборки Microsoft BCL.

После: я начал рефакторинг, где выбрал несколько классов для отдельного проекта New .Это также зависело от A .Но ошибка компиляции произошла в проекте Новый , как если бы не было ссылки Новый -> A (хотя Visual Studio не выделяла предположительно не найденные интерфейсы и классыперечислены в списке ошибок компиляции).

Итак, я проверил зависимости проекта A и нашел там компоненты Microsoft BCL Build.После добавления его в New зависимостей все работало нормально.Самое интересное, что Main действительно не содержали эту зависимость, и она ей не нужна.

Надеюсь, это поможет.

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