上一节我们安装了宇宙最强IDEVS,这节我们继续我们的编程之旅。创建 打开VS,启动后会进入到下面这个页面,第一次使用,我们就点创建新项目。 然后会转到项目类型选择界面。 这个界面的意义是需要我们确定要编写的软件应用场景是什么样的。我通过下拉滚动条大概估算,能开发的应用场景不下几十种。 这里我就不一一介绍每个应用场景都是干嘛的了,很多应用场景我干了20多年也都没用过。 这个专栏我们就是初探,所以我们的目标就是做一个最简单的Windows桌面应用。 选项太多了不好找,过滤的方式有两种: 第一种是查找。通过在搜索栏输入关键词,比如我输入桌面 这样所有包含桌面的应用场景就都出来了。 第二种就是过滤。通过不同条件过滤找到我们需要的项目类型。这里我录个动图大家看下: 查找的方法我们会了。可即便如此,仍然有好多选项,该选哪个呢? 我们以过滤的结果为例: 我不说大家也大概率会选第一个或第二个,后面的叫什么WPF,都不知道是干嘛的。 这里稍微给大家解释下几个名词。 WPF是微软推出的一套不同于WinForm的界面框架,这个界面看起来更漂亮,当然学习难度也稍微大些,这个框架我们以后会开设专栏专门讲它。刚开始的初学阶段,还是用WinForm的开发方式,最容易上手。 WinForm,准确的说应该是WinForms,Win就是windows的缩写,Forms英文意思就是形式。其实上面的界面中微软已经给出了大致的解释,Windows窗体(WinForms),直译就是窗口形式的应用。我们日常使用的软件,大多都是以窗口形式的,微软把这种开发类型定义为WinForms。与WinForms相对的另外一种开发类型是基于浏览器运行的网页形式,一般我们称为WebForms,这个我们也是以后要讲。 明白了上面名词的含义,我们再回过头来看,下面带WPF的就都排除了。但第一个和第二个看着也都挺像,二者的区别就是一个带(。NetFramework),一个不带,这个。NetFramework又是什么鬼呢? 这又是一段漫长且复杂的历史了。我大概唠叨一下,各位观众如果有兴趣就看一看,没兴趣的可以直接跳过:)。netframework与。Net的历史 。netframework是2002年微软推出的一套开发框架(C语言也由此诞生),它对windows操作系统底层做了封装,在操作系统与应用程序之间增加了一套内存托管机制,让用户不用关心内存分配与调度问题,既为开发提供了便捷,又保障了操作系统的安全性和健壮性。但由于微软总想守住自己的Windows系统,在战略上一直不肯开源、不肯跨平台,所以。netFramework一直都只能在windows平台下运行。在PC时代,这样的定位倒也是战无不胜。但到了移动互联网时代,无论是微软自家研制的WindowsMobile系统,还是与诺基亚联手后推出的WindowsPhone系统,都无法抵御Google的Android和苹果的iOS对市场的占领与瓜分,微软这个PC时代的王者,却在移动互联时代一错再错。 眼见着对手们在移动互联领域把自己落得越来越远,自己再也无力回天。微软在认清闲时候开始转变了战略。从闭源到开源,不再守住自己的那片天地了,而是要拥抱开源、拥抱跨平台。2016年推出了跨平台且开源的。netcore,用以区别。netFramework,很多运行在Linux服务器的程序可以用。netcore来开发了。2020年,将。netcore正式更名为。Net,。netFramework和。netcore都将成为了过去。现在的。Net,除了在Linux系统的界面开发还差点意思,其他场景基本都可以胜任了,以后只有。Net,再无。netcore和。netFramework了。 当然,。netFramework由于历史原因,积累了大量的客户,不能说没就没,所以还做为开发选项提供,只是不会再有新的特性了。 了解了上面的历史,我们就很清楚了。要学习的话,肯定是以新的。Net为目标,旧的技术应用场景肯定是越来越少。 我们现在回到选择界面,毫无疑问,我们选第一个:。NetWindows窗体应用。 点击下一步,进入到配置新项目的界面。 位置好理解,就是代码存放的磁盘目录。尽量选在非系统盘,防止重做系统就把代码弄没了。 需要手动填写的是:项目名称和解决方案名称。 那这里的项目和解决方案是什么意思呢?我们知道一个企业有很多部门,办公室、财务、销售、技术等等,这些部门各司其职又相互配合。软件开发也一样,有负责处理用户操作与用户进行交互的,可以称为UI项目;有负责与数据库通信完成查询和保存数据的,可以称为数据库项目,有负责处理专门定义各种数据类型的,可以称为实体项目。。。。。。这些项目也是各司其职相互配合,它们整体构成了这个软件的解决方案。 对大型软件开发来说,由于参与人员众多、产出成果也多,这样的划分很有必要。从开发的角度上看,哪些人负责哪个项目,并行开发,有助于提高效率,明确责任。从维护的角度上看,哪个项目出了问题,修复对应的项目就好,不需要全部修改。甚至不同的大型软件之间,为了提高复用性,也可以共享某些项目。 当然如果是一个很小的软件,一个人开发、可能在一个项目中就都搞定了。 总结下来,一个解决方案中可以有一个或多个项目,一个项目也可以被多个解决方案同时引用。 明白了各自的含义,我们在项目名称那里,填上:FirstApp。对应的就是我这个专栏的内容。解决方案那里,我写的是上:编程教学。以后我再有新的专栏,就在这个解决方案中添加一个项目就好。 项目名字可以随便定义,不过不支持特殊字符。比如我写C教学就不行,是个特殊字符。 将解决方案和项目放在同一目录,这个选项无所谓。我一般是不勾选,还是分开目录存放比较明晰。 这样填写完成后,我们继续下一步。 这里我们看到的是框架选择 按照正常的理解,我们肯定是选最新的。NET7。0,但是后面还跟了一个标准期限支持,这是什么意思?难道过了期限以后就要收费了吗? 我们看下这张图就基本明白了 。NET5、。NET7都是标准期限支持的,时长是18个月。。NETCore3。1、。NET6是长期支持,时长是3年。过了期限以后,这个版本微软就不再更新了,有Bug人家可能也不修了。当然你写过的代码仍然能够运行,只是这个版本就没有新的特性而已。想要支持新的特性,那就升级到新的框架,比如目前我们能看到的是。NET8。一般来说,高版本的都会兼容低版本的,即便是框架升级,改动也很小。 所以,我们为了让教程能够有更长的有效期,我们选择最新的。NET7框架。如果未来看到这个教程的观众已经有了。NET8甚至。NET10可以选择,选最新的就好。 选好以后,我们点右下角的创建。稍等片刻,我们就看到了这样的画面: 具体如何让它运行呢?我们下回分解。