..但不是k.i.s.s.i.n.g
我正在尝试将NINject与NHibernate一起使用。通过NuGet我正在使用
当我尝试通过NInject解析一个类时,我收到以下错误:
无法加载文件或程序集'NHibernate,Version = 2.1.2.4000,Culture = neutral,PublicKeyToken = aa95f207798dfdb4'或其依赖项之一。定位的程序集的清单定义与程序集引用不匹配。 (HRESULT异常:0x80131040)
我在app.config中有以下内容
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="NHibernate" publicKeyToken="aa95f207798dfdb4" />
<bindingRedirect oldVersion="2.1.0.4000-2.1.2.4000" newVersion="3.1.0.4000" />
</dependentAssembly>
</assemblyBinding>
我注意到下载的NInject包在\ packages \ Ninject.2.2.1.4 \ lib
下包含以下内容当我使用NuGet管理特定库的包时,包含上述哪个版本?这是一个可以通过手动添加对正确的Ninject dll的引用来解决的问题吗?
TIA
答案 0 :(得分:3)
NuGet根据项目类型决定使用哪个版本。例如。您正在编写.NET客户端配置文件程序集,然后它将添加对net40-Client
的引用您可以手动引用任何您喜欢的程序集。但通常NuGet已经选择了正确的版本。
答案 1 :(得分:2)
删除对NH.Linq的引用解决了Phill建议的问题