.NET 표준 클래스에 ConfigurationManager
이 없기 때문에 .NET 표준 클래스 라이브러리 내에서 web.config
또는 appSettings.{env}.json
이든 상관없이 실행중인 어셈블리의 응용 프로그램 설정을 검색하는 가장 좋은 방법은 무엇입니까?.NET Framework, .NET Standard 및 .NET Core 프로젝트간에 동일한 구성을 사용하는 방법은 무엇입니까?
우리는 세 가지 프로젝트가 있습니다
- ASP.NET 핵심 웹 응용 프로그램을 (1.1)
- ASP.NET 웹 응용 프로그램 (4.6.1)
- .NET 기본 클래스 라이브러리 (1.4) -> 두 프로젝트 모두에 의해 참조 됨
.NET Standard 클래스 lib에는 배포 된 환경에 따라 변경해야하는 URL이 있습니다.
.NET Core 앱의 경우에는이 URL을 적절한 appSettings.{env}.json
파일에 추가하고 DI 컨테이너에 적절한 값을 추가 한 다음 Microsoft.Extensions.Options
라이브러리를 사용하여 구성을 검색하면됩니다.
그러나 .NET Framework 4.6.1 응용 프로그램에서 라이브러리를 호출해야하지만 web.config
파일에서 값을 검색 할 수있는 방법이 없습니다 (적어도 찾을 수있는 방법이 없기 때문에) 클래스 라이브러리 내에 URL을 설정하는 좋은 방법이 있습니다.
URL 변수를 정적으로 설정하고 여기에서 참조하는 각 .NET Framework 프로젝트의 Application_Start()
메서드 내에서 값을 설정함으로써 우리는 추가 한 appSetting 키를 통해 어떤 환경인지 결정했습니다 각 web.config에 다음 환경을 기반으로 URL을 수동으로 설정합니다.
.NET Standard 클래스 라이브러리 내의 .NET Core 및 .NET Framework 응용 프로그램에서 appSettings 값을 가져 오는 것을보다 강력하게 처리 할 수 있습니까? 바람직하게는 클래스 라이브러리 내에서만 값을 설정할 수 있습니다.
완전히 합법적 인 질문에 대한 무작위 투표를 해 주셔서 감사합니다. –