문제

ConnectionStrings 또는 AppSettings를 사용하면 ApplicationSettings를 다른 구성 파일로 이동할 수 있습니까?

디자이너를 사용하여 웹 애플리케이션에 대한 설정을 만들 때 web.config에서 다음과 같은 ApplicationSettings 섹션을 가져옵니다.

  <applicationSettings>
    <TestWebApplication.Properties.Settings>
      <setting name="AnotherSetting" serializeAs="String">
        <value>Another setting value</value>
      </setting>
    </TestWebApplication.Properties.Settings>
  </applicationSettings>

AppSettings와 같은 다른 파일로 이동하고 싶습니다.

<appSettings configSource="config\appsettings.config"/>

저는 디자이너와 Web.Config와 함께 생성 된 클래스를 통해 많은 설정에 액세스 할 수있는 프로젝트를 사용하여 여러 환경간에 유지하기가 매우 어렵습니다. 설정 클래스가 응용 프로그램 설정이 아닌 AppSettings를 사용하도록 강요 할 수 있다면 더 나을 것입니다.

가능합니까?

도움을 주셔서 미리 감사드립니다.

도움이 되었습니까?

해결책 5

이 질문은 오랫동안 답으로 표시되지 않았습니다. 글쎄, marc_s 답변 아래에 이것이 불가능하다고 설명하는 의견이 있습니다. 나는 주석이 답과 정확히 반대되는 말을하기 때문에 marc_s 답변을 받아들이는 대답으로 표시하고 싶지 않았습니다. 따라서 대답은 불행히도 불가능하다는 것입니다.

다른 팁

이 질문에 늦게 Waaaay이지만, 나는 방금이 벽에 내 머리를 두드리고 있습니다. 전체 ApplicationSettings 노드가 아닌이 작업을 수행 할 수 있습니다. ApplicationSettings의 각 하위 노드를 개별적으로 수행해야합니다. 나는 바닥에서 마법 정보를 얻었다 msdn sectioninformation.configsource 기사.

app.config/web.config 컨텐츠

<applicationSettings>
    <TestWebApplication.Properties.Settings configSource="externalfile.config" />
</applicationSettings>

externalfile.config 컨텐츠 :

<TestWebApplication.Properties.Settings>
    <setting name="AnotherSetting" serializeAs="String">
        <value>Another setting value</value>
    </setting>
</TestWebApplication.Properties.Settings>

예, 물론 가능합니다! 구성 파일의 모든 구성은 configsource = "OtherConfigFile.config"속성을 통해 "외부화"될 수 있습니다.

설정 클래스가 응용 프로그램 설정이 아닌 AppSettings를 사용하도록 강요 할 수 있다면 더 나을 것입니다.

이렇게하려면 .NET의 멋진 비주얼 "설정"클래스를 사용하지 않고 configurationManager를 직접 사용해야합니다. 그렇게하면 설정을 넣을 수 있습니다u003CappSettings> ConfigurationManager.AppSettings [ "KeyName"]를 사용하여 읽으십시오.

마크

그것이 나의 프로젝트라면, 나는 응용 프로그램 세팅을 제거하고 모든 것을 AppSettings 섹션으로 옮기려고합니다. ApplicationSettings의 값은 값을 강력하게 입력하고 Intellisense에 사용할 수 있다는 것입니다. 그 중 어느 것도 당신의 상황에 특히 유리하지 않습니다. 물론, 디자이너를 통해 여전히 설정을 만들고 있다면 모든 것을 움직이는 큰 히트 곡은 그만한 가치가 없습니다.

흠 ... 우리가 이전 직장 에서이 일을하고 있다는 것을 알고 있기 때문에 이것이 가능하다는 것을 알고 있습니다. 그래도 정확히 어떻게 기억하지 못합니다. 우리는 설정을 상속하기 위해 사용하고있는 부모 프로젝트가 있었으며, 하위 프로젝트에서 응용 프로그램 설정을 변경하면 수동 단계가 있었는데, 학부모 프로젝트에 대한 변경 사항을 수동으로 복사해야했습니다 (그러나 그런 다음 모든 어린이 프로젝트에 의해 상속되었습니다).

특이성이 부족한 것에 대해 죄송합니다. 나는 솔루션을 구현 한 사람이 아니었고 시간이 지남에 따라 약간 퍼지되었습니다. 그래도 우리 가이 일을 할 수 있다는 것을 기억하며, 우리가 어떻게하는지에 대해서는 기억이 정확하다고 생각합니다.

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