首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将.NET 3.5lib与app捆绑在一起,所以它只在安装了.NET 2.0的机器上运行?

将.NET 3.5lib与app捆绑在一起,所以它只在安装了.NET 2.0的机器上运行?
EN

Stack Overflow用户
提问于 2011-05-11 15:14:26
回答 1查看 196关注 0票数 2

我想在只安装了.NET Framework2.0的机器上使用LINQ2.0。

我读过关于LINQBridge的文章。但是,我不能简单地将“复制本地”设置为引用的程序集(如System.Core.dllSystem.Xml.Linq.dll )以获得所需的功能吗?

有什么缺点吗?这是允许的吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-05-11 15:19:07

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

来自以下有关linq注释的文章:http://www.albahari.com/nutshell/linqbridge.aspx

首先,重要的是要理解

3.0和Framework3.5是为使用CLR2.0而设计的--这是Frame2.0使用的相同版本。这意味着C# 3.0编译器会发出与以前一样运行在同一虚拟机上的IL代码。

这使得Framework3.5可加性--就像Framework3.0是可加性的一样--包含了增强现有2.0框架和CLR的附加程序集。因此,没有什么可以阻止我们编写自己的程序集来完成Framework3.5的工作(至少是本地LINQ查询所需的关键位)。

然后编译器查找Where、OrderBy和Select。关键是它可以找到具有正确签名的适当命名方法(通常是扩展方法)。但是,这些方法来自哪个程序集并不重要。LINQBridge只是提供了这些方法的另一个来源--在功能上与Framework3.5程序集中实现的方法相同。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5966564

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档