dotnet publish命令详细介绍

作者 the7
发布于 2020年01月18日
评论 0
浏览 348

dotnet publish命令在线生成工具>>>

发布.NET Core应用时,除了IDE集成的发布功能外,我们还可以用 dotnet publish命令以达到更精细化操作,dotnet publish可以将应用及其依赖文件打包并放入一个文件夹,以便我们部署至生产环境。

在打包后的文件夹下,我们可以看到

  • 项目产生的dll文件
  • deps.json 文件,包含了项目所有依赖项
  • runtimeconfig.json 指定了应用程序使用的共享运行时以及运行时的其他配置项(如:垃圾回收类型)
  • 项目依赖文件(来自于Nuget缓存)

注意,在.NET Core 2.0之后,dotnet publish已经不再需要先执行 dotnet restore了。

dotnet publish命令格式

dotnet publish 
[-h|--help] 
[<PROJECT>] 
[-c|--configuration] 
[-f|--framework] 
[--force] 
[--manifest] 
[--no-build] 
[--no-dependencies]
[--no-restore] 
[-o|--output] 
[-r|--runtime] 
[--self-contained] 
[-v|--verbosity] 
[--version-suffix]

-h|help

获取帮助

PROJECT

要发布的项目,可以是.csproj文件路径,也可以是包含.csproj的文件夹路径,如果不配置,默认发布当前目录下的项目。

-c|--configuration

定义生成配置,有 debug 和 release 两个选项。不配置的话,默认为debug。

-f|--framework

指定目标框架,选项有netcoreapp2.2,netcoreapp3.0,netcoreapp3.1。如果要发布与项目文件.csproj文件TargetFramework不一样的版本,这里就需显示指定一下

--force

重新解析所有依赖,即便你刚执行过 dotnet restore (与删除project.assets.json等效)

--manifest

指定一个或多个目标清单。

--no-build

发布前不构建

--no-dependencies

只针对根目录的项目,如果你根目录项目依赖了项目A,那么项目A是不会包含进来的。

--no-restore

不执行 restore

-o|--output

输出目录,如果不指定位置,默认在当前目录的bin目录下。如果发布成Self-Contained ,则在 ./bin/[configuration]/[framework]/[runtime]/publish/ 。否则就在 /bin/[configuration]/[framework]/publish/

-r|--runtime

指定运行时,常见有 linux-x64 win10-x64等。

-v|--verbosity

配置打包时信息打印级别,可选项有5项。
q[uiet], m[inimal], n[ormal], d[etailed], and diag[nostic]。从名字可以看出,越往后显示的信息越详细,如果发布遇到错误,可以更改级别,方便排错。

--version-suffix

配置版本后缀,比如项目中配置的版本是 1.2.*,如果你指定版本后缀为6,那么发布后的版本就是 1.2.6

--self-contained

如果目标机器没有安装.net core运行时,可以使用此选项,发布后可直接运行于目标机器。

0条评论

请先登录后发表评论
提交评论
标签云
css (1) less calc (1) C# (4) C#进制转换 (1) asp.net core (8) Authentication (1) 注销 (1) 登录 (1) 验证 (1) scroll-view (1) 微信小程序 (4) 滚动到底部 (1) StackExchange.Redis (1) google (1) 百度 (1) nginx (2) 大文件 (2) 微信小程序c#解密 (1) 微信小程序获取手机号 (1) openid (1) session_key (1) CDN (1) URL鉴权 (1) 阿里云 (1) async (1) await (1) 禁止下拉上滑效果 (1) Index类型 (1) Range类型 (1) dontent publish (1) dotnet publish在线生成器 (1) System.DrawingCore.GDIPlus报错 (1) centos (1) 中文字体 (1) SqlBulkCopy (1) SqlSugar (1) JWT (5) 认证 (3) RSA JWT (1) 非对称加密 (1) 写信 (1) 见字如面 (1) 优化建议 (2) 正确操作字符串 (1) Java (1) JWT退出 (1) RefreshToken (1) .NET Core网站开发框架 (1) Moz (3) 墨子 (1) JSON.NET (1) Newtonsoft (1) System.Text.Json (1) 自定义后台路径 (1) .netcore (1) quartz (2) 作业调度框架 (1) 作业调度 (1) 定时任务 (1) exception (1) 异常处理 (1) HttpClient (1) IHttpClientFactory (1) RDM (1) Redis (1) Redis Desktop Manager (1) RedisDesktopManager (1) linux (1) mac (1) windows (1) Could not get any response (1) postman (1) leetcode (2) 力扣 (1) 回文字符串 (1) 面试刷题 (1) centos7 (1) php安装 (1) 网易云插件 (1) 马甲App (1) Discuz插件 (1) 网易云音乐 (1) Blazor (1) 五子棋 (1) c#解题 (1) 最长连续序列 (1) Swagger (1) 在线文档 (1) blob (1) mp4 (1) 视频 (1) big file (1) 上传 (1) s (1) Azure (1) Azure Key Vault (1) Configuration (1) 密钥保管库 (1) Dapper安装 (1) Dapper是什么 (1) Dapper连接Mysql (1) Dapper连接SqlServer (1) dapper (1)