Ответ 1
urgh - ошибка PICNIC. Добавлен ref в неправильный проект в решении...
В проекте VS2005 С# я добавил ссылку на System.configuration. В обозревателе объектов я вижу System.Configuration.ConfigurationManager. В Intellisense System.Configuration только старые настройки ConfigurationSettings, а не ConfigurationManager.
Мой код System.Configuration.ConfigurationManager.AppSettings [ "MySetting" ]
выделяется как синтаксическая ошибка и не компилируется.
В другом проекте точно такая же настройка работает просто отлично... любые подсказки относительно того, что происходит?
urgh - ошибка PICNIC. Добавлен ref в неправильный проект в решении...
Хотя использование System.Configuration; команда автоматически генерируется в секции использования, по какой-либо причине фактическая ссылка не установлена.
Перейдите в ссылку добавления, вкладку .Net и выберите "System.Configuration".
ConfigurationManager теперь будет разрешен.
Если вы перейдете к проекту, где точно такая же настройка работает очень хорошо и посмотрите на ссылки, вы увидите ссылку на System.Configuration.
Чтобы ответить на вопрос (а не на то, что он не ответил уже 5+ раз), необходимо добавить System.Configuration в качестве ссылки на ваш проект.
Однако мне хотелось бы выделить, что во многих случаях я добавлял System.Configuration.dll в мои ссылки на проекты, но по какой-то особой причине иногда ConfigurationManager все равно не будет отображаться в intellisense даже после добавления ссылки на System.Configuration. Даже если я удалю ссылку и добавлю ее снова.
Очень простое решение этой проблемы:
Это простое упражнение заставит Visual Studio снова вести себя и перестать говорить вам, что вы не добавили ссылку на System.Configuration. Это упражнение обычно помогает мне со всеми необъяснимыми поведениями Visual Studio.
У меня это случалось со мной как в VS2008, так и VS2010 несколько раз, и это работает каждый раз.
Для тех, кто переключается туда и обратно между ASP.NET WebForms и WinForms, этот отзыв может пригодиться.
Если вы разрабатываете проект С# WinForms, вы обнаружите, что попытка использовать ConfigurationManager
для получения настроек app.config
приведет к следующей ошибке:
Имя "ConfigurationManager" не существует в текущем контексте
Так как это включено по умолчанию в проектах ASP.NET, это может стать неожиданностью. Просто нажмите правой кнопкой мыши на "Ссылки" node в своем проекте и посмотрите вкладку ".NET". Прокрутите вниз, и вы должны найти System.Configuration
. Добавьте это в свой проект, и вы должны быть в рабочем состоянии.
Если вы уже добавили System.Configuration
в раздел использования в верхней части кода, теперь вы можете использовать настройки конфигурации (например, строки подключения) с кодом, например:
con.ConnectionString = ConfigurationManager.ConnectionStrings[sConnection].ConnectionString;
Я думаю, вам нужно косвенно ссылаться на сборку System.Configuration.
В документации MSDN -
Чтобы использовать класс ConfigurationManager, ваш проект должен ссылаться на Сборка System.Configuration. По умолчанию некоторые шаблоны проектов, как консольное приложение, не ссылайтесь на эту сборку, поэтому вы должны вручную ссылайтесь на него.
https://msdn.microsoft.com/en-us/library/system.configuration.configurationmanager.aspx
Это просто предположение, но, возможно, вам стоит проверить, использует ли ваш проект хотя бы .NET framework 2.0. Класс ConfigurationManager доступен с .NET 2.0, как здесь описано: ссылка на msdn