myapp.exe
),它是使用 .NET 2.0 Framework(VS2005)构建的。我们发现我们的应用程序无法在只安装了 .NET 4.0 或更高版本的计算机上运行。为了让我们的应用程序在 .NET 4.0 上工作,我按照这篇文章Installing .NET Framework V4.0 and Running .NET 2.0/3.0/3.5/3.5Sp1 Applications中的步骤向myapp.exe.config
文件添加了以下几行代码。<startup>
<supportedRuntime version="v4.0.30319"/>
</startup>
它正在运行。
然后我发现这篇文章还提到了以下内容(特别是第二段):
现在,我知道你不能只拿一个3.5 Service Pack 1应用程序并在V4.0 CLR上运行它。 它需要一个V2.0 CLR或通过使用<compilation>标记进行重新配置以使应用程序运行在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上运行我的2.0 C#应用程序,使用.NET 4.0框架(4.0程序集/库),这与文章所说的相矛盾。
还是我错过了什么?如果有人能澄清这一点将非常有帮助。微软并没有真正明确说明这一点。
<configuration>
标签包裹起来才能工作。 - mhvelplund