2009-08-19 4 views
17

BindingRedirectを使用すると、YourAssembly.dll 1.1.0.0を1.2.0.0にリダイレクトできます。別のアセンブリ名へのBindingRedirect

アセンブリ名が異なる場合、これを実行できるかどうかは誰にもわかりません。

など。

YourAssembly1.dll(V1.1)YourAssembly2.dll(V2.8)にリダイレクト

答えて

-1

このような何かのためにUnityまたはSpring.NETのような依存性注入フレームワークを使用しないのはなぜ?どのファイルをロードするかを設定するのはかなり簡単に行うことができます。

YourAssembly1.dll(v1.2)を読み込み、YourAssembly2.dllにその機能を委任してもよいですか?

+0

開始プロセスを制御できない場合は役に立ちません。 – Ryan

+1

ご質問いただきありがとうございます。投稿に私の新しい答えをお試しください。 –

1

自分のアプリケーションにYourAssembly1という参照があるため、これは不可能です。

ランタイムでアプリケーションがロードされると、アセンブリYourAssembly1.dll(プロービングとバージョンリダイレクトの適用)がロードされるため、代わりにアセンブリYourAssembly2をロードできません。

5

私が正しく思い出した場合、約4年前にAppDomain.AssemblyResolve eventを使ってこれを行いました。コンセプトは、AssemblyName要求を取得し、アセンブリを返すことです。場合によっては、実行時にDynamicAssemblyを生成して注入することさえできました。私はこれに強い命名が及ぼす影響を忘れる。

関連する問題