1

サードパーティのdllが提供されている場合は、バージョン1.1と言います

次に、このサードパーティのdll(バージョン1.1)を参照して独自のdllを作成します

今、私は自分のdllをこのサードパーティに返します。私のdllは、1.1「api」dllを使用して構築されています。

現在、サードパーティは、ソフトウェア内でも使用されているdllのバージョンをバージョン1.2に変更します。

この後、プラグインdllをバージョン1.2 dllで再コンパイルするまで、ソフトウェアはバージョン1.1でコンパイルされたdllを使用できなくなります。

この問題はどのように解決できますか?

4

1 に答える 1

0

依存するアセンブリの新しいバージョンを参照するアセンブリのコンシューマーは、次のように、アプリケーション構成ファイルで<bindingRedirect>要素を使用する必要があります。

<configuration>
   <runtime>
      <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
         <dependentAssembly>
            <assemblyIdentity name="myDependency"
                              publicKeyToken="32ab4ba45e0a69a1"
                              culture="neutral" />
            <bindingRedirect oldVersion="1.0.0.0"
                             newVersion="2.0.0.0"/>
         </dependentAssembly>
      </assemblyBinding>
   </runtime>
</configuration>

myDepdendencyは、依存しているアップグレード済みのアセンブリの名前であることに注意してください。

これは、Entity Framework と ASP.NET MVC で一般的に使用されます。NuGet を介してそれらを追加すると、通常、上記のセクションがアプリケーション構成ファイルに追加されます。

于 2012-10-26T17:56:15.757 に答える