NHibernate 2.1 приложение ищет 3.0 Ссылка? - PullRequest
0 голосов
/ 10 августа 2010

У меня странная проблема. У меня есть несколько приложений на C #, которые используют Nhibernate 2.1. В течение последних 2 дней я начал получать следующую ошибку:

Could not load file or assembly 'NHibernate, Version=3.0.0.1001, 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)

Я не могу найти причину этой проблемы, я не обновил свои справочные сборки, и правильные версии v2.1 .dll находятся там, где они должны быть. Я полностью очистил решение и перекомпилировал его, и я убежден, что это не проблема сопоставления, поскольку известные рабочие объекты теперь не могут получить. Независимо от того, ниже мой объект и отображение.

using System;
using System.IO;
using System.Collections.Generic;

namespace Epn.Assembly.Domain
{
   public class Email
   {
        public int EmailId { get; set; }

        public string Sender { get; set; }
        public string Recipient { get; set; }
        public string CC { get; set; }
        public string BCC { get; set; }
        public string Subject { get; set; }
        public string Body { get; set; }
        public string EmailType { get; set; }
        public Nullable<DateTime> SentDateTime { get; set; }
        public string ErrorMessage { get; set; }
        public DateTime QueueDateTime { get; set; }
        public DateTime LastActivityDateTime { get; set; }
        public bool HoldForReview { get; set; }

    }
}



<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" schema="SystemStatusDb.dbo" auto-import="true" assembly="EpnDomain" namespace="Epn.Assembly.Domain">
  <class name="Epn.Assembly.Domain.Email, EpnDomain" lazy="false" table="EpnEmails">

    <id name="EmailId" column="EmailId">
      <generator class="native" />
    </id>

    <property name="Sender" column="Sender"/>
    <property name="Recipient" column="Recipient" />
    <property name="CC" column="CC" />
    <property name="BCC" column="BCC" />
    <property name="Subject" column="Subject" />
    <property name="Body" column="Body" />
    <property name="EmailType" column="EmailType" />
    <property name="SentDateTime" column="SentDateTime" />
    <property name="ErrorMessage" column="ErrorMessage" />
    <property name="QueueDateTime" column="QueueDateTime" />
    <property name="LastActivityDateTime" column="LastActivityDateTime" />
    <property name="HoldForReview" column="HoldForReview" />

  </class>
</hibernate-mapping>

Ответы [ 2 ]

1 голос
/ 27 августа 2010

ОБНОВЛЕНИЕ: Это было причиной фантомной записи app.config. Я не уверен, как это было добавлено, но эта строка присутствовала:

<runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
        <dependentAssembly>
            <assemblyIdentity name="NHibernate" publicKeyToken="AA95F207798DFDB4" culture="neutral"/>
            <bindingRedirect oldVersion="0.0.0.0-3.0.0.1001" newVersion="3.0.0.1001"/>
        </dependentAssembly>
    </assemblyBinding>
</runtime>

Устранение этой проблемы решило проблему.

0 голосов
/ 20 августа 2010

От моего имени не было никаких изменений, связанных с Nhibernate, я не смог понять, что вызвало эту ошибку; это больше не проблема, она исчезла так же быстро, как и подняла свою уродливую голову!

...