02020103 NET Core入门03-.NET项目结构及程序发布、NuGet

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文件并且对该文件进行修改。

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※

※本文章为看书或查阅资料而总结的笔记,仅供参考,如有错误请留言指正,谢谢!※

posted @ 2025-08-22 21:40  qinway  阅读(5)  评论(0)    收藏  举报