카테고리 보관물: C#

C#

구성 시스템을 초기화하지 못했습니다

Visual Studio를 처음 사용합니다. 현재 로그인 양식을 만들고 있습니다.

이 코드가 있습니다.

string connectionString = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
try
{
    using (OdbcConnection connect = new OdbcConnection(connectionString))
    {
        connect.Open();
        OdbcCommand cmd = new OdbcCommand("SELECT username, password FROM receptionist", connect);
        OdbcDataReader reader = cmd.ExecuteReader();

        if (username_login.Text == username && password_login.Text == password)
        {
            this.Hide();
            MessageBox.Show("Invalid User", "Login Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            this.Close();
        }
        else
            MessageBox.Show("Invalid User", "Login Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
        connect.Close();
    }
}
catch (OdbcException ex)
{
    MessageBox.Show(ex.Message, "error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}

그러나 사용자 이름과 암호를 입력하려고 할 때마다 구성 시스템을 초기화하지 못했습니다 라는 오류 가 있습니다 . 나는 이것이 어떤 종류의 문제인지 궁금하고 어떻게 해결할 수 있습니까?

도와주세요.



답변

프로젝트의 구성 파일 (web 인 경우 web.config 또는 windows 인 경우 app.config)이 다음과 같이 시작되는지 확인하십시오.

<?xml version="1.0"?>
<configuration>
    <configSections>
        <sectionGroup name="applicationSettings"
                      type="System.Configuration.ApplicationSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >

            <section name="YourProjectName.Properties.Settings"
                     type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
                     requirePermission="false" />

        </sectionGroup>
    </configSections>
</configuration>

내부에 configuration요소 첫 번째 자식은 configSections요소 여야합니다 .

요소 의 name속성에서 section교체해야합니다.YourProjectName 실제 프로젝트 이름으로 십시오.

클래스 라이브러리 프로젝트에서 웹 서비스를 만든 다음 엔드 포인트 구성을 가져 오기 위해 구성 파일을 Windows 응용 프로그램에 복사 (덮어 쓰기)하고 동일한 문제가 발생하기 시작했습니다. 실수로 제거했습니다configSections .

그것은 나를 위해 일했다, 그것이 도움이되기를 바랍니다


답변

c : \ Users \ username \ AppData \ Local \ appname 에서 이전 구성 파일을 삭제하십시오 .c : \ Users \ username \ AppData \ Roaming \ appname 한 다음 응용 프로그램을 다시 시작하십시오.


답변

때때로 Windows에서 창을 복제하여 오류가 발생합니다.

C : \ Users \ App Data \ Local \ “사용자 이름”…

이 폴더를 삭제하고 완료하십시오. 시도 해봐.


답변

에 사용자 정의 구성 섹션을 추가 한 경우 요소 App.Config에서 섹션을 정의했는지 확인하십시오 <configSections>. 구성 XML을 추가했지만 구성 섹션을 맨 위에 선언하지 않았습니다. “구성 시스템을 초기화하지 못했습니다”라는 예외가 발생했습니다.


답변

MSTest 클래스에서도 이와 동일한 문제가 발생 했습니다. 그의 기사에서 Marlon Grech 는 “요소는 App.config의 첫 번째 요소로 정의되어야합니다”라고 말합니다.

요소 아래의 첫 번째 요소인지 확인하십시오. AppSettings를 먼저 넣었습니다.


답변

나는 이것이 이미 답변되었지만 단위 테스트에서 정확히 같은 문제가 있음을 알고 있습니다. appSettings 섹션을 추가 한 다음 답변에 따라 구성 섹션을 선언하여 머리카락을 찢었습니다. 마지막으로 이미 설정 파일을 추가로 appSettings 섹션을 선언했음을 알았습니다. 두 섹션 모두 내 외부 설정 파일 “appSettings.config”를 가리 키지 만 속성 파일 을 사용하는 첫 번째 appSettings 요소 는 다른 하나는 configSource 속성을 사용했습니다. . 질문은 connectionStrings에 관한 것입니다. appSettings 요소가 다른 속성으로 복제되는 connectionStrings 요소 인 경우에는 충분합니다.

바라건대, 이것은 내가 한 길을 가기 전에 다른 사람에게 해결책을 제공 할 수 있기 때문에 한두 시간을 낭비하게됩니다. 오 개발자들의 삶을 한숨 . 개발하는 것보다 디버깅에 며칠이 더 걸립니다!


답변

Oracle Client Drivers를 제거한 후이 문제가 발생하기 시작했고 C : \ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727 \ machine.config !

다른 컴퓨터에서 복사하면 문제가 해결되었습니다.