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