问题NHibernate、FluentNHibernate和Iesi.Collection。接下来你会尝试什么?我是NHibernate的新手,如果我在这里遗漏了一些微不足道的东西,我深表歉意。我目前正在写一本来自packtpub的名为“NHibernate3初学者指南”的书。我主要是按照书中的说明进行操作。当我说大多数时候,我使用MySQL而不是MSSQL,并且一直在使用NuGet而不是手动下载二进制文件。我现在在第2章,第一个真正的编码章节。在本章中,我将构建一个简单的WPF应用程序,只需单击一个按钮即可构建我的数据库架构。我为本章中指定的产品和类别类构建了一些POCO。通过NuGet我添加了以下参考:MySQL.DataNHibernate(自动解析为依赖项,Iesi.Collections)FluentNHibernate当我单击按钮构建数据库时,将执行以下代码块:privateconststringconnString="stringomitted为简洁起见”;privatevoidbtnCreateDatabase_Click(objectsender,RoutedEventArgse){Fluently.Configure().Database(MySQLConfiguration.Standard.ConnectionString(connString)).Mappings(m=>m.FluentMappings.AddFromAssemblyOf()).ExposeConfiguration(CreateSchema).BuildConfiguration();单击按钮后,出现以下异常(FileLoadException):外部异常消息:无法加载文件或程序集“Iesi.Collections,Version=4.0.0.0,Culture=neutral,PublicKeyToken=aa95f207798dfdb4”或其依赖项之一。找到的程序集的清单定义与程序集引用不匹配。(HRESULT异常:0x80131040)无法加载文件或程序集“Iesi.Collections,Version=4.0.0.0,Culture=neutral,PublicKeyToken2”的依赖项之一。定位的程序集的清单definition与程序集引用不匹配。(HRESULT异常:0x80131040)内部异常消息:无法加载文件或程序集“Iesi.Collections,Version=1.0.1.0,Culture=neutral,PublicKeyToken=aa95f207798dfdb4”或其依赖项之一。找到的程序集的清单定义与程序集引用不匹配。(HRESULT异常:0x80131040)无法加载文件或程序集“Iesi.Collections,Version=1.0.1.0,Culture=neutral,PublicKeyToken=aa95f207798dfdb4”或其依赖项之一。找到的程序集的清单定义与程序集引用不匹配。(ExceptionfromHRESULT:0x80131040)如果有帮助,这是“FusionLog”:===预绑定状态信息===LOG:User=BorealisFritoLOG:DisplayName=Iesi.Collections,Version=1.0.1.0,Culture=中性,PublicKeyToken=aa95f207798dfdb4(完全指定)日志:Appbase=file:///C:/Users/Frito/documents/visualstudio2010/Projects/NH3BeginnersGuide/Chapter2/App/Sample.UI/bin/Debug/LOG:InitialPrivatePath=NULL调用程序集:NHibernate,Version=3.3.1.4000,Culture=neutral,PublicKeyToken=aa95f207798dfdb4。===LOG:此绑定在默认加载上下文中启动。日志:使用应用程序配置文件:C:UsersFritodocumentsvisualstudio2010ProjectsNH3BeginnersGuideChapter2AppSample.UIbinDebugSample.UI.vshost.exe.config日志:使用主机配置文件:日志:使用来自C:WindowsMicrosoft.NETFrameworkv4.0.30319configmachine.config的机器配置文件。日志:在应用程序配置文件中发现重定向:1.0.1.0重定向到4.0.0.0。日志:策略后参考:Iesi.Collections,Version=4.0.0.0,Culture=neutral,PublicKeyToken=aa95f207798dfdb4LOG:尝试下载新的URL文件:///C:/Users/Frito/documents/visualstudio2010/Projects/NH3BeginnersGuide/Chapter2/App/Sample.UI/bin/Debug/Iesi.Collections.DLL。警告:比较程序集名称导致不匹配:主要版本错误:无法完成设置程序集(hr=0x80131040)。探测终止。我尝试了以下方法,但现在有点不知所措:尝试通过NuGet升级Iesi.Collections,但没有说NHibernate没有兼容版本DownloadedbinariesforNHibernateandFluentNhibernateandreferencedthemmanually。从书中提取源示例并复制示例中的DLL。这给了我一个不同的错误,而且我没有做足够的研究来提出问题。我有两个问题:首先,当发布的版本指向1.*时,为什么NuGet包试图查找版本4.*dll?我应该尝试使用哪些其他方法来获取所有源代码并在本地构建?我有点迷路,会喜欢其他一些输入。提前致谢!神圣的白痴让我发疯。我发现app.config是在某个时候创建??的,大概是因为我搞砸了。在app.config中我发现了以下内容:注释掉Runtime元素,重建并运行允许上面的按钮正常运行。我不知道我做了什么让它产生,但我很高兴我找到了它。感谢大家在这个问题上的努力和支持!Iesi.Collections4.0是.Net4.0的重大修改版本,用于未来的NHibernate4.0。不幸的是,NHibernate版本(包括3.3.1)的Nuget包没有指定Iesi依赖项的上限。随着NHibernate3.3.2的变化,Iesi版本4或更高版本被明确禁止。因此,如果您通过NuGet更新到NH3.3.2,我希望它能够解决Iesi对3.x版本的依赖性。以上就是C#学习教程:问题NHibernate、FluentNHibernate和Iesi.Collection。接下来你会尝试什么?如果所有分享的内容对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
