-
-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Compatibility zh TW
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有兩種封裝方式:通用(Generic)套件與特定作業系統(OS-specific)套件。 從功能上來說,這兩種套件是完全相同的,都能夠自動進行更新。 唯一的區別就是Generic套件中,不包含能使ASF直接執行適用於特定作業系統的執行環境。
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-armworks on 32-bit ARM-based (ARMv7+) GNU/Linux OSes with glibc 2.23/musl 1.2.2 and newer. 這個變體版本涵蓋了例如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 11及更新版本的作業系統。 -
osx-x64支援64位元的macOS 10.15及更新版本的作業系統。 -
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 as a program is targeting .NET 8.0 (net8.0) right now, but it may target newer platform in the future. net8.0 is supported since 8.0.100 SDK (8.0.0 runtime), although ASF might prefer latest runtime at the moment of compilation, so you should ensure that you have latest SDK (or at least runtime) available for your machine. 若您的執行環境低於編譯期間指定的最低支援版本,Generic ASF變體版本可能會拒絕啟動。
如有疑問,您可以造訪我們用於編譯並在GitHub上部署新版本的持續整合程序。 作為.NET驗證步驟的一部分,您可以在每個組建版本中找到dotnet --info輸出。







