Skip to content

Compatibility zh TW

ArchiBot edited this page Jun 4, 2024 · 77 revisions

相容性

ASF是一個在.NET Core平台上執行的C#應用程式。 這代表ASF並不是被編譯成可供CPU直接執行的​機器語言​,而是被編譯成​通用中間語言​(CIL),一種需要對應的執行環境才能執行的語言。

這種方法具有巨大的優勢,因為CIL獨立於平台,這就是為什麼ASF天生就能夠在許多作業系統上執行的原因,特別是Windows、Linux與macOS上。 不僅不需要模擬,同時也支援所有平台相關及硬體相關的最佳化,例如CPU SSE指令。 因此,ASF在表現卓越的效能及最佳化時,同時仍能提供完美的相容性與可靠性。

這也代表執行ASF​沒有特定的作業系統需求​,因為它需要的只是執行於作業系統上的​執行環境​,而非作業系統本身。 只要在執行期間正確執行ASF程式碼,底層的作業系統不論是Windows、Linux、macOS、BSD、Sony Playstation 4、Nintendo Wii,或是您的烤麵包機上,都無所謂。只要有相應的​.NET​,就能執行​ASF​(使用​generic​變體版本)。

然而,不論您想要在哪個平台上執行ASF,您都需要確保該平台安裝了​.NET需求套件​。 這些都是確保執行環境功能正常所需的底層函式庫,也是ASF第一時間運作的絕對核心。 很有可能您已安裝了其中的一些(甚至全部)。


ASF 封裝套件

ASF有兩種封裝方式:通用(Generic)套件與特定作業系統(OS-specific)套件。 從功能上來說,這兩種套件是完全相同的,都能夠自動進行更新。 唯一的區別就是​Generic​套件中,不包含能使ASF直接執行​適用於特定作業系統​的執行環境。


Generic

Generic套件與平台無關,所以它不包含任何給特定設備使用的程式碼。 這個版本需要您在作業系統中已安裝的​適合版本​的.NET執行環境。 我們都知道讓相依套件一直保持在最新是多麼麻煩的一件事,因此這個套件主要是為那些​已在使用​.NET,知道如何使用已安裝的程式,且不想為了ASF單獨複製執行環境的人所提供的。 Generic套件還可以使您在​任何可以獲得.NET執行環境的地方​執行ASF,不論是否存在適用於您的作業系統的ASF組建版本。

對於普通或甚至是進階的使用者,如果只想執行ASF而不想鑽研.NET的技術細節,我們不建議使用Generic版本。 也就是說,只有您了解Generic套件才能使用它,否則最好使用下面介紹的適用於特定作業系統的套件。


適用於特定作業系統

除了Generic套件中包含的受控代碼外,適用於特定作業系統的套件還包含指定平台的本機碼。 也就是說,適用於特定作業系統的套件​已經在裡面包含了正確的.NET執行環境​,它可以使您完全跳過整個麻煩的安裝過程,直接啟動ASF。 適用於特定作業系統的套件,顧名思義,是針對不同作業系統的,每種作業系統都需要它自己特定的版本:例如Windows需要PE32+ ​ArchiSteamFarm.exe​二進制檔案,而Linux則需要Unix ELF ​ArchiSteamFarm​二進制檔案。 如您所知,這兩種類型彼此不相容。

ASF目前擁有以下特定作業系統的變體版本:

  • linux-arm​支援包含glibc 2.23/musl 1.2.2及更新版本的32位元基於ARM(ARMv7+)的GNU/Linux作業系統。 這個變體版本涵蓋了例如Raspberry Pi 2(或更新版本的)平台,​並不​支援較舊的ARM架構,例如Raspberry Pi 0中的ARMv6 & 1,它也不適用於未實作所需GNU/Linux環境的作業系統(例如Android)。
  • linux-arm64​支援包含glibc 2.23/musl 1.2.2及更新版本的64位元基於ARM(ARMv8)的GNU/Linux作業系統。 這個變體版本涵蓋了例如Raspberry Pi 3(或更新版本的)平台,​並不​支援未具備所需64位元函式庫的32位元作業系統(例如32位元的Raspberry Pi OS),它也不適用於未實作所需GNU/Linux環境的作業系統(例如Android)。
  • linux-x64​支援包含glibc 2.23/musl 1.2.2及更新版本的64位元的GNU/Linux作業系統。
  • osx-arm64​支援64位元基於ARM(Apple silicon)的macOS 12.0及更新版本的作業系統。
  • osx-x64​支援64位元的macOS 12.0及更新版本的作業系統。
  • win-arm64​支援64位元基於ARM(ARMv8+)的Windows 10、11及更新版本的作業系統。
  • win-x64​支援64位元的Windows 10、11、Server 2012+及更新版本的作業系統。

當然,即使沒有適合您作業系統及架構的特定作業系統套件,您也可以手動安裝適當的.NET Core執行環境並執行Generic ASF套件,這也是這個套件存在的主要原因。 Generic ASF套件與平台無關,可以在任何具有可用.NET Core執行環境的平台上執行。 需要注意:ASF需要的是.NET Core執行環境,而非特定的作業系統或架構。 例如,如果您使用的是32位元Windows,但ASF沒有​win-x86​版本,您仍然可以安裝​win-x86​版本的.NET Core SDK,然後執行Generic版本的ASF。 我們無法為所有作業系統及架構組合都產生一份執行檔,所以我們為此畫下一道分隔線。 x86就是這條線的其中之一,因為這種架構從2004年開始就已經過時了。

您可以造訪​​發行說明​​來查看.NET Core 8.0支援的平台與作業系統的完整清單。


執行環境需求

若您使用適用於特定作業系統的套件,那麼您不必擔心執行環境的需求,因為ASF總是會搭載所需的最新執行環境,只要您已安裝並更新​.NET Core需求套件​,就能夠正常執行。 也就是說,​您不需要安裝.NET Core執行環境或SDK​,因為特定作業系統的版本只需要本機安裝對應作業系統的相依套件(需求套件),而不需要其他項目。

但是,如果您嘗試執行​Generic​ ASF套件,則必須確保您的.NET執行環境支援ASF所需的平台。

作為一個程式,ASF目前針對的是​.NET 8.0​(​net8.0​),但它可能在未來針對更新的平台。 從8.0.100 SDK(8.0.0執行環境)就開始支援​net8.0​,儘管ASF可能偏好​最新的執行環境​,所以您應該確保你有​最新的SDK​(或最新的執行環境)可用於您的設備。 若您的執行環境低於編譯期間指定的最低支援版本,Generic ASF變體版本可能會拒絕啟動。

如有疑問,您可以造訪我們用於編譯並在GitHub上部署新版本的​持續整合程序​。 作為.NET驗證步驟的一部分,您可以在每個組建版本中找到​dotnet --info​輸出。

Clone this wiki locally