前言:
而今大家对“net core运行环境”都比较关心,小伙伴们都想要剖析一些“net core运行环境”的相关内容。那么小编也在网摘上网罗了一些对于“net core运行环境””的相关内容,希望看官们能喜欢,同学们快快来了解一下吧!工欲善其事,必先利其器。本节将会介绍.NET Core开发环境的搭建。本书假设读者已经掌握了C#语法等基础知识,并且熟悉了Visual Studio的安装和基本使用方法,因此本节重点介绍和.NET Core相关的开发环境搭建问题。
用什么开发工具开发.NET Core
尽管开发人员可以使用“命令行+文本编辑器”的方式进行.NET Core开发,但是由于没有智能提示、重构等功能,这种开发方式还是过于原始,开发效率不高,因此在一般情况下,开发人员应使用集成开发环境进行.NET Core开发。
.NET Core开发的主流集成开发环境有Visual Studio、Visual Studio for Mac和Visual Studio Code(简称VS Code)等。
Visual Studio是微软经典的集成开发环境,功能很全且非常强大,也非常容易使用,缺点是只能运行在Windows操作系统下。
如果读者使用的不是Windows,就需要使用VS Code进行开发。VS Code是跨平台的开发工具,在Windows、Linux、macOS下都可以使用。Visual Studio Code的名字里虽然有“Visual”“Studio”这两个单词,但是其实它和Visual Studio没有直接关系,从使用上来讲也和Visual Studio区别很大。VS Code中.NET Core的开发体验仍然比Visual Studio中的差很多,因此,作者还是建议开发人员使用Visual Studio进行.NET Core开发。
如果读者使用的是mac OS,那么既可以使用VS Code进行开发,也可以使用Visual Studio for Mac进行开发。Visual Studio for Mac是微软专门为macOS打造的集成开发环境。它不是把Visual Studio的Windows版对应功能移植到了mac OS下,而是基于微软收购的Xamarin Studio打造的,它的目标是把Visual Studio中良好的开发体验带到Visual Studio for Mac中。
无论是Visual Studio、Visual Studio for Mac还是VS Code,它们都只是一些代码编辑器而已。无论用哪个,最终都可以写出同样的代码,也可以随时切换到其他集成开发环境继续开发。
本书将使用编写本书时的最新版Visual Studio 2022进行开发,由于Visual Studio的不同版本的使用差别不大,因此本书中的内容对于今后发布的更新版本的Visual Studio在原则上也适用。在安装Visual Studio的时候,一定要勾选“ASP.NET和Web开发”这个模块,如图1所示。
.NET Core项目结构的创新
在本小节中,我们将编写一个.NET Core控制台程序,并且分析它的项目结构。本书主要讲解ASP.NET Core,不过在第1~5章中,我们仍然会编写.NET Core控制台程序,因为这些章节的内容都和Web开发没有直接关系,而且ASP.NET Core程序也只是一个复杂一些的控制台程序而已。通过编写控制台程序,我们能更加关注问题的重点,并且更清楚Visual Studio的ASP.NET Core向导生成模板代码的原理。
在新建项目的时候一定要区分创建的是.NET Framework项目还是.NET Core项目,如图2所示。
从Visual Studio 2022开始,微软开始淡化.NET Framework的概念,在项目向导中,只有使用带“.NET Framework”的项目模板创建的才是.NET Framework项目,使用其他模板创建的都是.NET Core项目。因此,如果读者想创建.NET Framework版本的控制台项目,请选择“控制台应用(.NET Framework)”,如果选择的是“控制台应用”,则创建的是.NET Core版本的控制台项目。
一旦创建好项目后,进行的代码编写、调试、运行等和在.NET Framework项目中的没有任何区别。下面主要讲解.NET Core项目和.NET Framework项目的不同。
首先关注项目工程文件*.csproj。对于.NET Framework项目来说,必须到文件资源管理器中找到它的*.csproj文件,然后用文本编辑器打开它,而对于.NET Core项目,可以直接在Visual Studio中双击项目节点打开*.csproj文件。
再创建一个.NET Core控制台项目,然后打开它的*.csproj文件,对比一下它和.NET Framework项目的*.csproj文件有什么区别。图3和图4分别展示的是.NET Framework和.NET Core项目中*.csproj文件的内容。
显而易见的区别就是.NET Core项目中的*.csproj文件比.NET Framework中的简单很多。可以发现,.NET Core项目的*.csproj文件中竟然没有像.NET Framework那样把文件Program.cs添加进来。再向.NET Core项目中添加几个新C#文件,我们会发现它们的名字也没有被加入*.csproj文件中。这是.NET Core项目和.NET Framework项目的一个不同。
在.NET Framework项目中,项目中所有的代码文件都要添加到*.csproj文件中,如果一个C#文件放在项目文件夹下,但是没有被添加到*.csproj文件中,那么这个文件是不会被编译的。用.NET Framework开发过团队项目的开发人员也许遇到过*.csproj文件修改冲突的问题。两个开发人员共同开发一个项目,各自向项目中添加了文件,就很容易造成*.csproj文件修改冲突的问题,这非常影响团队开发的效率。
但是.NET Core项目就不同了,.NET Core项目中的文件不用添加到*.csproj文件中,项目下所有的文件默认都被自动包含到项目中,除非被手动排除。*.csproj文件中.NET Framework项目中的配置方式正好和.NET Core中的相反,毕竟在开发项目的时候,开发人员主动排除某个文件不是经常发生的,而向项目中添加文件是非常频繁的操作,.NET Core这样的优化尽可能避免了文件修改的冲突,从而提升了团队开发的效率。
.NET Framework和.NET Core项目还有一个不同之处就是.NET Core项目没有App.config或Web.config文件,因为.NET Core项目中的配置有不同的使用方式,这一点以后在详细讲解。
标签: #net core运行环境