2009-08-16 4 views
2

나는 모든 nhibernate 코드 (유창한을 사용하는 도메인/매핑)를 가진 클래스 라이브러리를 가지고있다.왜 nhibernate가/bin/debug에서 hibernate.cfg.xml을 찾고 있습니까?

내가 파일/consoleTests이/디버그

지금 난 그냥 콘솔 응용 프로그램에서 몇 가지 간단한 테스트를하고있는 중이 야, 나는 그것이/빈에서 configruation 파일을 찾을 수 없다는 오류를 얻고있다/최대 절전 모드 .cfg.xml

콘솔 응용 프로그램의/bin/debug 폴더를보고있는 이유는 무엇입니까?

답변

0

Visual Studio에서 실행될 때의 현재 디렉터리입니다. 그게 니가하는 짓이야?

+1

무엇을 의미합니까? 나는 단지 vnet 내에서 콘솔 애플리케이션을 실행 중입니다 ... – mrblah

+0

@Homestead : Adrianbanks가 그에 대한 완전한 대답을주었습니다. –

5

매개 변수없이 Configure() 메서드를 호출하는 경우 hibernate.cfg.xml은 해당 매개 변수를 사용하는 응용 프로그램과 동일한 디렉터리에 있어야한다고 생각합니다.

프로젝트를 컴파일하면 bin/debug/ 디렉토리로 컴파일됩니다. 프로젝트를 실행할 때 (Visual Studio에서 클릭하거나 디버깅하여) 작업 디렉토리는 bin/debug/이므로 hibernate.cfg.xml 파일이 있어야합니다. 당신은 할 수

:

  • path/consoleTests/ 디렉토리에 hibernate.cfg.xml의 경로입니다 출력 디렉토리
  • 전화 Configure(path),에 hibernate.cfg.xml 파일을 복사하려면 Visual Studio 내 빌드 후 이벤트를 사용합니다.

NHibernate를 구성하는 방법에 대한 자세한 내용은 "A fluent interface to NHibernate - Part 4 - Configuration"을보십시오.

+6

hibernate.cfg.xml의 속성을 "copy always"또는 "copy if newer"로 변경하면 출력 경로에 복사됩니다. – sisve

1

xml 속성을 "출력 디렉토리로 복사"를 "항상 복사"로 설정할 수 있습니다.

관련 문제