02020103 NET Core入门03-.NET项目结构及程序发布、NuGet
1. 项目中的*.csproj文件(视频Part1-6)
- .NET Framework的*.csproj文件 → 主要描述项目的信息。如.NET的版本,引用的程序集,包含哪些源代码文件等等。
- 在.NET Framwork的项目中,所有的文件必须显式的添加到csproj文件里面。没有添加进来的文件,不属于项目的一部分。
- VS 2019不支持打开*.csproj文件。
- .NET Core的*.csproj文件 → 也是描述项目信息的文件,但是这个里面的描述比.NET Framework简单很多。
- 在.NET Core的项目中,所有的文件默认都属于项目,除非手动在里面添加
。 - 这样做的目的便于做团队开发,避免冲突。
- VS 2019中双击项目名,可以打开*.csproj文件并且对该文件进行修改。
- 在.NET Core的项目中,所有的文件默认都属于项目,除非手动在里面添加
2. 程序的发布
- 部署模式:依赖框架;独立(推荐)。
- 目标运行时:win-64、Linux-64...。
- 目标位置:在本机指定一个目录。
- 文件发布选型
- 生成单个文件(推荐)。并不是真的单个文件,只是必须要的极少数文件。
- ReadyToRun(推荐):AOT(Ahead of time)、JIT。程序启动更快,但是文件更大。
- 裁剪未使用的程序集(不推荐)。文件更小,程序可能会出错,因为无法准确的剪裁程序集是否被使用。
3. 微软官方提供的虚拟机
- Sandbox → Windows虚拟机,需要手动安装。
- WSL → 类似Linux的虚拟机(Windows subsystem for Linux),需要手动安装。WSL可以直接访问主机的磁盘。
4. NuGet(读作New Get)(视频Part2-1)
- NuGet是微软官方维护的软件包网站:https://www.nuget.org/
- NuGet上的包绝大部分是第三方开发者发布的,有部分是微软官方发布的。
- NuGet上的有部分不是开源免费的。
5. NuGet使用(视频Part2-2)
5.1 使用方式
- 图形化界面形式:VS 2019 → 工具 → NuGet包管理器 → 管理解决方案的NuGet程序包 → 浏览 → MySQL → 在对应的项目勾选上对应的包 → 版本 → 安装。
- 卸载采用同样的操作,在最后选择卸载即可。
- 命令行(CLI 推荐):命令行有也有两种形式,一种是在cmd里面安装(.NET CLI),一种是在VS 2019程序包管理器控制台安装(推荐)。
- VS 2019中显示包管理器:VS 2019 → 工具 → NuGet包管理器 → 程序包管理器控制台。
// 在程序包管理器控制台安装包
Install-Package MySqlConnector -Version 2.4.0
—·—·—·—·—·—·—·—·—·—·—·—·—·—·—·—·—·—·—·—·—·—·—·—·—·—·—·—·—·—·—·—·—·—·—·—·—·—·—
// 在程序包管理器控制台卸载包
Uninstall-Package MySqlConnector -Version 2.4.0
—·—·—·—·—·—·—·—·—·—·—·—·—·—·—·—·—·—·—·—·—·—·—·—·—·—·—·—·—·—·—·—·—·—·—·—·—·—·—
// 在程序包管理器控制台更新包
Update-Package MySqlConnector -Version 2.4.0说明:
1. 可以双击项目名在csproj文件中直接手动删除即可卸载包。
2. 如不不写版本号,默认安装最新版本。
5.2 NuGet的有关说明
- NuGet你也可以贡献
- 和.NET Framework不同,.NET Core绝大部分官方程序集也要到NuGet下载。模块化
- 少部分是收费的。
- 质量参差不齐。
- 内部部署NuGet服务器。
结尾
书籍:ASP.NET Core技术内幕与项目实战
视频:https://www.bilibili.com/video/BV1pK41137He
著:杨中科
ISBN:978-7-115-58657-5
版次:第1版
发行:人民邮电出版社
※敬请购买正版书籍,侵删请联系85863947@qq.com※
※本文章为看书或查阅资料而总结的笔记,仅供参考,如有错误请留言指正,谢谢!※