是MSDN上的一个例子,应用程序PE头中指定的运行库版本是.NET 1.0,然后使用应用程序配置文件的<SupportedRuntime>指定了.NET 1.1。MSDN上给出的结论是,当客户端.net平台安装情况如下时,会在.NET 1.1版本下运行:
1.如果安装了 .NET Framework 1.1 版。
2.如果安装了 .NET Framework 1.0 版和 .NET Framework 1.1 版。
对于第2点我有疑问,因为那篇文章开头提到了运行库版本选择的问题
----------------------------------------------------------------------------------------
应用程序在其上运行的 .NET Framework 的版本的确定方式如下:
·如果计算机上存在应用程序生成所针对的 .NET Framework 版本,则应用程序在该版本上运行。
·如果应用程序生成所针对的 .NET Framework 版本不存在,并且配置文件未在 <supportedRuntime> 元素 中指定版本,则应用程序在计算机上存在的最新版本的 .NET Framework 上运行。
·如果应用程序生成所针对的 .NET Framework 不存在,并且配置文件在 <supportedRuntime> 元素 中指定了版本,则应用程序在应用程序配置文件中指定并在计算机上存在的最新版本上运行。
-----------------------------------------------------------------------------------------
按照上面的说法,应该是PE头里指定的.NET版本优先于应用程序配置文件吧
那么,既然客户端安装了.NET 1.0版本,就应该在.NET 1.0下运行,而不是.NET 1.1啊
MSDN链接
http://msdn.microsoft.com/zh-cn/library/9w519wzk%28VS.90%29.aspx