C# 在2.0 CLR中运行.NET 3.5代码

C# 在2.0 CLR中运行.NET 3.5代码,c#,C#,我对此感到困惑-我的机器上有.NET3.5,VS2008-服务器都运行.NET2.0 我可以在我的机器和target.NET3.5上编译代码,并且仍然在2.0 CLR上运行吗 是否有一个mtrix anywhere突出显示.net版本和CLR版本及其兼容性 如何找到我正在使用的CLR???.NET3.5实际上只是添加到2.0框架中的扩展库。因此,您仍然运行2.0 3.5不是替代品,而是补充 .Net 3.5在CLR 2上运行,但确实需要您在服务器上安装最新的SP 3.5,这与现有的.Net 2.

我对此感到困惑-我的机器上有.NET3.5,VS2008-服务器都运行.NET2.0

我可以在我的机器和target.NET3.5上编译代码,并且仍然在2.0 CLR上运行吗

是否有一个mtrix anywhere突出显示.net版本和CLR版本及其兼容性


如何找到我正在使用的CLR???

.NET3.5实际上只是添加到2.0框架中的扩展库。因此,您仍然运行2.0


3.5不是替代品,而是补充

.Net 3.5在CLR 2上运行,但确实需要您在服务器上安装最新的SP 3.5,这与现有的.Net 2.0应用非常兼容。

这是一个有点复杂的主题,但这里有一些要点。3.5框架的两个主要部分是一组库(最著名的是System.Core.dll)和CLR的service pack(2.0SP1)

您无法根据3.5库安全地编译应用程序,并将其部署到仅运行2.0RTM的计算机上。这在某些情况下会起作用,但这纯粹是运气使然。3.5框架中的一些功能依赖于2.0SP1中包含的bug修复

您可以安全地使用VS2008以2.0运行时为目标。这将为您提供大多数新的语言功能,同时允许您安全地部署到2.0RTM机器


CLR仍然是2.0,但3.5使用CLR2.0SP1。这对于3.5中的某些功能非常重要,尤其是表达式树+1-我不知道3.5在2.0 CLR中添加了一个service pack(假设是相同的)。非常有用。最新的3.5框架现在安装2.0 SP2。就在最近,他们单独发布了2.0 SP2的安装程序: