无法加载文件或程序集'Remotion.Linq,版本= 2.1.0.0

时间:2019-10-17 07:26:50

标签: c# linq nhibernate fluent-nhibernate

在我的C#项目中,当我调用此代码时:

var erg = (from p in m_dbSession.Query<VBESelectionTracker>()
          where p.ModuleName.Equals(newSelection.ModuleName) && p.DatabaseFile.Equals(m_dbFile)
          select p).ToList();

将引发以下异常:

Could not load file or assembly 'Remotion.Linq, Version=2.1.0.0, Culture=neutral, PublicKeyToken=fee00910d6e5f53b' or one of its dependencies.

“ Remotion.Linq.dll”是构建的一部分,但是当我查看其属性时,版本为:2.2.0.30000。这并不令人惊讶,因为v2.2.0是我通过NuGet安装的Remotion.Linq的版本。我还使用FluentNHibernate v2.1.2和NHibernate v5.1.1(由于以下原因,我必须使用旧版本的NHibernate:https://github.com/FluentNHibernate/fluent-nhibernate/issues/430错误)。

那么我程序的哪一部分尝试使用Remotion.Linq v2.1.0.0,为什么?我该怎么解决?

我需要采取的步骤来解决此问题:

  • 已安装NHibernate 5.1.5 =>相同的问题

  • 尝试降级到Remotion.Linq v2.1.1(没有2.1.0)=>结果是:FluentNHibernate降级到v2.0.3,NHibernate降级到4.1.2.4000,这导致很多其他问题

1 个答案:

答案 0 :(得分:1)

FluentNhibernateRemotion.Linq没有依赖关系。因此,NHibernateRemotion.Linq之间的所有依赖关系问题。

因此只需删除所有三个nuget软件包,然后按以下顺序安装它们:

1)NHibernate 5.1.6(应该安装正确的Remotion.Linq版本,不要手动安装)

2)FluentNHibernate v2.1.2