VS程序发布之NetFramework版本选择
VS程序发布之NetFramework版本选择
一、NetFramework框架简介
.NET Framework 是一个可以快速开发、部署网站服务及应用程序的开回发平台,是 Windows 中的一个组件,包括公共语言运行时(Common Language Runtime, CLR)虚拟执行系统和 .NET Framework 类库。.NET Framework 的体系结构如下图所示:
.NET Framework的优点:
1)面向对象的开发环境。【CLR、BLR和C#被设计得完全面向对象;为本地程序和分布式系统提供一致的、面向对象的编程模型;】
2)自动垃圾收集(Garbage Collection,GC)。【GC自动从内存中删除程序不在访问的对象】
4)互操作性。【不同.NET语言编写的软件模块无缝交互;平台调用(platform invoke,P/Incoke)的特性;允许与COM进行交互】
4)不需要COM(Component Object Model,组件对象模型)。
5)简化的部署。【.NET程序不需要使用注册表注册;并行执行特性】
6)类型安全性。【CLR检查并确保参数及其它数据对的类型安全】
7)基类库(Base Class Library,基类库)。有时称为框架类库(Framework Class Library,FCL)。【包括通用基础类、集合类、线程和同步类、XML类】
二、NetFramework版本及支持的系统版本
NetFramework版本历史,与VS和Windows之间的关系见微软官方文档,其中要注意的是:
net4.0是支持WindowsXP系统的最高版本,之后的版本4.5及更高版本不再支持WindowsXP系统。而以net为框架编译的程序集或可执行文件,可以在已安装更高版本net的计算机上运行,而不能在低版本的计算机上运行。
所以在选择项目框架时,要根据目标计算机的系统版本和所要引用程序包支持的net版本来综合考虑。例如目标计算机是XP系统,那么就不能使用net4.5版本及以上的版本,在使用nuget下载程序包时,就需要选择支持net4.0版本及以下的程序包版本。
三、VS项目net版本降级
如果一开始创建项目时选择的net版本过高,后面发布程序时需要降级,以在visual stdio 2019操作为例,
首先点击vs菜单栏中项目子菜单,选择最后一项项目属性,打开项目属性对话框,在目标框架处选择需要的net版本,如下图所示:
然后依次选择菜单栏工具=》NuGet包管理器(N)=》管理解决方案NuGet程序包(N),打开nuget程序包安装管理界面,检查已安装的程序包所依赖的net版本中是否包含降级后的低版本net,如果不包含,那么就需要对程序包进行降级安装,甚至卸载。
最后对建立的setup项目(程序打包发布需建立一个setup project,详细操作见文章下方参考文档)属性进行操作,
1、单击setup项目名称,右键选择属性,打开属性对话框,如下图所示:
选择Prerequisites,打开系统必备对话框,如下图所示:
取消降级之前的net版本的勾选框,否则即使降级之后重新生成安装包,在安装时也仍会提示安装高版本的net。
2、单击setup项目名称,右键选择View——启动条件,如下图所示,单击netFramework,在vs程序界面右下角属性中,选择Version为降级后的版本。
最后重新生成安装包即可。
下一篇: 洗草莓要用盐巴吗?用草莓能种出草莓吗?