我们有一个使用 .NET 2.0 Framework (VS2005) 构建的 C# DLL(我们称之为 DLL myapp.exe
),我们发现我们的应用程序无法在仅安装了 .NET 4.0 或更高版本的机器上运行。myapp.exe.config
为了让我们的应用程序在 .NET 4.0 上运行,我按照这篇文章安装 .NET Framework V4.0 和运行 .NET 2.0/3.0/3.5/3.5Sp1 应用程序添加了以下几行
<startup>
<supportedRuntime version="v4.0.30319"/>
</startup>
它正在工作。
然后我看到这篇文章还提到了以下内容(尤其是第二段):
现在,我知道您不能只使用 3.5 Service Pack 1 应用程序并在 V4.0 CLR 上运行它。它需要 V2.0 CLR 或使用标签重新配置,以便弯曲应用程序以在 V4.0 CLR 上运行,而弯曲可能是您不想做的事情。
但我没有意识到的是,安装 .NET 4.0 不会安装 2.0/3.0/3.5/3.5Sp1 应用程序所需的位。它只会安装 V4.0 CLR 和 V4.0 程序集,不会额外安装等效的 .NET Framework V3.5 Sp1。因此,您需要自己安装(例如).NET Framework V3.5 Sp1 以及 .NET 4.0
从我的测试来看,这意味着我可以使用 .NET 4.0 框架(4.0 程序集/库)在 .NET 4.0 上运行我的 2.0 C# 应用程序,这与文章所说的相矛盾。
或者我在这里错过了什么?如果有人可以澄清这一点,这可能会有所帮助。微软并没有真正明确这一点。