我們在本地機器上傳遞了流利的NHibernate映射測試,但是當我們簽入TFS時,測試在構建服務器上失敗。我們正在使用MSTest。我們得到的錯誤是:MSBuild中的Nhibernate.Bytecode.Castle問題(TFS)
NHibernate.Bytecode.UnableToLoadProxyFactoryFactoryException:無法在配置代理工廠類期間加載類型'NHibernate.ByteCode.Castle.ProxyFactoryFactory,NHibernate.ByteCode.Castle'。 可能的原因有: - 未部署NHibernate.Bytecode提供程序集。 - 用於初始化會話工廠部分的'proxyfactory.factory_class'屬性的typeName格式不正確。
解決方案: 確認您的部署文件夾包含以下組件之一: NHibernate.ByteCode.LinFu.dll NHibernate.ByteCode.Castle.dll ---> System.IO.FileNotFoundException:未能加載文件或程序組裝'NHibernate.ByteCode.Castle'或它的一個依賴項。系統找不到指定的文件.WRN:將裝配綁定日誌記錄關閉。 要啓用程序集綁定失敗日誌記錄,請將註冊表值[HKLM \ Software \ Microsoft \ Fusion!EnableLog](DWORD)設置爲1. 注意:與程序集綁定失敗日誌記錄相關的性能受損。 要關閉此功能,請刪除註冊表值[HKLM \ Software \ Microsoft \ Fusion!EnableLog]。
我們檢查了drop文件夾,並且NHibernate.Bytecode.Castle.dll在那裏。我們有dll和引用Castle.Core,Castle.DynamicProxy2,Iesi.Collections,log4net,NHibernate和NHibernate.ByteCode.Castle。我們已經通過MSBuild使用drop文件夾中的命令提示符運行測試,並且仍然出現錯誤。我們流利的映射是這樣的(NHibernateConfig.MappingConfiguration())調用實際映射,automapped):
Fluently.Configure() .Database(SQLiteConfiguration.Standard.ShowSql()InMemory()) .Mappings( NHibernateConfig.MappingConfiguration()) .BuildConfiguration();
任何想法,爲什麼這可能是?
你添加了對NHibernate.ByteCode.LinFu.dll的引用NHibernate.ByteCode.Castle.dll? – Burt 2010-01-13 17:56:52
我們不使用林福。我已經更新了所有參考文章的帖子。 – JontyMC 2010-01-13 18:22:10