2011-07-08 17 views
4

古いバージョンのNHibernate(v3.0.0.1001)を使用しています。新しいLINQプロバイダがかなりの数のクエリ(後で修正しようとしているもの) NHibernate v3.1.0.4000を使用するライブラリを更新したいと思います。バインディングリダイレクトでダウングレード(下位バージョンのライブラリを使用)

私は結合App.configファイルにリダイレクト追加しようとしました:

<?xml version="1.0"?> 
<configuration> 
    <runtime> 
     <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> 
      <dependentAssembly> 
       <assemblyIdentity name="NHibernate" publicKeyToken="aa95f207798dfdb4" culture="neutral"/> 
       <bindingRedirect oldVersion="0.0.0.0-3.1.0.4000" newVersion="3.0.0.1001"/> 
      </dependentAssembly> 
     </assemblyBinding> 
    </runtime> 
</configuration> 

をしかし、私は、コンパイル時に、私が取得:

error CS1705: Assembly 'My3rdPartyDll, Version=0.5.0.170, Culture=neutral, PublicKeyToken=null' uses 'NHibernate, Version=3.1.0.4000, Culture=neutral, PublicKeyToken=aa95f207798dfdb4' which has a higher version than referenced assembly 'NHibernate, Version=3.0.0.1001, Culture=neutral, PublicKeyToken=aa95f207798dfdb4'

は、バインディングリダイレクトを使用することが可能ですダウングレードを指す?

答えて

3

probing要素を使用して、特定のフォルダを指定してdllを検索することができます。その後、dllをそのフォルダに入れることができます。

<runtime> 
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> 
     <probing privatePath="Assemblies"/> 
    </assemblyBinding> 
</runtime> 

私はあなたが探していると思うものを使用する特定のアセンブリを指定することもできます。

<runtime> 
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> 
     <dependentAssembly> 
     <assemblyIdentity name="WorkflowLibrary1" publicKeyToken="8afb6d596a769080" /> 
     <codeBase version="1.0.0.0" href="Version_1_0_0_0/WorkflowLibrary1.dll"/> 
     </dependentAssembly> 
    </assemblyBinding> 
    </runtime> 

Linkについてはこれ以上詳しく説明しません。

関連する問題