2010-07-09 3 views
1

asp.net mvc 프로젝트에 대한 단위 테스트를 작성하고 있습니다. 내 테스트에서 사용하는 구성 파일을 가지고 있지만, 몇 가지 이유로 구성 파일은 bin 폴더에 있어야 찾을 수 있습니다. bin 폴더에 config 파일을 가지고있는 것이 가장 좋은 방법이라고 생각하지 않기 때문에이 작업을 수행 할 수있는 또 다른 방법이 있습니까?테스트 환경에서 asp.net 액세스 구성 파일

답변

0

컴파일하는 동안 app.config 파일이 루트 디렉토리에서 bin 폴더로 자동 복사됩니다. app.config 파일을 bin 폴더에 수동으로 배치하지 않아도됩니다.

MyTestProject.dll 
MyTestProject.dll.config 

플러스 다른 참조 된 어셈블리 :

프로젝트 이름을 가정하면 MyTestProject

다음 빌드 후 빈에는 다음이 포함되어야합니다.

솔루션 탐색기에서 app.config를 마우스 오른쪽 단추로 클릭하고 속성 (F4)으로 이동하면 "출력 디렉터리로 복사"옵션이 "복사 안 함"으로 설정되어 있는지 확인해야합니다. ". 이 말이 맞습니다. 컴파일러는 복사 및 이름 바꾸기를 처리해야합니다. 설정을 "항상 복사"로 설정 한 경우, 빈에는 app.config이라는 파일이 포함되며 런타임에서는이를 무시합니다.

EDIT : app.config (또는 web.config와 관련하여)에서 다른 구성 파일을 참조하는 경우 해당 파일을 적절한 디렉토리에 배포해야합니다. 이것의 예는의 app.config에서 참조 Spring.config 파일 수 있습니다 :

<spring> 
    <context type="Spring.Context.Support.WebApplicationContext, Spring.Web"> 
     <resource uri="~/Spring.config"/> 
    </context> 
</spring> 
+0

감사 다니엘을 수행 다른 사용자 지정 설정 파일이 직장이나이의 app.config로 제한된다? – Matthew

+0

단위 테스트가 기본 asp.net mvc 솔루션 템플릿에 따라 웹 사이트에 대한 별도의 어셈블리에 있다고 가정합니다. 나는 그렇게 희망한다. ASP.NET에서는 web.config가 배포의 일부로 응용 프로그램 또는 가상 폴더 디렉터리에 복사됩니다. 다른 설정 파일이 무엇인지 설명해 주시겠습니까? –

+0

안녕하세요 Daniel 종속성 주입을 위해 성 windsor를 사용하고 있습니다. 인터페이스에 유형을 연결하는 데 사용되는 자체 구성 파일이 있습니다. 테스트 환경에서이 구성 파일의 다른 사본을 갖고 싶습니다. – Matthew

관련 문제