为什么只安装.NET 4时为.NET 3.5编译的应用程序不起作用?

Jad*_*ias 2 .net .net-4.0 .net-framework-version .net-3.5

MSDN页面上,关于.NET Framework版本,我们知道每个版本都包含以前版本的所有功能.

与以前版本的.NET Framework不同,如果未安装以前版本,.NET Framework 4不允许使用以前版本的.NET Framework构建的应用程序向前迁移并在其上运行

这是为什么?

Joã*_*elo 7

正如在其他答案中已经解释的那样,它们是不同的运行时,因此默认情况下不支持应用程序,因为未安装.NET 3.5使用的2.0运行时.

但是,您可以将以下内容添加到应用程序配置中以强制应用程序使用.NET 4.0运行时:

<startup>
  <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
</startup>
Run Code Online (Sandbox Code Playgroud)

但是,由于不同运行时之间的更改,这可能会导致应用程序崩溃,因此最安全的是使用应用程序所针对的运行时.