部署 .NET应用程序
.NET允许您通过以下方式发布WPF应用程序:
- Framework-Dependent Executable
已发布的应用程序包含其依赖项,但不包含 .NET 运行时,如果将应用程序部署到已安装 .NET运行时的工作站上,请使用此模式。
- Self-Contained Deployment
发布的应用程序包括它的所有依赖项和 .NET运行时,此模式允许将应用程序部署到任何工作站:应用程序不依赖于安装在目标机器上的 .NET运行时版本。
在Visual Studio中发布
要发布应用程序,请右键单击项目文件并选择publish:
创建新的发布配置文件(如果您尚未这样做):
要更改模式,请单击Edit publish profile文件按钮:
在Profile Settings 窗口中,选择 Deployment Mode ,单击Save:
单击Publish将应用程序发布到指定的文件夹:
在命令行中发布
# <RID> - Runtime Identifier: win-x86, win-x64, etc. # Framework-dependent executable: dotnet publish -c Release # Self-contained deployment: dotnet publish -c Release -r <RID> --self-contained true
部署选项
单个可执行文件
您可以将应用程序、其依赖项和 .NET 运行时(如果包含在部署中)打包到单个文件可执行文件中,该可执行文件包含应用程序运行所需的所有内容。
要将应用程序发布为单个文件,请将以下选项添加到项目文件中:
<PropertyGroup> <RuntimeIdentifier>win10-x64</RuntimeIdentifier> <PublishSingleFile>true</PublishSingleFile> </PropertyGroup>
ReadyToRun图像
.NET 允许您通过将应用程序编译成ReadyToRun (R2R)格式来改善应用程序的启动时间。
R2R 二进制文件包含与即时 (JIT) 编译器生成的代码类似的本机代码,本机代码用于减少 JIT 编译器在加载应用程序时需要执行的工作量。
要以R2R格式发布应用程序,请在项目文件中将<PublishReadyToRun>选项设置为true:
<PropertyGroup> <PublishReadyToRun>true</PublishReadyToRun> </PropertyGroup>
R2R二进制文件更大,因为它们同时包含本机和中间语言(IL)代码。