2012-02-15 6 views
1

にDLLへのエイリアスを与えることを私はターンに別のレガシーDLLを使用して、私のC#プロジェクトの基準とDLL「first.dll」を追加した「second.dll」どのようにC#の

「first.dll」を期待"second.dll"は同じフォルダにあります。 "second.dll"を別のフォルダに移動すると "first.dll"にエラーが発生します。

アプリケーションに「second.dll」パスを定義する方法はありますか?

私は両方のDLLのソースコードにアクセスできません。

+1

このレガシーコードはどうですか? – IanNorton

+0

"新しいものがあれば出力するかどうか"が両方のDLL参照に設定されているかどうかを確認 – sll

+0

デフォルトでは、.NetはGACまたは依存するアセンブリのexeと同じフォルダを探します。両方のDLLについて、プロジェクトを「出力ディレクトリにコピー」するように設定することはできませんか? – IanNorton

答えて

0

私は選ぶことによって、それを解決しましたDLLはどのプログラムが必要かに基づいています。簡単なIF条件がトリックでした。

1

あなたはリンク先の記事から(仮定second.dllは、.NETアセンブリである)、アプリケーションの設定で<codebase>を使用して

例を試みることができる:

<configuration> 
    <runtime> 
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> 
     <dependentAssembly> 
      <assemblyIdentity name="myAssembly" 
          publicKeyToken="32ab4ba45e0a69a1" 
          culture="neutral" /> 
      <codeBase version="2.0.0.0" 
        href="http://www.litwareinc.com/myAssembly.dll"/> 
     </dependentAssembly> 
    </assemblyBinding> 
</runtime>