2015-05-17 3 views
0

Я столкнулся с этой проблемой пару раз, и мне интересно, есть ли у кого-то лучшее решение, кроме проб и ошибок или переполнения стека.Как узнать, какая сборка для добавления C#

Допустим, мы используем некоторый класс .net Foo

Foo находится в пространстве имен Bar.Baz

следующее заявление

using Bar.Baz; 

не достаточно, чтобы скомпилировать программы, нам не хватает ссылки на сборку. Поэтому добавьте ссылку на System.Bar.Baz. Это все еще не работает, поэтому, после поиска в Интернете, я обнаружил, что мне действительно нужно добавить ссылку на Some.Other.dll и теперь она компилируется.

Мой вопрос в том, как я узнаю, какое пространство имен сопоставляет с какой ссылкой, когда обычный не работает?

Последняя проблема: The type or namespace name 'DbContext' could not be found Вместо добавления ссылки на System.Data.Entity мне пришлось установить через Nuget.

ответ

3

Если это функция .NET framework, вы можете просто найти ее в MSDN, и она сообщит вам, в какой сборке существует класс/функция.

Вы также можете использовать ReSharper, который является очень приятным плагином для Visual Studio, и он может помочь вам автоматически добавлять сборки.

0

Если вы используете Visual Studio 2013 или выше, один из простых способов определить, к какому пространству имен принадлежит класс Peek definition. Вы можете легко найти его в контекстном меню правой кнопки мыши.

На экране ниже, я использовал его с KeyValuePair:

Peek definition screenshot

Кроме того, обратите внимание на documentation.

+0

Это работает только в том случае, если ссылка уже подключена правильно; т. е. у вас уже есть правильная сборка. OP задает вопрос о том, как найти правильную сборку, когда не удается найти пространство типов/имен, потому что правильной ссылки нет. –

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