在.net framework 2.0 环境下开发 .net framework 3.5 的程序

一、案例分析:

由于客户端部署及安装时,只想安装.net framework 2.0的框架,而你的项目需要使用.net framework 3.5的一些特性,如linq,扩展方法之类的。如果安装传统的话, 你需要创建一个.net framework 3.5的项目才能使用这些特性,而我需要我们的客户端使用的朋友们的机器上只安装2.0的框架。本文告诉你如何在.net framework 2.0的环境下开发3.5的程序。

二、如何做:

1. 创建一个.net framework 2.0的winform项目,如图所示:

image

2. 接着添加引用,浏览到C:\Program Files\Reference Assemblies\Microsoft\Framework\v3.5下面的目录,可以发现目录中包含很多3.5的dll文件:

image

如果你要使用linq特性,你可以选择System.Core.dll这个文件,并且将会有以下提示:

image

直接跳过,选Yes,再看我们的解决方案项目视图:

image

可以发现,System.Core打了一个黄色的感叹号,说明还没有引用成功。

3. 接下来,选择引用中的 System.Core ,右键选择“属性”,可以看到:

image

然后请把Specific Version设置成False,Copy Local设置成True,可以发现,原先的黄色的感叹号不见了,说明引用成功。

image

现在你就可以开始使用linq之类的特性了。

代码如下:

代码
public partial class Form1 : Form 

    
public Form1() 
    { 
        InitializeComponent(); 
    } 

    
private void button1_Click(object sender, EventArgs e) 
    { 
        
//初始化随机数组 
        int[] array = new int[8] { 51132443 }; 

        
//过滤重复的并且升序排序 
        array = array.Distinct().OrderBy(o => o).ToArray(); 

        MessageBox.Show(array.JoinWith(
",")); 
    } 


//扩展方法静态类 
public static class ArrayExtension 

    
//数组连接成字符串方法 
    public static string JoinWith(this IEnumerable arr, string separate) 
    { 
        StringBuilder result 
= new StringBuilder(); 
        
foreach (object i in arr) 
            result.Append(i).Append(separate); 
        
return result.ToString().TrimEnd(separate.ToCharArray()); 
    } 
}

4. 最后编辑成功,运行如下:

image

OK,大功告成了 :)

posted @ 2010-04-03 14:54  Leepy  阅读(2917)  评论(8编辑  收藏  举报