Моя программа Windows Forms не находит строку 'app.configconnecetion' - PullRequest
0 голосов
/ 19 марта 2012

Я новичок в Windows Forms, и я изменил файл app.config, чтобы иметь некоторые строки подключения, но он никогда не находит его, когда я использую его в коде; он возвращает ноль.

<?xml version="1.0" encoding="utf-8" ?>
    <configuration>
        <connectionStrings>
            <add name="MySqlConnectionString" connectionString="server=localhost;database=mydatabase;uid=root;" />
        </connectionStrings>
    </configuration>

Кроме того, я использую этот код, чтобы увидеть, тянет ли он что-то

 string val = System.Configuration.ConfigurationSettings.AppSettings["MySqlConnectionString"];

но val равно нулю. Кроме того, в разделе system.configuration говорится, что он устарел, и предлагается использовать System.Configuration.ConfigurationManager.AppSettings, но IntelliSense не дает мне опцию "ConfigurationManager", у меня есть только ConfigurationSettings. Я попытался напечатать это и посмотреть, не появилось ли маленькое синее подчеркивание, чтобы включить что-то, но ничего не появляется.

Что я мог делать не так?

1 Ответ

2 голосов
/ 19 марта 2012

Это потому, что вы пытаетесь использовать AppSettings , когда его нет в AppSettings.

Также убедитесь, что вы правильно указали ссылку на System.Configuration.

  • Зайдите в свой проект, щелкните правой кнопкой мыши по ссылке -> Добавить ссылку -> .NET -> Перейдите в System.Configuration и добавьте его.

Вам нужно переключиться на это:

ConfigurationManager.ConnectionStrings["MySqlConnectionString"].ConnectionString;

Это должно помочь проиллюстрировать разницу между AppSettings и ConnectionStrings:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <connectionStrings>
    <add name="MySqlConnectionString" connectionString="server=localhost;database=mydatabase;uid=root;" />
  </connectionStrings>
  <appSettings>
    <add key="MyAppSetting" value="Hello World!"/>
  </appSettings>
</configuration>

А потом из C #:

ConfigurationManager.AppSettings["MyAppSetting"]
...