NHibernate (Mysql.Data.dll)에 대한 Mysql 커넥터를 사용해야하는 프로젝트가 있습니다. 또한 동일한 프로젝트에서 다른 프로젝트 (Migrator.NET)를 참조하려고합니다. 문제는 Migrator.NET이 특정 버전이 false 인 MySql.Data에 대한 참조로 작성되었지만 라이브러리가 설치된 버전을 사용하는 대신 이전 버전의 MySql.Data를 참조하려고 시도하는 것입니다. .. 내가 제목에 나와있는 예외를 얻을 :두 개의 다른 어셈블리 버전 "찾은 어셈블리의 매니페스트 정의가 어셈블리 참조와 일치하지 않습니다."
----> System.IO.FileLoadException : 파일 또는 어셈블리 'MySql.Data, 버전 = 1.0.10.1, 문화를로드 할 수 없습니다 = 중립, PublicKeyToken = c5687fc88969c44d '또는 해당 종속성 중 하나입니다. 위치한 어셈블리의 매니페스트 정의는 이 어셈블리 참조와 일치하지 않습니다. (HRESULT 예외 : 0x80131040)
주 어셈블리에서 참조하는 버전은 6.1.3.0입니다. 두 어셈블리를 어떻게 협력시킬 수 있습니까?
편집 : 어셈블리 바인딩 리디렉션을 지정하는 당신의 사람들을 위해
, 나는이 설정 한 : 같은 오류를
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="MySql.Data" publicKeyToken="c5687fc88969c44d" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-6.1.3.0" newVersion="6.1.3.0"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>
나는 다른 프로젝트에서이에게 주 어셈블리를 참조하고 여전히 점점 . 내 주 어셈블리를 다른 어셈블리에서 사용할 수 있도록 로컬로 복사 한 경우 app.config의 설정을 사용합니까, 아니면 주 어셈블리를 참조하는 모든 응용 프로그램이나 어셈블리에이 정보를 포함해야합니까?
이것은 나의 마지막 행락지이었다. 그러나 내가 그것을 그것을 직접 만들어야 할 것이다라고 예상되는 이분의 일. – snicker
이것이 내가해야 할 일입니다. 어셈블리 바인딩 리디렉션을 작동시키지 못했습니다. 내 손가락을 건너. – snicker
나는 결코 뒤쫓아 다닐 수 없다고 생각한다. 나는 이것을했고 잘 작동했다. – snicker