.NET 通过 dotnet publish命令,编译应用程序、读取 project 文件的依赖项,生成文件集并发布到目录。
官方文档中,应用发布的相关内容,在 部署模型 章节下面。请看 应用程序发布概述
dotnet publish -c Release
单文件部署 通过将所有依赖应用程序文件捆绑到一个二进制文件中,大大减少了项目部署和分发的文件数量。 单文件部署 可用于 依赖框架的部署模型 和 独立应用程序 。
独立应用程序中单个文件的大小很大,因为它包含运行时和框架库。可通过 发布剪裁 来减小与剪裁兼容的应用程序的总大小。
单文件发布示例文件:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net6.0</TargetFramework>
<PublishSingleFile>true</PublishSingleFile>
<SelfContained>true</SelfContained>
<RuntimeIdentifier>win-x64</RuntimeIdentifier>
</PropertyGroup>
</Project>
剪裁自包含部署 模型是自包含单文件独立部署模型的专用版本,该模型优化以减小部署大小。因为自包含的应用程序,.NET 运行时和运行时库与应用程序和第三方程序集捆绑在一起,独立应用程序中单个文件的尺寸很大。
将 <PublishTrimmed>true</PublishTrimmed> 添加到项目文件
<PropertyGroup>
<PublishTrimmed>true</PublishTrimmed>
</PropertyGroup>
然后使用 dotnet publish 命令或 Visual Studio 发布应用。
PDB 全称Program Database。程序数据库(.pdb)文件(也称为符号文件),将项目源代码中的标识符和语句映射到已编译应用中的相应标识符和说明. 这些映射文件将调试器链接到源代码,以进行调试。
这个文件会在我们调试的时候被使用到。如果不是开发阶段便于调试,正常情况下 不应绑定到的发布应用 中。