部署 .NET應用程序
.NET允許您通過以下方式發(fā)布WPF應用程序:
- Framework-Dependent Executable
已發(fā)布的應用程序包含其依賴項,但不包含 .NET 運行時,如果將應用程序部署到已安裝 .NET運行時的工作站上,請使用此模式。
- Self-Contained Deployment
發(fā)布的應用程序包括它的所有依賴項和 .NET運行時,此模式允許將應用程序部署到任何工作站:應用程序不依賴于安裝在目標機器上的 .NET運行時版本。
在Visual Studio中發(fā)布
要發(fā)布應用程序,請右鍵單擊項目文件并選擇publish:
創(chuàng)建新的發(fā)布配置文件(如果您尚未這樣做):
要更改模式,請單擊Edit publish profile文件按鈕:
在Profile Settings 窗口中,選擇 Deployment Mode ,單擊Save:
單擊Publish將應用程序發(fā)布到指定的文件夾:
在命令行中發(fā)布
# <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
部署選項
單個可執(zhí)行文件
您可以將應用程序、其依賴項和 .NET 運行時(如果包含在部署中)打包到單個文件可執(zhí)行文件中,該可執(zhí)行文件包含應用程序運行所需的所有內容。
要將應用程序發(fā)布為單個文件,請將以下選項添加到項目文件中:
<PropertyGroup> <RuntimeIdentifier>win10-x64</RuntimeIdentifier> <PublishSingleFile>true</PublishSingleFile> </PropertyGroup>
ReadyToRun圖像
.NET 允許您通過將應用程序編譯成ReadyToRun (R2R)格式來改善應用程序的啟動時間。
R2R 二進制文件包含與即時 (JIT) 編譯器生成的代碼類似的本機代碼,本機代碼用于減少 JIT 編譯器在加載應用程序時需要執(zhí)行的工作量。
要以R2R格式發(fā)布應用程序,請在項目文件中將<PublishReadyToRun>選項設置為true:
<PropertyGroup> <PublishReadyToRun>true</PublishReadyToRun> </PropertyGroup>
R2R二進制文件更大,因為它們同時包含本機和中間語言(IL)代碼。