2013-03-29 10 views
8

2つのライブラリ(moon-apns、tweetsharp)を持つC#アプリケーションがあります..各ライブラリにはnewtonsoft.json.dllの参照がありますが、一方のライブラリは正常に動作し、もう一方のライブラリは例外をスローします(dllファイルが見つかりません)。1つのアプリケーションに異なるバージョンのdllファイルを使用する

私がビルドするときは、1つのバージョンだけがbinフォルダに移動しますが、何をすべきか分かりません。

ありがとうございます。

+1

両方のライブラリが「特定のバージョン」でビルドされている場合は、何ができるか分かりません。あなたは2つのライブラリにアクセスできないと思いますか? – JeremyK

+0

あなたはNugetを使用していますか? –

+2

私はあなたがそれを解決するためにこのポストを使うことができると思います(私は思います):http://stackoverflow.com/questions/8188191/how-to-manage-version-dependencies-in-ac-net-project – Rikon

答えて

4

がないようnewtonsoft DLLの同じバージョンで[OK]をする必要がありあなたのapp.configまたはweb.configにAssembly Binding Redirectsを使用してください。明らかに、これは、ライブラリのバージョンが互換性がある限り、動作します。

+0

['AppDomain.AssemblyResolve'イベント](https://msdn.microsoft.com/en-us/library/system.appdomain.assemblyresolve(v = vs.110).aspx)も処理できます。 [例についてはこちらをご覧ください](http://www.aboutmycode.com/net-framework/assemblyresolve-event-tips/)。 –

2

あなたは2つのライブラリのソースにアクセスする必要があり述べたので:両方のプロジェクトでは

を、Specific Versionを必要としないようにnewtonsoftへの参照を設定します。それらのプロジェクトを再構築する。

、あなたのメインプロジェクトをビルドするとき、2つのライブラリは、限り、あなたがして、同じバージョンを参照するように両方のライブラリを強制することができます互換性の問題

関連する問題