2010-08-10 2 views
0

이상한 문제가 있습니다. Nhibernate 2.1을 사용하는 수많은 C# 응용 프로그램이 있습니다. 나는 다음과 같은 오류 받기 시작했습니다 지난 3 일 이내 : 나는 내 인생이 문제의 원인을 찾을 수없는NHibernate 2.1 응용 프로그램이 3.0 참조를 찾고 계십니까?

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) 

, 내 참조 어셈블리 및 올바른 2.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> 
+0

마지막 2 일을 어떻게 변경하셨습니까? – Paco

+2

NHibernate 3.x를 참조하는 새 어셈블리를 추가 할 가능성이 있습니까? NHContrib 또는 UNHAddins에서 업데이트 된 버전을 말하십니까? – DanP

+0

아무 것도 NHibernate 관련이 위의 매핑 및 개체의 추가를 제외 하고이 응용 프로그램에서 변경되었습니다. – alan

답변

1

업데이트 : 이것은 팬텀 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

필자 대신 Nhibernate 관련 변경 사항이 없었으므로이 오류의 원인을 추론 할 수 없었습니다. 그것은 더 이상 문제가 아니며, 추악한 머리를 낳은 것처럼 즉시 사라졌습니다!

관련 문제