우리받은 다음 프로젝트했습니다 :의 web.config 및 app.config에 ApplicationSettings는 ASP.NET
- Domain.UI.Web
- Domain.Business
- Domain.Services.EndPoints을
- Domain.Services.Contracts
- Domain.Services.Agents
을 덮은 tionSettings는 예를 들면 Domain.Business
프로젝트에서 app.Config
첨가되고 :
<applicationSettings>
<Domain.Business.My.MySettings>
<setting name="SomeKey" serializeAs="String">
<value>someDummyValue</value>
</Domain.Business.My.MySettings>
</applicationSettings>
키 비주얼 스튜디오에 의해 생성 된 입력 접근 거기에 첨가된다. 그러나이 값은 다른 프로젝트의 web.config
의 값으로 덮어 쓰게됩니다. 이것은 Domain.Services.EndPoints
프로젝트의 web.config
입니다. 나는 Domain.Business
프로젝트에서 My.Settings.SomeKey
를 얻을 때
<Domain.Business.My.MySettings>
<setting name="SomeKey" serializeAs="String">
<value>actual_value</value>
</setting>
</Domain.Business.My.MySettings>
</applicationSettings>
이 값은 엔드 포인트 프로젝트에서 actual_value
입니다. 그리고이 일을하는 것처럼 보이는 Google 코드에서 코드를 찾을 수 없어서 자동으로이 발생하는 것 같습니다.
이것은 무엇입니까? 이것은 ASP.NET이나 WCF에서 표준적인 것입니까? 어떤 버전의 프레임 워크가 소개 되었습니까? 이 덮어 쓰기 동작에 대해서는 어디에서 더 읽을 수 있습니까?
Domain.Bussiness이 클래스 라이브러리라고 생각하십니까? 이 경우 정상적인 동작입니다. dll에는 .config 파일이 없으므로 라이브러리를 참조하는 응용 프로그램의 web.config (또는 실행 파일의 app.config)를 사용합니다. – Hanno
입니다. 분명히 모든 값은'Domain.Services.EndPoints'의 값으로 덮어 쓰여지고 있습니다. 그러나 어떤 프로젝트도 단지'svc' 파일을 가진 프로젝트 인 EndPoints에 대한 참조를 가지고 있지 않습니다. 나는 당신이 설명한 일반 원칙이 여전히 적용되지만 이것이 WCF에 특정한 것인가? – Laoujin