IDbCommand和IDbConnection 在程序集中实现 找不到MySql.Data。确保 程序集MySql.Data是 位于应用程序目录中 或者在全局程序集缓存中。如果 该程序集在GAC中,使用 中的元素 应用程序配置文件到 指定程序集的全名。
所以,我将这些行添加到web.config:
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<qualifyAssembly partialName="MySql.Data" fullName="MySql.Data, Version=6.3.6, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />
</assemblyBinding>
</runtime>
但没效果。
这是配置Hibernate的方法:
private static ISessionFactory CreateSessionFactory()
{
return new NHibernate.Cfg.Configuration()
.Configure( @"C:\Users\Documents\Visual Studio 2010\Projects\Atendimento\NHibernateLayer\hibernate.cfg.xml" )
.AddAssembly( typeof( NHibernateHelper ).Assembly )
.BuildSessionFactory();
}
任何??? Tkhs !!!
答案 0 :(得分:1)
我记得之前看过这条错误消息,并且在blog entry中找到了适用于我的解决方案(如果内存服务!)。
您似乎正在向web.config
添加相应的行,但是您是否确认您正在设置正确的版本号/公钥令牌?
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<qualifyAssembly partialName="MySql.Data"
fullName="MySql.Data, Version=6.2.2.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d">
</qualifyAssembly>
</assemblyBinding>
</runtime>
那就是说 - 我看到GAC中有Version N
MySql.Data程序集时发生了奇怪/令人困惑的事情,并且你有另一个你引用Version M
的副本。确保您在项目中引用相同的版本,与GAC中的版本相同。