我在VS 2008中编写我的应用程序,因此使用所有奇特的东西,如LINQ,对象初始化器等.现在我的应用程序可以在只有.Net 2.0运行时但没有.Net 3.5运行时的机器上运行吗?正如大家所知,.Net 3.5运行时是一个巨大的下载.
您可以使用的是例如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 { } }
扩展方法实际上也编译为2.0代码,但编译器需要定义此类.在这里阅读它
如果不使用.NET 3.5库,则可以在.NET 2.0上运行它.请参阅Visual Studio多目标支持您可以使用LinqBridge在.NET 2.0上使用Linq查询
有关详细信息,请参阅Channel M上的Daniel Moth的MSVS多目标截屏视频.