用.Net Framework3.5开发,用.Net Framework2.0部署
项目使用了.Net Framework3.5 的一些功能,最主要的是Linq技术,开发的过程很过瘾,但是到了发布的时候才意识的很麻烦,按照正常的过程,需要安装300来M的 .Net Framework3.5,这对于需要大量在PC客户端安装的程序来说,显然是不可行的,为了解决这个问题,查询了很多资料,终于有了解决方案,不需要安装庞大的 .Net Framework3.5,只需要安装20多M的 .Net Framework2.1 SP1就可以了。
工程更改为不直接引用 .Net Framework3.5, 只是引用了那些功能对应的 Dll :即 System.Core.dll , System.Data.DataSetExtensions.dll , System.Xml.Linq.dll 。把它们 copy 到了 Bin 文件夹下引用。所以打包的时候不需要引用 .Net Framework3.5 ,把这几个 Dll 打包进去就可以了,但是运行的时候,需要至少 .Net Framework2.1 SP1 ,它的名称是 NetFx20SP1_x86.exe ,只有 20 多 M ,直接去网上下载就可以了。
1 按正常顺序打包,把相应的目录按照正确的结构在打包工程中调整好。
2 如果打包工程自动监测到依赖 .Net Framework3.5 ,把这个依赖去掉。
3 在打包工程的步骤里,选择阴影部分( Launch Conditions Editor ) , 如图
左边编辑区域如图
右击 Launch Conditons 节点, Add Launch Conditons ,编辑属性如图
注意 InstallUrl 这一项,我这样写表示与安装文件在同一目录,故打好包之后,要把 .Net Framework2.1 SP1 跟安装文件放一起。这样,当用户第一次运行的时候会安装 .Net Framework2.1 SP1 ,以后安装就不用了。
4 这样就能正常运行了,不用安装 3.5 ,最后打好包,提交给用户。
出处:http://blog.csdn.net/I_Iverson/archive/2009/06/22/4287977.aspx