2009-08-16 50 views
2

我有一個類庫,所有我的nhibernate代碼(使用流利的域/映射)。爲什麼nhibernate在/ bin/debug中查找hibernate.cfg.xml?

現在我只是做在一個控制檯應用一些簡單的測試,我得到一個錯誤說,它不能找到/ bin中的configruation文件/調試

我在文件/ consoleTests /休眠.cfg.xml

它爲什麼會在控制檯應用程序的/ bin/debug文件夾中查找?

回答

0

這是在Visual Studio中運行時的當前目錄。那是你在做什麼?

+1

你是什麼意思?我只是在vs.net中運行控制檯應用程序...... – mrblah 2009-08-16 17:17:55

+0

@Homestead:Adrianbanks給出了完整的答案。 – 2009-08-16 17:58:04

5

如果您在不帶任何參數的情況下調用Configure()方法,那麼我相信hibernate.cfg.xml必須與使用它的應用程序位於同一個目錄中。

當您編譯您的項目時,它將被編譯到bin/debug/目錄。在運行項目時(通過單擊它或在Visual Studio中調試它),工作目錄是bin/debug/,因此這是hibernate.cfg.xml文件預計的位置。

,你可以:

  • 使用Visual Studio中的生成後事件的hibernate.cfg.xml文件複製到輸出目錄
  • 呼叫Configure(path),其中path是你/consoleTests/目錄路徑到您的hibernate.cfg.xml

有關如何配置NHibernate的更多詳細信息,請參閱「A fluent interface to NHibernate - Part 4 - Configuration」。

+6

將hibernate.cfg.xml的屬性更改爲「始終複製」或「如果更新則複製」,並將其複製到輸出路徑。 – sisve 2009-08-16 17:42:03

1

您可以設置XML屬性「複製到輸出目錄」爲「一直拷貝」