2009-10-16 7 views
2

NHibernate 2.1.0.4000 및 NHibernate.Linq 1.0.0.0과 함께 Fluent NHibernate 사전 릴리스 v0.0.1.0을 사용하는 시스템을 설치하여 실행했습니다.FluentNHibernate RTM 및 NHibernate.Linq

나는 새로운 Fluent NHibernate RTM dll을 넣었으며 변경 내용을 수정 한 코드를 만들었지 만 구현하려는 방법에 따라 몇 가지 문제가 발생했습니다.

1) NHibernate dll을 FluentNHibernate와 함께 제공되는 것으로 변경하지 않으면 Fluent NHibernate가 동일한 버전 번호를 가지고 있어도 NHibernate의 다른 버전을 대상으로한다는 오류 메시지가 표시됩니다. 다음

예외 메시지 : '총회'FluentNHibernate 버전 NHibernate에 '사용'을 PublicKeyToken = 8aa435e3cb308880 = 1.0.0.593 문화 = 중성, 버전 = 2.1.0.4000 문화 = 중립 PublicKeyToken = aa95f207798dfdb4 '어떤 NHibernate, Version = 2.0.1.4000, Culture = neutral, PublicKeyToken = aa95f207798dfdb4 '

2) NHibernate dll을 FluentNHibernate RTM과 함께 제공되는 것으로 변경하면 프로그램이 중단됩니다 NHibernate.Linq를 사용하는 클래스에서 어셈블리를 분석하려고 할 때. 또한 동일한 어셈블리의 종속 버전간에 발견 된 충돌에 대해 불평합니다.

NHibernate.Linq 1.0.0.0을 Fluent NHibernate와 함께 사용할 수 없다면, 괜찮습니다. 주위를 둘러 볼 방법이 있습니다.하지만 누구나 잘 연주 할 수있는 방법을 찾았다면 관심이 있습니다. 이유는 무엇입니까? 분명히 동일한 버전 번호를 가진 NHibernate의 두 개의 다른 버전이 있습니다.

감사합니다,

+0

소스 코드에서 다양한 부분을 컴파일 해 보았습니까? –

답변

2

귀하의 버전 번호가 예외에 따라 동일하지 않습니다 (하지만 시도하지 않은).

... NHibernate에 'FluentNHibernate'사용 '참조 어셈블리보다 NHibernate에 버전이 버전 = 2.1.0.4000 ... "버전 = 2.0.1.4000

...

2.1.0.4000 대 2.0.1.4000

1

당신은 here 설명 된대로이 조립 바인딩 리디렉션을 사용하려고 할 수 있습니다.

Here

당신을 위해 일할 수있는 샘플입니다

+0

나는 그것을 시도했지만 버전 번호가 같기 때문에 그것이 재 지정 될 수 없다고 생각한다. 최소한 app.config에 리디렉션을 추가 한 후에 똑같은 오류가 발생했습니다. – Wysawyg

+0

매우 흥미롭고 이상합니다. oldVersion을 버전 범위로 설정하려고 시도 했습니까 (oldVersion = "2.0.0.0-2.1.65534.65534") –

+0

Visual Studio 2008에서 자동 생성 구문을 사용하여 시작 했으므로 oldVersion = "0.0.0.0- 2.1.0.4000 "그럼 당신이 제안한 예제 구문을 시도한 다음 두 가지를 결합하고 범위를 사용하고 여전히 기쁨을 얻으려고했습니다. – Wysawyg

관련 문제