假设我有一个使用VS2008针对.NET 2.0构建和编译的WinForms应用程序。
我的理解是,在运行时,应用程序将首先尝试加载.NET 2.0 CLR(因为这是针对它编译的), 无论 任何可能在app.config文件的任何“supportedRuntime”元素中列出的内容。
如果找不到它,那么它将通过检查app.config等来完成决定另一个版本的过程。
例如,如果计算机上安装了.NET 2/3 / 3.5和.NET 4.0,我就有:
<supportedRuntime>V4.0</supportedRuntime>
在app.config中,应用程序仍然会选择加载并运行.NET 2.0。
这是对的吗?
感谢。
答案 0 :(得分:9)
MSDN页面似乎很清楚,用于构建的页面只是后备情况:
http://msdn.microsoft.com/en-us/library/w4atty68.aspx
如果&lt; supportedRuntime&gt;在应用程序配置文件中不存在该元素,使用用于构建应用程序的运行时版本。
您是否看到的行为与此MSDN页面的行为不匹配?