2014-09-05 1 views
1

이 질문은 여기 몇 번이나 많이 있지만 내 사례에 대한 답변을 적용 할 수 없습니다. 그래서 여기에 우리는 다시 간다.클래스 라이브러리의 구성 파일에 포함 된 ConnectionString을 포함합니다.

나는 두 개의 프로젝트 인 ProjectAProjectB을 가지고 있습니다. ProjectA은 클래스 라이브러리이고 엔터티 프레임 워크를 사용하며, 기본적으로 해당 모델 설정은 App.config 파일에 기록됩니다. 반면에 ProjectB은 데이터 액세스 요구를 충족시키기 위해 자체 Web.config 파일과 실행 파일이며 참조 번호는 ProjectA입니다. 물론 문제는 실행시에 ProjectB의 web.config가 "실행중인 어셈블리"이므로 읽기라는 것입니다. 즉, ProjectA의 app.config에있는 모든 연결 문자열을 ProjectB의 웹에 포함해야한다는 의미입니다. .config.

필자는 이러한 연결 문자열을 수동으로 복사한다는 생각을 정말로 좋아하지 않습니다. ProjectB의 web.config에 connectionStrings 섹션을 app.configProjectA에있는 섹션으로 바꾸는 방법이 있는지 궁금합니다.

PROJECTA (의 App.config) :

<configuration> 
    <connectionStrings> 
    <add name="MyModelContext" connectionString="blahblah" /> 
    </connectionStrings> 
</configuration> 

ProjectB (의 Web.config) :

<configuration> 
<connectionStrings> 
</connectionStrings> 
<configuration> 

후 그래서 이론적으로,이 같은 뭔가를 시작 했죠 프로젝트/런타임 빌드 :

ProjectB (Web.config) :

<configuration> 
    <connectionStrings> 
    <add name="MyModelContext" connectionString="blahblah" /> 
    </connectionStrings> 
<configuration> 

이 기능이 지원됩니까?

+2

'이 기능이 지원됩니까?'단순한 즉시 사용할 수있는 솔루션이 없습니다. –

+0

더 이상 동의 할 수 없습니다. 그리고 그것은 완전히 성가신 일입니다. – Vland

+0

제목을 편집했습니다. "[제목에"태그 "가 포함되어 있어야합니까?] (http://meta.stackexchange.com/questions/19190/)"합의가 "아니오, 그렇지 않아야합니다"로 표시되어야합니다. –

답변

0

configSource attribute을 사용하여 app.config/web.config 섹션을 외부 파일로 바꿀 수 있습니다. connectionStrings.config이 PROJECTA에서 app.config connectionStrings 섹션 당신의 web.config에서

: 당신이 당신의 응용 프로그램 내에서 모든 파일에 그것을 가리킬 수 있도록

<connectionStrings configSource="connectionStrings.config" /> 

configSource은 web.config 파일의 상대 경로이다가, 예 config\connectionStrings.config.

+0

흠'ProjectA.dll.config '파일을 열 수 없습니다. (C : \ SomeFolder \ MyProject \ web.config 8 번 줄)'... – user2872534

+0

'ProjectA가 있습니다. dll.config' 귀하의 프로젝트의 루트에? – jrummell

+1

'bin'에 있습니다. 그러나 그것으로도,'ProjectA.dll.config'는 출력 디렉토리의 어디에도 존재하지 않습니다. 내가 생성 할 수있는 특정 작업을 수행해야합니까? – user2872534

관련 문제