用应用程序捆绑.NET 3.5库,所以它在只安装了.NET 2.0的机器上运行?

时间:2011-05-11 15:14:27

标签: linq .net-3.5 installer .net-2.0 software-distribution

我想在只安装了.NET Framework 2.0的计算机上使用LINQ。

我已阅读有关LINQBridge的内容。但是,我不能简单地将“ 复制本地 ”设置为System.Core.dllSystem.Xml.Linq.dll等引用的程序集,以获得我需要的功能吗?

有任何缺点吗?这甚至是允许的吗?

1 个答案:

答案 0 :(得分:3)

.Net 3.5实际上只是.Net 2.0,还有一些额外的dll。没有3.5运行时。如果您包含所需的dll,应用程序将运行没有任何问题。

以下有关linq桥评论的文章:http://www.albahari.com/nutshell/linqbridge.aspx

  

首先,理解这一点非常重要   C#3.0和Framework 3.5是   旨在与CLR 2.0一起使用 - 相同   Framework 2.0使用的CLR版本。   这意味着C#3.0编译器   发出运行在同一个上的IL代码   虚拟机和以前一样。

     

这使得Framework 3.5仅仅是添加剂   正如Framework 3.0那样   含添加剂的附加物   增强现有的组件   2.0框架和CLR。所以没有什么可以阻止我们写我们的   拥有完成工作的组件   框架3.5(至少,关键   本地LINQ查询所需的位。)

     

然后编译器查找Where,   OrderBy和Select方法。该   关键是它可以找到   适当命名的方法与   正确的签名(通常   扩展方法)。但事实并非如此   无论方法是什么组装   从。 LINQBridge只提供   这些方法的另一个来源 - 那   在功能上与那些相同   在框架3.5中实施   组件。