0

一部の記事では、「explicit run sxs」について言及されています。それは実際に可能ですか?このトピックに関するいくつかの記事を読みました: http :
//msdn.microsoft.com/en-us/magazine/ee819091.aspx
/in-process-side-by-side-part1.aspx
http://msdn.microsoft.com/en-us/library/ee518876.aspx

しかし、マネージド コードの一部を .net 4 プロセスの古い .net バージョンで強制的に実行できるかどうかはまだ明らかではありません。

これまでのところ、COM コンポーネントだけが古い .net を要求できるように見えるので、.net 4 clr は自動的に SxS 実行を開始します。誰かがこの質問に光を当てることができますか?

4

1 に答える 1

1

コンパイラで生成された CLR ホストを使用すると、これができないと思います。

CLR を自分でホストし、を呼び出すときにロードする CLR を明示的に指定する必要があると思いますCorBindToRuntimeEx。したがって、v2 を指定して 1 つの CLR をロードし、v4 を指定して別の CLR をロードします。

以前は、これをまったく行うことができず、見事にクラッシュしていました。

「ああ、このメソッドを CLR v2 で実行したいだけです」とは言えません。「マネージド コードの一部」は別の AppDomain にあるため、リモート処理など、2 つの AppDomain 間で何らかの通信を行う必要があります。

于 2012-01-30T21:10:49.370 に答える