![]() |
1
14
这些文件应与引用文件nhibernate.dll位于同一目录中:
此外,还应添加引用或复制此引用:
|
![]() |
2
5
我假设你最近把NHibernate升级到了2.1? 如果是这样,我猜你有不同的项目引用不同版本的NHibernate。 这件事发生在我身上,比你想象的更难找到。 以下是我为解决问题所采取的步骤:
希望能帮你解决这个问题。 |
![]() |
3
5
作为未来参考: 如果你遇到同样的问题 Randy Klingelheber 指出(nHibernate和FluentHibernate或任何其他依赖库之间的依赖性问题),可以为面向旧版本的程序集指定重定向。这样就不必重新编译依赖程序集。
此代码将旧版本(在我的例子中是3.0.0.3001)的请求重定向到实际使用的版本(3.0.0.4000)。PublicKeyToken包含在错误消息中。 |
![]() |
4
4
我也有这个问题。 对我来说,问题是FluentHibernate期望的NHibernate版本(2.1.0.4000)与我在项目(2.1.2.4000)中的版本不同。我通过单独下载每个库的最新版本偶然发现了这个问题。 为了解决这个问题,我更改了我的NHibernate参考,指出了Fluenhibernate 1.0 RTM(2.1.0.4000)随附的旧版本NHibernate。 另一种解决方案可能是从app.config文件显式设置程序集绑定。 |
![]() |
5
2
我最近用FluentHibernate的1.0RTM版本升级了我们的项目,它需要最新的NHibernate位。这导致了和你一样的问题。 我们的项目结构是这样的:
(所有外部dll都位于referenceassemblies目录中。) 我的第一次尝试 解决这个问题的方法是在dataaccess项目中添加对nhibernate.bytecode.castle.dll的引用。这奏效了…但只有在发展中… 当我将Web应用程序发布到客户验收测试服务器时(在 TeamCity 还有一个包含对aspnet_compiler.exe的调用的脚本,nhibernate.bytecode.castle.dll找不到。 我不确定。 为什么? 这种情况正在发生,但我怀疑这与我们的应用程序中没有任何代码实际调用特定dll中的代码这一事实有关。另外,没有从nhibernate.dll到nhibernate.bytecode.castle的硬编码引用(如果我错了,请纠正我),所以下面的某个地方(可能是未使用的)dll被忽略了。 第二 (而且很成功) 尝试 将对缺少的dll的引用直接添加到Web项目。现在,我可以删除我在第一次尝试中添加的引用,而不会有任何问题。 (我不太喜欢在那个特定的项目中有这样的参考,但是嘿!)-) |
![]() |
6
2
在我的例子中,“干净的解决方案”,然后“重建解决方案”解决了这个问题。 |
![]() |
7
1
您可能有引用两个不同版本的nhibernate dll的代码。使用nhibernate下载的nhibernate.dll可能与使用castle activerecord下载的版本不同。尝试只使用nhibernate.bytecode.castle附带的nhibernate dll版本。确保您的GAC中没有nhibernate dll(任何版本)(至少在解决此问题之前)。 |
![]() |
8
1
我在把NHiberinate升级到3.0和春季到夜间使用NH3.0之后遇到了这个问题。问题是spring.data.nhibernate30.dll引用了旧版本的nhibernate.dll(v 3.0.0.2002),而我使用的是v 3.0.0.4000。 我的解决方案是打开project spring.data.nhibernate30源,删除对旧版本nhibernate的引用,添加对3.0.0.4000版本的引用,重新生成,现在在我的项目中添加对spring.data.nhibernate30.dll的此(新建)版本的引用。 |
![]() |
9
1
我只是遇到了这种情况——就我而言,这是我第一次尝试使用NHibernate(和流利的NHibernate)。我已经在一个.dll程序集中实现了我的大部分应用程序,由一个单独的可执行程序集引用。没有直接引用nhibernate的可执行文件给出了错误。 我正在使用nuget下拉fluent nhibernate,因此我也将fluent nhibernate引用添加到可执行程序集。感觉不太干净,但它将依赖项放入.bin文件夹并解决错误。(有趣的是它没有(似乎?)与其他库(如nlog)一起发生) |
![]() |
10
1
我也面临同样的问题。我清除了“Internet临时文件”,这个问题就消失了。 |
![]() |
11
0
您应该引用依赖程序集(我猜它是“nhibernate.bytecode.castle”),并将它们的“copy-local”属性设置为true。 |
![]() |
12
0
NHibernate除了
|
![]() |
13
0
您的解决方案中可能有不同的项目。这些项目可能引用了nhibernate.dll的不同版本。检查所有项目中的版本并重新生成项目 |
![]() |
14
-1
看起来没有将nhibernate dll复制到应用程序的bin目录中。确保它被引用并存在于bin目录中。 |
![]() |
Haim Ohayon · 这些链接之间有什么区别? 2 年前 |