非常重要的经验: 如何使同一份代码能兼容各版 .NET,同一份安装包能部署到不同 .NET 环境?

Posted by Admin L in .NET Programming on 17-08-2011. Tags:

作者:牧山道人
原文地址:https://www.seeksunslowly.com/do-not-application-compatible-deployment-sc
转载请注明出处,谢谢。
_____________________________________

您一定希望辛辛苦苦开发的软件能被更多人使用吧!但 .NET 运行环境有好几个版本,如 1.0、1.1、2.0、3.0、3.5、4.0,如何让你的同一份代码、同一份安装包能兼容于这么多 .NET 版本并部署于其上呢?以下是笔者经过研究与实践总结出的可行方案,希望对您有帮助:

首先确定您打算支持的最低 .NET 版本(笔者定为 2.0),再按以下步骤操作即可:

1、修改程序运行所需目标 .NET 版本为 2.0,位置:Project 属性”Compile -> Advanced Compile Options…”。
注:此为代码级的兼容,不设目标 .NET 版本可能会撰写出不被低版 .NET 环境支持之代码,你懂的。
2、修改 app.config(没有就建一个),在<configuration></configuration>间增加(或修改):
[cc lang=”xml”]




[/cc]
其中:<supportedRuntime/>用于列举你想要支持的目标 CLR 版本,目前(截至撰文日 20110818)共有四种:
** .NET 1.0, 1.1 各一个 CLR 版本号,现不考虑支持,故未列出。
** .NET 2.0, 3.0, 3.5 都是 v2.0.50727。
** .NET 4.0(最新版)CLR 为 v4.0.x。自 .NET 4.0 开始”supportedRuntime”可以只写主副版本号,故最好简写为”v4.0″(官方推荐)。

编译后 bin\release 下的执行档即可在 .NET 2.0、3.0、3.5、4.0(即使单独安装 .NET 某一版本) 环境中正常运行。

部署:拷贝或安装 bin\release 目录下的档案及您的应用需要的其他档案到目标 PC 即可。
注意:编译器会将第 2 点所述配置会生成对应”执行档全名.config”档,该档一定要同时发布,否则一切皆白忙。

【赞赏 / Reward】

微信         支付宝         PayPal

Post a comment