我非常新的NHibernate的,所以我很抱歉,如果我失去了一些东西小事在这里。 我目前通过从packtpub题为“NHibernate的3初学者指南”一书的工作。 我主要是按照书中的方向。 当我说主要是我已经使用MySQL,而不是MSSQL分叉并一直在使用的NuGet而不是手工下载的二进制文件。
我在第2章的这是第一个真正的编码章的那一刻。 在这一章中,我构建一个简单的WPF应用程序通过点击一个按钮来建立我的数据库架构。 我已经建立了一些POCO的对Product
和Category
的一章中指定的类。 通过的NuGet我已经添加了以下参考:
- MySQL.Data
- NHibernate的(作为依赖自动解决,Iesi.Collections)
- 功能NHibernate
当我点击按钮来构建我的数据库中执行以下代码块:
private const string connString = "string omitted for brevity";
private void btnCreateDatabase_Click(object sender, RoutedEventArgs e)
{
Fluently.Configure().Database(MySQLConfiguration.Standard.ConnectionString(connString))
.Mappings(m => m.FluentMappings.AddFromAssemblyOf<ProductMap>())
.ExposeConfiguration(CreateSchema)
.BuildConfiguration();
}
在点击按钮,我收到下面的异常( FileLoadException
):
外异常消息: Could not load file or assembly 'Iesi.Collections, Version=4.0.0.0, Culture=neutral, PublicKeyToken=aa95f207798dfdb4' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
Could not load file or assembly 'Iesi.Collections, Version=4.0.0.0, Culture=neutral, PublicKeyToken=aa95f207798dfdb4' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
内部异常消息: Could not load file or assembly 'Iesi.Collections, Version=1.0.1.0, Culture=neutral, PublicKeyToken=aa95f207798dfdb4' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
Could not load file or assembly 'Iesi.Collections, Version=1.0.1.0, Culture=neutral, PublicKeyToken=aa95f207798dfdb4' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
这里是“融合日志”是否有帮助:
=== Pre-bind state information ===
LOG: User = Borealis\Frito
LOG: DisplayName = Iesi.Collections, Version=1.0.1.0, Culture=neutral, PublicKeyToken=aa95f207798dfdb4
(Fully-specified)
LOG: Appbase = file:///C:/Users/Frito/documents/visual studio 2010/Projects/NH3BeginnersGuide/Chapter2/App/Sample.UI/bin/Debug/
LOG: Initial PrivatePath = NULL
Calling assembly : NHibernate, Version=3.3.1.4000, Culture=neutral, PublicKeyToken=aa95f207798dfdb4.
===
LOG: This bind starts in default load context.
LOG: Using application configuration file: C:\Users\Frito\documents\visual studio 2010\Projects\NH3BeginnersGuide\Chapter2\App\Sample.UI\bin\Debug\Sample.UI.vshost.exe.config
LOG: Using host configuration file:
LOG: Using machine configuration file from C:\Windows\Microsoft.NET\Framework\v4.0.30319\config\machine.config.
LOG: Redirect found in application configuration file: 1.0.1.0 redirected to 4.0.0.0.
LOG: Post-policy reference: Iesi.Collections, Version=4.0.0.0, Culture=neutral, PublicKeyToken=aa95f207798dfdb4
LOG: Attempting download of new URL file:///C:/Users/Frito/documents/visual studio 2010/Projects/NH3BeginnersGuide/Chapter2/App/Sample.UI/bin/Debug/Iesi.Collections.DLL.
WRN: Comparing the assembly name resulted in the mismatch: Major Version
ERR: Failed to complete setup of assembly (hr = 0x80131040). Probing terminated.
我曾尝试以下和现在在一个有点损失:
- 通过尝试的NuGet提升Iesi.Collections但失败说没有NHibernate的版本是兼容的。
- 对于下载NHibernate和FluentNhibernate二进制文件和手动引用它们。
- 在拉样品中的DLL从书和复制源样本。 这给了我,我还没有研究远远不够,提问又一个不同的错误。
我有两个问题:
- 首先,包装的NuGet为什么会试图寻找一个版本4 * DLL时的版本的船点回到1 *?
- 我应该尝试其他什么事情让工作短让所有的源和建设本地的? 我在一个小的损失,并会喜欢一些其他输入。
提前致谢!