.Net 3.5应用程序可以在安装了.Net 2.0运行时的机器上运行吗?

Gra*_*ton 3 .net

我在VS 2008中编写我的应用程序,因此使用所有奇特的东西,如LINQ,对象初始化器等.现在我的应用程序可以在只有.Net 2.0运行时但没有.Net 3.5运行时的机器上运行吗?正如大家所知,.Net 3.5运行时是一个巨大的下载.

and*_*nil 9

您可以使用的是例如var关键字,自动获取器和自动设置器,对象初始化器.即编译为2.0代码的语法糖.

你不能使用的是.Net framework 3.0和3.5库中的功能.例如LINQ.

通过在Visual Studio中将目标平台设置为.Net Framework 2.0,您可以自己尝试使用和不能使用的内容.当您使用Framework 3.0和3.5中的内容时,编译器会抱怨.

您可以使用扩展方法一些技巧:为项目创建此类

namespace System.Runtime.CompilerServices
{
    public class ExtensionAttribute : Attribute { }
}
Run Code Online (Sandbox Code Playgroud)

扩展方法实际上也编译为2.0代码,但编译器需要定义此类.在这里阅读它


aku*_*aku 5

如果不使用.NET 3.5库,则可以在.NET 2.0上运行它.请参阅Visual Studio多目标支持您可以使用LinqBridge在.NET 2.0上使用Linq查询

有关详细信息,请参阅Channel M上的Daniel Moth的MSVS多目标截屏视频.