因为许多的服务器特别是廉价的服务器上使用的是Framework的v2.0.50727。再加上自己开发的算是产品,所以就需要降低一些客户的前期成本,而自己同时也喜欢简单的代码。后来查了下,得知其实Framework3.5也是可以运行在2.0上的。引用System.Core.dll就可以直接的编写了。在2005下是不行的。因为2005默认的是2.0的编译器。即使引用了也没用。

引用后点击属性设置下。见截图啊。这样就可以在Vs2008上直接使用了。(这些都放到了附件里,需要的点击下载连接就行了。)

使用这个有什么好处呢。
首先就是方法的扩展了。
比如之前的MD5。

string dd = Utils.Md5("ddddd");

现在通过方法扩展可以写成这样

var dd = "ddddd".Encode(Encode.Md5)

现在的代码越来越Query风格了。我喜欢。其实就不说了匿名函数,lamda表达式,linq了。

当完成这步的时候编译之后的Dll已经可以直接在2.0下运行了。

但是在WEB开发的时候。编译之后在2.0下可以运行的。总不能够每次修改都要把Dll给全部编译下。CodeFile在这样的情况下也是出错的。因为CodeFile在这个时候还是会出错的。默认的csc.exe是2.0的。这个时候就简单了。

把附件的包给解压出来,点击附件里的“取得权限.reg”,找到目录C:\Windows\Microsoft.NET\Framework\v2.0.50727,然后右键菜单上就有了“取得权限更改",点击它。然后把附件下v3.5.rar解压出来,把v3.5里的文件复制替换到v2.0.50727。于是编译器就更换了。然后点击“取得权限卸载.reg”。删除掉菜单里的取得权限的按钮。

有图有真相:

XP下应该同样。就不具体的去测试了。

OK。大工告成,现在一切都是浮云。剩下的就是去爽了。发布的时候生成DLL直接放到生产服务器上就行了。一切就那么简单啊。剩下的就是用3.5的风格去编写2.0的程序了。

那撒撒的,上面使用到的工具都整理了下,在附件里,想使用的直接点击附件下载吧。

附件下载

原文:http://www.cnblogs.com/imfunny/archive/2011/08/11/2134639.html

在Framework2.0环境下运行3.5的代码的更多相关文章

  1. [VS2015].NET4.0环境下使用.NET2.0程序集,使用sqlite时报异常 出现“混合模式程序集异常”

    在.net 4.0环境下使用sqlite时报异常 混合模式程序集是针对“v2.0.50727”版的运行时生成的,在没有配置其他信息的情况下,无法在 4.0 运行时中加载该程序集其调用的方法是从sqli ...

  2. VB6.0环境下的CATIA二次开发简介

    CATIA作为CAD/CAE/CAM/PDM一体化的软件,广泛用于航空航天.汽车.船舶及电子工业,尤其在航空航天业,有八成以上厂商使用CATIA的市场[11].然而由于使用习惯和使用的侧重点不用,功能 ...

  3. 使用zipkin2在SpringCloud2.0环境下追踪服务调用情况

    1.目的: 使用zipkin2.0在Spring Cloud 2.0环境下,追踪服务调用情况. 2.所需组件: zipkin2.0,Spring Cloud 2.0,Eureka Server,Eur ...

  4. Docker环境下运行python+selenium+chrome

    Docker环境下运行python+selenium+chrome docker运行时占用的资源非常少,而且能将环境进行有效的隔离,可以快速的进行部署,因此可以将docker与selenium结合实现 ...

  5. Sublime Text3配置在可交互环境下运行python快捷键

    安装插件 在Sublime Text3下面写代码感觉很不错,但是写Python的时候遇到了一些问题. 用Sublime Text3打开python文件,或者在Sublime Text3下写好pytho ...

  6. linux 环境下运行STS时 出现must be available in order to run STS

    linux 环境下运行ECLIPSE时 出现 “ A Java Runtime Environment (JRE) or Java Development Kit (JDK) must be avai ...

  7. spark最新源码下载并导入到开发环境下助推高质量代码(Scala IDEA for Eclipse和IntelliJ IDEA皆适用)(以spark2.2.0源码包为例)(图文详解)

    不多说,直接上干货! 前言   其实啊,无论你是初学者还是具备了有一定spark编程经验,都需要对spark源码足够重视起来. 本人,肺腑之己见,想要成为大数据的大牛和顶尖专家,多结合源码和操练编程. ...

  8. 在windows环境下运行compass文件出现的错误提示解决方案

    在windows环境下运行compass文件出现的错误提示解决方案 例如:经常在项目中运行grunt命令编译scss文件的时候,会出现下面的错误提示 (Encoding::CompatibilityE ...

  9. Windows-Server-2008、IIS7.0环境下配置伪静态化

    在Windows-Server-2008.IIS7.0环境下配置伪静态化                首先,是IIS7.0的配置,由于Windows Server 2008操作系统默认的IIS版本为 ...

随机推荐

  1. G - Dreamoon and NightMarket Gym - 101234G 优先队列+思路

    题目:题目链接 题意:给出n种食物,食物有自己的价格并且可以自由搭配,每天吃之前没吃过的花费最少的搭配,问第k天的花费. 思路:第k小我们考虑用优先队列处理,虽然n比较大,但由于1 ≤ K ≤ min ...

  2. 初见spark-01

    今天我们来学习spark,spark是一种快速,通用,可扩展的大数据分析引擎,现已成为Apache顶级项目,Spark是MapReduce的替代方案,而且兼容HDFS,Hive,可融入Hadoop的生 ...

  3. Javascript Step by Step - 01

    基本数据类型 简单数值类型: undefined, null, boolean, number和string,共有5种 复合数据类型:object,array,function typeof操作符用来 ...

  4. 一个简单的同步集群的shell脚本

    编写一个xsync文件 然后放在/usr/local/bin 目录下面 xsync文件如下: #!/bin/bash #1 获取输入参数个数,如果没有参数,直接退出 pcount=$# if((pco ...

  5. 使用Autofac实现依赖注入注入

    依赖注入是什么意思? 依赖倒置 在软件设计原则中,有一种重要的思想叫做依赖倒置.它的核心思想是:不能让高层组件依赖底层组件,而且,不管高层组件和底层组件,两者都应依赖于抽象.那么,这个原则和我们上面的 ...

  6. 线性表(List)

    1.什么是线性表(List)? 零个或多个数据元素的有限序列. (1)元素之间是有序的. (2)线性表强调是有限的. 2.线性表有哪些操作? (1)线性表的创建和初始化,InitList (2)判空, ...

  7. centos 6.4安装杀毒软件clamAV 0.98[转]

    原文出处: http://dnuser.blog.51cto.com/4863891/1303829   1.查看系统版本 [root@local]# lsb_release -a LSB Versi ...

  8. C/C++学习笔记--指针(Pointer)

    定义指针 一般类型: type_name  *  var_name; 例如: int _var = 1555; int * _var_addr=&_var; 一般类型数组类:type_name ...

  9. 孤荷凌寒自学python第十六天python的迭代对象

    孤荷凌寒自学python第十六天python的迭代对象 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 迭代也就是循环. python中的迭代对象有相关的如下几个术语: A容器 contrai ...

  10. Python编码报错

    Python默认编码错误SyntaxError: Non-ASCII character '\xe5'之解决方法在编写Python时,当使用中文输出或注释时运行脚本,会提示错误信息:SyntaxErr ...