시작하려면 .NET 2.0 콘솔 응용 프로그램이 있어야합니다. 고객의 요구 사항을 충족시키기 위해 필자는 자신의 응용 프로그램과 다른 디렉토리에있는 구성 파일을 읽기/쓰기 방식으로 사용해야합니다. 이것은 내 응용 프로그램이 이미 가지고있는 exe 구성 (예 : appname.exe.config)에 추가됩니다..NET 구성 파일 - OpenMappedExeConfiguration을 사용해야합니까?
이렇게하려면 OpenMappedExeConfiguration()에 대한 호출에서 얻은 Configuration 개체를 반환하는 Configuration 속성을 추가했습니다.
이 구현을 다시 평가하기 위해 단계별로 노력하고 있습니다. 내가 쓴 것은 정말 해킹 된 것처럼 보인다. 이것이 올바른 접근법일까요? 나는 .net 설정 파일에 대해 많은 내용을 읽었지만, 내가해야할 일을 정확히 모르겠다.
class LocalEnvironment {
... stuff
static Configuration _cfg;
internal static Configuration Configuration {
get {
if (_cfg == null) {
var fm = new ExeConfigurationFileMap
{
ExeConfigFilename = Path.Combine(ApplicationInstallDirectory,
"config.xml")
};
_cfg = ConfigurationManager.OpenMappedExeConfiguration(fm, ConfigurationUserLevel.None);
}
return _cfg;
}
}
}
이 접근법의 유일한 문제점은 모든 앱 설정을 두 번째 파일로 이동해야한다는 것입니다. 또한 런타임 중에 업데이트하지 않으면 상대 경로 요구 사항이 문제가 될 수 있습니다. – sylvanaar
애드리안에 완전히 동의합니다. 개인적으로, 모든 .config와 관련된 .config 관련 구성 파일이 마음에 들지 않습니다. 엉망이 많이 생깁니다. 자신의 XML 파일을 만들고 App.Config에서이 파일을 참조하고 고객에게 해당 xml 파일을 업데이트하라고 알려줍니다. 그리고 잘 사는 삶. 어떤 설정이라도 하나의 설정 파일에 있습니다. @Sylvanaar :이 문제가 해결되지 않았 으리라 생각됩니다. 즉, 설정을 위해 app.config를 사용하지 않고 구성을 위해 다른 (가장 가능성있는 xml) 파일을 사용합니다. app.config 파일을 변경할 때마다 응용 프로그램을 다시 시작해야합니다. –
또한이를 위해 작동하는 솔루션이 필요한 경우 알려 주시기 바랍니다. 나는 그것을 내 프로젝트에서 사용한다. 그 편리한. –