2011-03-22 4 views
0

현재 해결할 수없는 문제가 있습니다. 나는 두 개의 응용 프로그램 읽기를 가지고 있기 때문에 같은 설정을 변경/구성 파일은 실제로 응용 프로그램 폴더에 대한 App.config라고 App.config는 디버깅 할 때만 읽을 수 있습니다.

AppDomain.CurrentDomain.SetData("APP_CONFIG_FILE", "App.config"); 
AppDomain.CurrentDomain.SetupInformation.ConfigurationFile = Path.Combine(System.Reflection.Assembly.GetExecutingAssembly().Location, "App.config"); 
MessageBox.Show(ConfigurationSettings.AppSettings.Count.ToString()); 

(나는이 일을하고

:

나는이 코드가 응용 프로그램이 있습니다 파일).

Visual Studio 디버거를 통해이 중 하나를 시작하면 올바르게 11 개의 appsettings가 있음을 알 수 있습니다. 그러나 디버거 외부에서 실행하면 0이됩니다.

여기에 무슨 문제가 있습니까? 나는이 코드가 과거에 효과가 있었는지 100 % 확신합니다.

+0

상대 경로 대신 App.config에 전체 경로를 전달하려고 시도 했습니까? 아마도 app.config 파일이 올바르게 해석되지 않습니다. –

답변

1

나는 마침내 그것을 지금 당장 풀 수 있었다. 해결책은 구성 설정에 액세스하는 것입니다.

Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); 
0

올바른 경로를 App.Config에 전달하지 않은 것처럼 보입니다. 대신 다음을 시도하십시오.

Path.GetDirectoryName() 호출을 확인하십시오. 코드가 위치를 exe 파일로 가져 오는 중, "App.Config"를 추가하면 존재하지 않는 파일로 해석됩니다.