3

このスレッドの続き:
同じソリューション/プロジェクトで.NET3.5と4/4.5アセンブリを混在させる

回避策を見つけました:
http ://social.msdn.microsoft.com/Forums/en-US/clr/thread/36b1a209-55d5-4323-91dc-0919ba2e1d03/

基本的に何をするのか、ソリューションをコンパイルして、実行するCLRの下で各プロジェクトを決定します。
誰かがこれに不利だと思いますか?
プロジェクトをビルドします。.net3.5で実行する必要があるサードパーティのAPIで、4.0ではなくCLR2.0で実行するようにApp.configに明示的に書き込みます。

 <startup>
 <supportedRuntime version="v2.0.50727"/>
 <!--<supportedRuntime version="v4.0"/>-->
 </startup>

編集:
私のメインアプリケーションは.net 4.5とC#5の機能を使用しています。私のサードパーティAPIは子プロセス(メインから開始)で実行されており、そのプロセスは3.5およびCLR2上にある必要があるAPIに接続します。そこで、CLR2として実行するように明示的に定義します。

4

1 に答える 1

1

構成ファイルは .NET 2.0 ランタイムをロードし、ある時点で .NET4.5 コンポーネントのロードに失敗します。アプリを .NET4.5 ランタイムで実行し、3.5 コンポーネントを読み込めるようにすることが本当に必要です。次の構成ファイルを試してください。

<configuration>
    <startup useLegacyV2RuntimeActivationPolicy="true">
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5"/>
    </startup>
</configuration>
于 2013-03-22T00:48:50.057 に答える