Подтвердить что ты не робот

System.Configuration.ConfigurationManager недоступен?

В проекте VS2005 С# я добавил ссылку на System.configuration. В обозревателе объектов я вижу System.Configuration.ConfigurationManager. В Intellisense System.Configuration только старые настройки ConfigurationSettings, а не ConfigurationManager.

Мой код  System.Configuration.ConfigurationManager.AppSettings [ "MySetting" ]

выделяется как синтаксическая ошибка и не компилируется.

В другом проекте точно такая же настройка работает просто отлично... любые подсказки относительно того, что происходит?

4b9b3361

Ответ 1

urgh - ошибка PICNIC. Добавлен ref в неправильный проект в решении...

Ответ 2

Хотя использование System.Configuration; команда автоматически генерируется в секции использования, по какой-либо причине фактическая ссылка не установлена.

Перейдите в ссылку добавления, вкладку .Net и выберите "System.Configuration".

ConfigurationManager теперь будет разрешен.

Если вы перейдете к проекту, где точно такая же настройка работает очень хорошо и посмотрите на ссылки, вы увидите ссылку на System.Configuration.

Ответ 3

Чтобы ответить на вопрос (а не на то, что он не ответил уже 5+ раз), необходимо добавить System.Configuration в качестве ссылки на ваш проект.

Однако мне хотелось бы выделить, что во многих случаях я добавлял System.Configuration.dll в мои ссылки на проекты, но по какой-то особой причине иногда ConfigurationManager все равно не будет отображаться в intellisense даже после добавления ссылки на System.Configuration. Даже если я удалю ссылку и добавлю ее снова.

Очень простое решение этой проблемы:

  • Добавьте ссылку на System.Configuration.dll в свой проект
  • Сохраните ваши файлы
  • Сохраните решение.
  • Закройте экземпляр Visual Studio, который затрудняет вам время.
  • Откроем ваше решение

Это простое упражнение заставит Visual Studio снова вести себя и перестать говорить вам, что вы не добавили ссылку на System.Configuration. Это упражнение обычно помогает мне со всеми необъяснимыми поведениями Visual Studio.

У меня это случалось со мной как в VS2008, так и VS2010 несколько раз, и это работает каждый раз.

Ответ 4

Для тех, кто переключается туда и обратно между ASP.NET WebForms и WinForms, этот отзыв может пригодиться.

Если вы разрабатываете проект С# WinForms, вы обнаружите, что попытка использовать ConfigurationManager для получения настроек app.config приведет к следующей ошибке:

Имя "ConfigurationManager" не существует в текущем контексте

Так как это включено по умолчанию в проектах ASP.NET, это может стать неожиданностью. Просто нажмите правой кнопкой мыши на "Ссылки" node в своем проекте и посмотрите вкладку ".NET". Прокрутите вниз, и вы должны найти System.Configuration. Добавьте это в свой проект, и вы должны быть в рабочем состоянии.

Добавление ссылки на System.Configuration

Если вы уже добавили System.Configuration в раздел использования в верхней части кода, теперь вы можете использовать настройки конфигурации (например, строки подключения) с кодом, например:

con.ConnectionString = ConfigurationManager.ConnectionStrings[sConnection].ConnectionString;

Ответ 5

Я думаю, вам нужно косвенно ссылаться на сборку System.Configuration.

Ответ 6

В документации MSDN -

Чтобы использовать класс ConfigurationManager, ваш проект должен ссылаться на Сборка System.Configuration. По умолчанию некоторые шаблоны проектов, как консольное приложение, не ссылайтесь на эту сборку, поэтому вы должны вручную ссылайтесь на него.

https://msdn.microsoft.com/en-us/library/system.configuration.configurationmanager.aspx

Ответ 7

Это просто предположение, но, возможно, вам стоит проверить, использует ли ваш проект хотя бы .NET framework 2.0. Класс ConfigurationManager доступен с .NET 2.0, как здесь описано: ссылка на msdn

Ответ 8

  1. Перейти к управлению пакетами NuGet
  2. Просмотр System.Configuration
  3. Установите пакет System.Configuration.ConfigurationManager. View