2015-08-19 4 views
7

После много усилия и поиска, я решил задать вопрос. У меня есть dll, который я добавил в моем проекте, и после добавления пространства имен он показывает ошибку, то естьОшибка при добавлении пространства имен

Ошибка 1 A Использование директивы пространства имен может применяться только к пространствам имен; «Защитный код» тип не пространство имен

enter image description here

Когда я добавил этот DLL в другой проект, он прекрасно работает, но не знает, что происходит в этом проекте. Я очистил решение, добавил dll и ссылку снова, но все тот же ошибка.

Edit: - DDL

enter image description here

После удаления DLL я набрал шапочку, но Intellisense не показывает ничего о искаженным. enter image description here

+0

Вы используете ту же версию VS в обоих случаях? –

+0

Да, обе имеют одинаковые версии –

+0

Что произойдет, если вы удалите DLL и используете 'Captcha'. То, что я получаю, это; может быть, есть другое определение Captcha, которое противоречиво? – Rob

ответ

1

Даже после прочтения комментариев, я уверен, что у вас есть тип Captcha где-то скрывается.

Вы можете попробовать объект-проводник или проверить внутри других библиотек, на которые вы ссылались (тот факт, что Captcha.dll работает для других проектов, может намекнуть вам о том, какую dll проверить первым).

Но сообщение VS дает вам довольно ясно: у вас есть тип Captcha где-то. Я обнаружил, что это случай, когда Intellisense продолжает работать, даже если компилятор жалуется.

Я надеюсь поставить вас на правильный путь.

Удачи вам!

Редактировать: только для уточнения. Тип может быть классом, структурой или перечислением.

Edit2: Я только что заметил, что у вас есть папка bin, включенная в ваш проект. Ну, это обычно очень плохая идея. Папка bin должна быть исключена из проекта (щелкните правой кнопкой мыши, затем «Исключить папку из проекта»). Затем вы должны проверить свои рекомендации. Чтобы быть уверенным, удалите все из них и очистите также папку с папкой. Затем ссылайтесь на dll через nuget или просматривайте в папку lib. Если у вас есть файлы в папке bin, «происходят плохие вещи».

+0

Я удалил captcha.dll, а затем попытаюсь ввести captcha, но Intellisense ничего не показывает в отношении captcha. Пожалуйста, посмотрите изображение, которое я только что загрузил. –

+0

Это не имеет значения. Попробуйте использовать объект-проводник и найдите, если в других DLL-файлах есть какой-то другой класс Captcha или что-то еще. Или введите Captcha, а затем нажмите . Если есть тип Captcha, он должен отображаться как сообщение «включить соответствующее пространство имен». –

+0

О, и сделайте «удалить и добавить» ссылки, которые я описал в своем втором редактировании. Папка bin может испортить ваши ссылки. –

Смежные вопросы