質問

コンパイル中にこのエラーメッセージが表示されます。

アセンブリ 'myframework [...]' system.web.extensions、version = 3.5.0.0 [...] 'を使用します。 ..] '

myProjectは両方を指します System.Web.Extensions 1.0 プロジェクト「myframework」、後者はWeb拡張機能3.5を参照します。両方の参照はです local = false、特定のバージョン= trueをコピーします.

エラーはmyprojectで発生します(myframeworkではありません)。ここで何が問題なのですか?

同じアセンブリの2つのバージョンが同じ場所に共存できないことを理解しています。これが、コピーローカルが偽である理由です。

(セットアップは足の不自由であり、巨大なレガシーアプリケーションであり、何もリファクタリングすることはできません。)

更新:私のプロジェクトには何かが必要です。別のサンプルプロジェクト(FWK 3.5、Web拡張子3.5)を使用するサンプルプロジェクト(2.0の場合、Web拡張機能1.0を参照)を作成しました。 (私が期待した方法。)だから私は基本的に状況をモデル化し、問題を再現することができなかった。質問は次のように変更されました。

上記の動作の原因は何ですか?技術的には、同じ強い名前のアセンブリの2つのバージョンを参照する際に何か問題がありますか?

更新2:根本原因については、受け入れられた回答コメントを参照してください。 (「露出した種類」)まだそれを解決する方法を見つける必要があります。

役に立ちましたか?

解決

使用する必要があります Externエイリアス 同じアセンブリの2つの異なるバージョンを参照します。

他のヒント

必要がある Aを追加します <bindingRedirect> app.configで。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top