3

在此线程中继续:
在同一解决方案/项目中混合 .NET 3.5 与 4/4.5 程序集

我找到了一种解决方法:
http ://social.msdn.microsoft.com/Forums/en-US/clr/thread/36b1a209-55d5-4323-91dc-0919ba2e1d03/

它基本上做什么,让我的解决方案编译并确定每个项目在哪个 CLR 下运行。
有没有人看到这个缺点?
它在我必须在.net 3.5 上运行的第 3 方 api 上构建项目,我明确写在其 App.config 上以使用 CLR 2.0 而不是 4.0 运行

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

编辑:
我的主要应用程序正在使用 .net 4.5 和 C# 5 功能。我的第 3 方 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 回答