문제

참조 된 .NET Framework 2.0 어셈블리가 IIS 호스팅 WCF 서비스에서 다음 코드 줄을 실행하려고 시도했을 때 오류를 받았습니다.

에러 메시지:

Exepath는 독립형 exe 내부에서 실행되지 않을 때 지정되어야합니다.

소스 코드:

ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);

누구 든지이 문제를 경험했으며 문제를 해결하는 방법을 알고 있습니까?

편집하다: 내 질문은 .NET 2.0 어셈블리와 거꾸로 호환되는 WCF 서비스에서 구성 파일 (App.Config 및 Web.Config)을 열는 가장 좋은 방법은 무엇입니까?

도움이 되었습니까?

해결책 2

유의 한 답변에서 기존 코드를 제거하고 다음 구성 관리자 구현으로 대체하여 구성 문제를 해결할 수있었습니다.

string MySetting = ConfigurationManager.AppSettings.Get("MyAppSetting");

ASP.NET 응용 프로그램, WinForms 응용 프로그램 및 WCF 서비스에 대해 작동하는 경우. 방금 3 년 전에 내 클래스 라이브러리의 초기 구현을 과도하게 공학했습니다 ....

다른 팁

참조 된 .NET 2.0 어셈블리는 공통 작업을 처리하기 위해 엔터프라이즈 라이브러리를 위해 개발 한 클래스 라이브러리의 일부입니다. ASP.NET 및 WinForm 응용 프로그램에서 사용되었습니다.

다음은 열 수있는 구성 파일 유형을 결정하는 데 사용한 소스 코드입니다.

//Open app.config or web.config file
if (HttpContext.Current != null)
    this.m_ConfigFile = WebConfigurationManager.OpenWebConfiguration("~");
else
    this.m_ConfigFile = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);

그것은 당신이 달성하려는 것에 달려 있습니다. ASP.NET에서는 일반적으로 이와 같은 내용에 ConfigurationManager를 사용하지 않고 대신 WebConfigurationManager를 사용하지 않습니다. 즉, 실제로는 OpenExeConfiguration이 허용하는 사용자/로밍/etc 작업이 웹 애플리케이션에서 의미가 없기 때문에 정확한 동등한 것은 없습니다.

무엇을 필요로합니까?

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top