只是出于兴趣,如果我使用出现在.Net 3.5中的Enumerable.Distinct函数构建了一些代码,然后在带有.Net 2.0的机器上运行它,会发生什么?
答案 0 :(得分:5)
只要需要定义Enumerable.Distinct
(System.Core)的程序集,程序就会崩溃。但是,如果您使用.NET 2.0并使用LinqBridge而不是System.Core,则可以使其工作。
答案 1 :(得分:3)
只要您没有任何3.5 Framework引用,您就可以编译3.5 Framework项目并在2.0 Framework上运行它。在您的情况下,您正在使用3.5 Framework引用中的Enumerable.Distinct
,因此您的应用程序将失败。
答案 2 :(得分:2)
.Net 2.0将无法理解该命令,因为该库不存在。
答案 3 :(得分:2)
.NET 3.5本质上是.NET 2.0 +一些额外的程序集。
如果没有安装那些额外的组件,即。未安装.NET 3.5,那么您的程序将无法在需要时加载这些程序集。
如果你设法避免使用这些程序集,那么可能你的程序运行得很好,但我会说这将是规则的例外。对于您的具体示例,在您的程序第一次使用.NET 3.5代码时,您将获得异常。
简而言之,请确保目标计算机上安装了.NET 3.5(SP1)。
答案 4 :(得分:1)
很可能你的代码会抱怨启动时没有安装.net 3.5。
答案 5 :(得分:1)
简单,它会在你使用.net 3.5特定功能的地方的各个点崩溃。
但基本问题......你为什么要那样做?
如果您已将项目从.net freamework版本2.0迁移到3.5并且未使用.net 3.5的任何功能,则不代表有效的框架迁移