當前位置: 妍妍網 > 碼農

打造獨立可執行檔:C# 計畫的簡潔部署之道

2024-02-15碼農

在軟體開發過程中,簡化部署流程、減少使用者安裝步驟一直是開發者追求的目標。對於C#計畫而言,通常我們需要.NET Framework或.NET Core執行時環境的支持,這意味著除了應用程式的exe檔外,還需要攜帶一些依賴檔。然而,有時我們希望能夠提供一個獨立的exe檔,即「一鍵式」部署。本文將介紹如何透過使用.NET Core的自包含部署(Self-Contained Deployment)和Single-File Application特性來實作這一目標。

一、.NET Core的自包含部署

.NET Core 3.0及以上版本提供了自包含部署的選項,允許開發者將應用程式及其所有依賴項打包到一個單獨的目錄中,從而無需在使用者機器上預先安裝.NET Core執行時。

步驟:

  1. 選擇自包含部署 :在計畫的 .csproj 檔中,添加 <PublishTrimmed> <RuntimeIdentifier> 內容。 <PublishTrimmed> 用於減少釋出輸出的大小,而 <RuntimeIdentifier> 指定目標執行時環境。

<ProjectSdk="Microsoft.NET.Sdk">
<!-- ... 其他配置 ... -->
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>netcoreapp3.1</TargetFramework>
<PublishTrimmed>true</PublishTrimmed>
<RuntimeIdentifier>win-x64</RuntimeIdentifier><!-- 例如,針對64位元Windows -->
</PropertyGroup>
</Project>

  1. 釋出應用程式 :使用Visual Studio的釋出功能或透過命令列執行 dotnet publish 命令。釋出後,你會在輸出目錄中找到一個包含應用程式及其所有依賴項的資料夾。

二、建立Single-File Application

除了自包含部署,.NET Core 3.0還引入了Single-File Application特性,允許將應用程式及其所有依賴項打包到一個單獨的exe檔中。

步驟:

  1. 啟用Single-File Application :在 .csproj 檔中添加 <PublishSingleFile> 內容,並將其設定為 true

<ProjectSdk="Microsoft.NET.Sdk">
<!-- ... 其他配置 ... -->
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>netcoreapp3.1</TargetFramework>
<PublishSingleFile>true</PublishSingleFile>
<RuntimeIdentifier>win-x64</RuntimeIdentifier><!-- 例如,針對64位元Windows -->
</PropertyGroup>
</Project>

  1. 釋出應用程式 :同樣使用Visual Studio的釋出功能或透過命令列執行 dotnet publish 命令。釋出後,你會得到一個單獨的exe檔,該檔包含了應用程式及其所有依賴項。

註意事項:

  • Single-File Application可能會導致啟動時間稍長,因為所有程式碼和資源都需要從單個檔中解壓到臨時目錄。

  • 如果應用程式依賴於本地資原始檔或配置檔,可能需要額外的配置來確保這些檔在執行時能夠被正確載入。

  • 結論:

    透過結合.NET Core的自包含部署和Single-File Application特性,我們可以輕松建立一個獨立的exe檔,從而實作C#計畫的簡潔部署。這不僅簡化了部署流程,還提高了使用者體驗。隨著.NET Core的不斷演進,我們有理由相信未來會有更多創新的功能來幫助開發者實作更高效的部署。