我的代码将在哪个CLR中执行?

web*_*nia 3 .net clr

考虑我在我的开发机器中有两个版本的.Net(.Net 1.1,2.0).如果我正在针对.Net 1.1部署我的应用程序X并部署另一个应用程序Y agaings .Net 2.0框架.

现在我需要知道我的两个应用程序将运行在哪个CLR(1.1或2.0)中?

请说明原因?

Jon*_*eet 12

这篇MSDN文章非常清楚地解释了这一点:

运行应用程序的.NET Framework版本确定如下:

  • 如果计算机上存在构建应用程序的.NET Framework版本,则应用程序将在该版本上运行.

  • 如果构建应用程序的.NET Framework版本不存在且配置文件未在<supportedRuntime>Element中指定版本 ,则应用程序将在计算机上存在的最新版.NET Framework上运行.

  • 如果不存在构建应用程序的.NET Framework版本,并且配置文件指定了<supportedRuntime>Element中的版本 ,则应用程序将运行在应用程序配置文件中指定的最新版本,并且该版本存在于计算机上.

正如Sam在评论中提到的,一个例外是ASP.NET,其中使用的版本在IIS管理控制台中指定.