App.config中的.NET SupportedRuntime

时间:2011-02-24 18:37:25

标签: c# .net

我正在编译一个以.NET 3.5为目标的c#应用程序作为运行时

在我指定的app.config中,根据http://msdn.microsoft.com/en-us/library/w4atty68.aspx推荐支持的3.5版本标记

如果我将.NET 2.0指定为SupportedRuntime,计算机没有.NET 3.5版本会发生什么?

干杯 斯科特

3 个答案:

答案 0 :(得分:10)

版本3.5基本上是CLR的2.0版本。无论您定义什么,如果您在仅具有2.0版本的计算机上使用了.NET 3.5或3.0的任何功能,您将收到错误。

版本的值对于2.0,3.0,3.5和3.5 SP1是相同的:

<configuration>
   <startup>
      <supportedRuntime version="v2.0.50727"/>
   </startup>
</configuration>

答案 1 :(得分:6)

SupportedRuntime版本列出了CLR版本,而不是框架版本。对于2.0和3.5 SP1之间的任何.NET框架版本,您都使用v2.0.50727。

当您使用仅在3.0或3.5中可用的程序集并尝试在2.0上运行时,您的应用程序将使用FileNotFound异常进行炸弹。在安装项目中包含3.5引导程序(默认添加)是一种避免此事故的简单方法。

答案 2 :(得分:3)

程序应该因.Net运行时错误而崩溃。