Skip to content

Compatibility zh HK

JustArchi edited this page May 27, 2020 · 41 revisions

ๅ…ผๅฎนๆ€ง

ASF ๆ˜ฏไธ€ๅ€‹ๅœจ.NET Core ๅนณๅฐไธŠ้‹่กŒ็š„ C# ๆ‡‰็”จ็จ‹ๅผใ€‚ ้€™ๆ„ๅ‘ณ่‘— ASF ไธฆ้ž็›ดๆŽฅ่ขซ็ทจ่ญฏ็‚บๅฏไพ› CPU ๅŸท่กŒ็š„โ€‹**ๆฉŸๅ™จ็ขผ**๏ผŒ่€Œๆ˜ฏ่ขซ็ทจ่ญฏ็‚บ ้€š็”จไธญ้–“่ชž่จ€๏ผŒไธ€็จฎ้œ€่ฆ็›ธๆ‡‰็š„้‹่กŒ็’ฐๅขƒๆ‰่ƒฝๅŸท่กŒ็š„่ชž่จ€ใ€‚

้€™็จฎๆ–นๆณ•ๅ…ทๆœ‰ๅทจๅคง็š„ๅ„ชๅ‹ข๏ผŒๅ› ็‚บ CIL ๆ˜ฏ็จ็ซ‹ไบŽๅนณๅฐ็š„๏ผŒ้€™ๅฐฑๆ˜ฏ็‚บไป€้บผ ASF ๅฏไปฅๅœจ่จฑๅคšๅฏ็”จ็š„ๆ“ไฝœ็ณป็ตฑ (ๅฐคๅ…ถๆ˜ฏ Windowsใ€Linux ๅ’Œ OS X) ไธŠๆœฌๅœฐ้‹่กŒ็š„ๅŽŸๅ› ใ€‚ASFไธๅƒ…ไธ้œ€่ฆๆจกๆ“ฌ้‹่กŒ๏ผŒ้‚„ๆ”ฏๆดๆ‰€ๆœ‰่ˆ‡ๅนณๅฐ็›ธ้—œๅ’Œ่ˆ‡็กฌ้ซ”็›ธ้—œ็š„ๅ„ชๅŒ–๏ผŒๅฆ‚ CPU SSE ใ€‚ ๅ› ๆญค๏ผŒASFๅฏไปฅๅฏฆ็พๅ“่ถŠ็š„ๆ€ง่ƒฝๅ’Œๅ„ชๅŒ–๏ผŒๅŒๆ™‚ไป็„ถๆไพ›ๅฎŒ็พŽ็š„ๅ…ผๅฎนๆ€งๅ’Œๅฏ้ ๆ€งใ€‚

้€™ไนŸๆ„ๅ‘ณ่‘—้‹่กŒ ASF ๆฒ’ๆœ‰็‰นๅฎš็š„ๆ“ไฝœ็ณป็ตฑ่ฆๆฑ‚๏ผŒๅ› ็‚บๅฎƒ้œ€่ฆ็š„ๅชๆ˜ฏ็ณป็ตฑไธŠ็š„้‹่กŒ็’ฐๅขƒ่€Œ้ž็ณป็ตฑๆœฌ่บซใ€‚ ้€™ไนŸๆ„ๅ‘ณ่‘—้‹่กŒ ASF ๆฒ’ๆœ‰็‰นๅฎš็š„ๆ“ไฝœ็ณป็ตฑ่ฆๆฑ‚๏ผŒๅ› ็‚บๅฎƒ้œ€่ฆ็š„ๅชๆ˜ฏ็ณป็ตฑไธŠ็š„้‹่กŒ็’ฐๅขƒ่€Œ้ž็ณป็ตฑๆœฌ่บซใ€‚ ๅช่ฆ้‹่กŒ็’ฐๅขƒ่ƒฝๅค ๆญฃ็ขบๅœฐๅŸท่กŒ ASF ็š„ไปฃ็ขผ๏ผŒๅบ•ๅฑค็ณป็ตฑๆ˜ฏ Windowsใ€Linuxใ€OS X ้‚„ๆ˜ฏ BSD๏ผŒ็กฌ้ซ”ๆ˜ฏ Sony Playstation 4ใ€Nintendo Wii็”š่‡ณๆ˜ฏๆ‚จ็š„็ƒค้บตๅŒ…ๆฉŸ้ƒฝ็„กๆ‰€่ฌ‚ใ€‚ๅช่ฆๆœ‰**.NET Core **๏ผŒๅฐฑ่ƒฝ็”จ ASFใ€‚

ไฝ†ๆ˜ฏ๏ผŒ็„ก่ซ–ๆ‚จๆƒณ่ฆๅœจๅ“ชๅ€‹ๅนณๅฐไธŠ้‹่กŒ ASF๏ผŒๆ‚จๅฟ…้ ˆ็ขบไฟ่ฉฒๅนณๅฐๅฎ‰่ฃไบ†**.NET Core ็š„ไพ่ณด้ …**ใ€‚ ้€™ไบ›้ƒฝๆ˜ฏ็ขบไฟ้‹่กŒ็’ฐๅขƒๅŠŸ่ƒฝๆญฃๅธธ็š„ๅบ•ๅฑคๅบซ๏ผŒไนŸๆ˜ฏ็ขบไฟ ASF ่ƒฝๅค ็ฌฌไธ€ๆ™‚้–“ๅทฅไฝœ็š„็ต•ๅฐๆ ธๅฟƒใ€‚ ๅพˆๆœ‰ๅฏ่ƒฝๆ‚จๅทฒ็ถ“ๅฎ‰่ฃไบ†ๅ…ถไธญ็š„ไธ€ไบ› (็”š่‡ณๅ…จ้ƒจ)ใ€‚


Multiple instances

ASF is compatible with running multiple instances of the process on the same machine. The instances can be completely standalone or derived from the same binary location (in which case, you want to run them with different --path command-line argument).

When running multiple instances from the same binary, keep in mind that you should typically disable auto-updates in all of their configs, as there is no synchronization between them in regards to auto-updates. If you'd like to keep having auto-updates enabled, we recommend standalone instances, but you can still make updates work, as long as you can ensure that all other ASF instances are closed.

ASF will do its best to maintain a minimum amount of OS-wide, cross-process communication with other ASF instances. This includes ASF checking its configuration directory against other instances, as well as sharing core process-wide limiters configured with *LimiterDelay global config properties, ensuring that running multiple ASF instances will not cause a possibility to run into a rate-limiting issue. In regards to technical aspects, Windows platforms use native OS-wide named semaphores for this purpose, Unix platforms use fallback mechanism of custom ASF file-based locks created in /tmp/ASF directory.

It's not required for running ASF instances to share the same *LimiterDelay properties, they can use different values, as each ASF will add its own configured delay to the release time after acquiring the lock. If the configured *LimiterDelay is set to 0, ASF instance will entirely skip waiting for the lock of given resource that is shared with other instances (that could potentially still maintain a shared lock with each other). When set to any other value, ASF will properly synchronize with other ASF instances and wait for its turn, then release the lock after configured delay, allowing other instances to continue.

ASF takes into account WebProxy setting when deciding about shared scope, which means that two ASF instances using different WebProxy configurations will not share their limiters with each other. This is implemented in order to allow WebProxy setups to operate without excessive delays, as expected from different network interfaces. This should be good enough for majority of use cases, however, if you have a specific custom setup in which you're e.g. routing requests yourself in a different way, you can specify network group yourself through --network-group command-line argument, which will allow you to declare ASF group that will be synchronized with this instance. Keep in mind that custom network groups are used exclusively, which means that ASF will no longer use WebProxy for determining the right group, as you're in charge of grouping in this case.


ASF ๅŒ…

ASF ๆœ‰ๅ…ฉ็จฎไธป่ฆ็š„ๆ‰“ๅŒ…ๆ–นๅผโ”€โ”€GenericๅŒ…ไปฅๅŠ OS-specific ๅŒ…๏ผˆ้‡ๅฐ็‰นๅฎšๆ“ไฝœ็ณป็ตฑ็š„ๅŒ…๏ผ‰ใ€‚ ๅพžๅŠŸ่ƒฝไธŠไพ†่ฌ›๏ผŒ้€™ๅ…ฉ็จฎๅŒ…ๆ˜ฏๅฎŒๅ…จไธ€ๆจฃ็š„๏ผŒ้ƒฝ่ƒฝๅค ่‡ชๅ‹•้€ฒ่กŒๆ›ดๆ–ฐใ€‚ ๅ”ฏไธ€็š„ๅ€ๅˆฅๅฐฑๆ˜ฏ GenericๅŒ…ไธญไธๅŒ…ๅซ** OS-specific **ๅŒ…ๅ…ง้™„ๅธถ็š„่ƒฝไฝฟ ASF ้‹่กŒ็š„็’ฐๅขƒใ€‚


Generic

Generic ๅŒ…็จ็ซ‹ไบŽๅนณๅฐ๏ผŒๆ‰€ไปฅๅฎƒไธๅŒ…ๅซไปปไฝ•็‰นๅฎšๆ–ผ้›ป่…ฆ็š„ไปฃ็ขผใ€‚ ๆ‰€ไปฅไฝฟ็”จ้€™ๅ€‹ๅŒ…้œ€่ฆๆ‚จ็š„ๆ“ไฝœ็ณป็ตฑไธญๅทฒ็ถ“ๅฎ‰่ฃๆœ‰ๅˆ้ฉ็‰ˆๆœฌ็š„ .NET Core ้‹่กŒๆ™‚็’ฐๅขƒใ€‚ ๆˆ‘ๅ€‘้ƒฝ็Ÿฅ้“ไฟ่ญ‰ไพ่ณด้กนๅง‹็ต‚ๆ˜ฏๆœ€ๆ–ฐๆ˜ฏๅๅˆ†้บป็ƒฆ็š„๏ผŒๆ‰€ไปฅ้€™ๅ€‹ๅŒ…ไธป่ฆ้ขๅ‘้‚ฃไบ›ๅทฒ็ถ“ๅœจไฝฟ็”จ .NET Core๏ผŒไธๆƒณไป…ไป…็‚บไบ† ASF ๅฐๅทฒๆœ‰็’ฐๅขƒๅšๅ–ฎ็จๅ‚™ไปฝ็š„ไบบใ€‚ Generic ๅŒ…้‚„ๅ…่จฑๆ‚จๅฐ‡ ASF ้‹่กŒๅœจไปปไฝ•ๆ‹ฅๆœ‰ๆญฃๅธธ .NET Core ็’ฐๅขƒ็š„ๆฉŸๅ™จไธŠ๏ผŒไธ้œ€่ฆๆ“”ๅฟƒๆ˜ฏๅฆๅญ˜ๅœจ็›ธๆ‡‰็š„ OS-specific ๅŒ…ใ€‚

ๆˆ‘ๅ€‘ไธฆไธๆŽจ่–ฆไธ€่ˆฌ็”จๆˆถ็”š่‡ณๆ˜ฏ้ซ˜็ดš็”จๆˆถไฝฟ็”จ Generic ๅŒ…๏ผŒๅฆ‚ๆžœๆ‚จๅชๆ˜ฏๆƒณ่ฆ้‹่กŒ ASF ่€Œไธๆƒณ่ฆๆทฑๅ…ฅไบ†่งฃ . NET core ็š„ๆŠ€่ก“็ดฐ็ฏ€ใ€‚ ไนŸๅฐฑๆ˜ฏ่ชช๏ผŒๅฆ‚ๆžœไฝ ็žญ่งฃGenericๅŒ…๏ผŒ้‚ฃไฝ ๅฏไปฅไฝฟ็”จๅฎƒ๏ผŒไธ็„ถไธ‹้บตๆ‰€ไป‹็ดน็š„ OS-specific ๅŒ…ๆ‰ๆ˜ฏๆ›ดๅˆ้ฉ็š„ใ€‚

.NET ๆก†ๆžถๅŒ…

้™คไบ†ไธŠ้ขๆๅˆฐ็š„ Generic ๅŒ…๏ผŒๆˆ‘ๅ€‘ไนŸๆไพ› Generic-netf ๅŒ…๏ผŒๅฎƒๅŸบๆ–ผ .NET ๆก†ๆžถ๏ผˆ่€Œ้ž .NET Core๏ผ‰ใ€‚ ่ฉฒๅŒ…ๆ˜ฏไธ€็จฎ่ˆŠๅผๅŒ…๏ผŒๅฎƒ่ฃœๅ…จไบ†ๅพž ASF V2 ๆ™‚ไปฃๅณๅทฒ็Ÿฅ็š„ๅ…ผๅฎนๆ€ง็ผบๅคฑ๏ผŒไธฆไธ”ๅฏไปฅไฝฟ็”จ Mono ้‹่กŒ๏ผŒ็•ถๅ‰ไพ†่‡ช .NET Core ็š„ Generic ๅŒ…็„กๆณ•็”จๆ–ผMonoใ€‚

้€šๅธธ๏ผŒๆ‚จๆ‡‰่ฉฒๅ„˜้‡้ฟๅ…ไฝฟ็”จๆญค็จ‹ๅผๅŒ…๏ผŒๅ› ็‚บๅคงๅคšๆ•ธๆ“ไฝœ็ณป็ตฑ้ƒฝๅฎŒๅ…จ๏ผˆไธฆไธ”ๆ›ดๅฅฝๅœฐ๏ผ‰ๆ”ฏๆดไธŠ้ขๆๅˆฐ็š„GenericๅŒ…ใ€‚ ไบ‹ๅฏฆไธŠ๏ผŒ้€™ๅ€‹ๅฅ—่ฃ่ปŸไปถๅช้ฉ็”จๆ–ผ็ผบๅคฑ .NET Core ้‹่กŒๆ™‚็’ฐๅขƒ๏ผŒไฝ†่ƒฝๅค ้‹่กŒ Mono ็š„ๅนณๅฐใ€‚ ้€™ไบ›ๅนณๅฐๅŒ…ๅซ linux-x86๏ผˆ32 ไฝๅ…ƒ i386/i686 Linux๏ผ‰๏ผŒไปฅๅŠ linux-armel๏ผˆRaspberry Pi 0 & 1 ็ญ‰้–‹็™ผๆฟๆ‰€็”จ็š„ ARMv6๏ผ‰๏ผŒ้€™ไบ›ๅนณๅฐ็›ฎๅ‰ๅฎ˜ๆ–นๆฒ’ๆœ‰ๆ”ฏๆด .NET Core ๅŸท่กŒ้šŽๆฎตใ€‚

้šจ่‘—ๆ™‚้–“็š„ๆŽจ็งป๏ผŒ.NET Core ๆœƒๆ”ฏๆดๆ›ดๅคšๅนณๅฐ๏ผŒ่€Œ .NET Framework ๅ’Œ .NET Core ไน‹้–“ๆœƒๆ›ดๅŠ ไธๅ…ผๅฎน๏ผŒGeneric-netf ๅŒ…ๅฐ‡ๆœƒๅœจๆœชไพ†ๅฎŒๅ…จ่ขซ Generic ๅŒ…ๅ–ไปฃใ€‚ ๅฆ‚ๆžœๆ‚จๅฏไปฅไฝฟ็”จไปปไฝ• .NET Core ๅฅ—่ฃ่ปŸไปถ๏ผŒๅฐฑไธ่ฆไฝฟ็”จๅฅ—่ฃๆก†ๆžถ๏ผŒๅ› ็‚บ Generic-netf ่ˆ‡ .NET Core ็‰ˆๆœฌ็›ธๆฏ”็ผบๅฐ‘่จฑๅคšๅŠŸ่ƒฝๅ’Œๅ…ผๅฎนๆ€ง๏ผŒไธฆไธ”้šจ่‘—ๆ™‚้–“็š„ๆŽจ็งป๏ผŒๅฎƒ็š„ๅŠŸ่ƒฝๅชๆœƒ่ฎŠๅฐ‘ใ€‚ ๆˆ‘ๅ€‘ๅƒ…ๅฐ็„กๆณ•ไฝฟ็”จ้€š็”จๅฅ—ไปถ็š„ๅนณๅฐๆไพ›ๆญค็‰ˆๆœฌ็š„ๆ”ฏๆด๏ผˆไพ‹ๅฆ‚ linux-x86๏ผ‰๏ผŒไธฆไธ”ไนŸๅƒ…ๆ”ฏๆดๅŸบๆ–ผๆœ€ๆ–ฐ็‰ˆๆœฌ็š„ๅŸท่กŒ้šŽๆฎต๏ผˆไพ‹ๅฆ‚ๆœ€ๆ–ฐ็‰ˆ Mono๏ผ‰ใ€‚


OS-specific

้™คไบ† Generic ๅŒ…ไธญๅŒ…ๅซ็š„่จ—็ฎกไปฃ็ขผไน‹ๅค–๏ผŒOS-specific ๅŒ…้‚„ๅŒ…ๆ‹ฌๆŒ‡ๅฎšๅนณๅฐ็š„ๆœฌๆฉŸไปฃ็ขผใ€‚ ๆ›ๅฅ่ฉฑ่ชช๏ผŒOS-specific ๅŒ…ๅ…ง้ƒจๅทฒ็ถ“ๅŒ…ๅซไบ†ๅฏ็”จ็š„ .NET Core ้‹่กŒๆ™‚็’ฐๅขƒ๏ผŒไฝฟๆ‚จๅฏไปฅ่ทณ้Ž็…ฉ็‘ฃ็š„ๅฎ‰่ฃ้Ž็จ‹๏ผŒ็›ดๆŽฅๅ•Ÿๅ‹• ASFใ€‚ OS-specific ๅŒ…๏ผŒ้กงๅๆ€็พฉ๏ผŒๆ˜ฏ้‡ๅฐไธๅŒๆ“ไฝœ็ณป็ตฑ็š„๏ผŒๆฏ็จฎๆ“ไฝœ็ณป็ตฑ้ƒฝ้œ€่ฆๅ…ถ็‰นๅฎš็š„็‰ˆๆœฌโ€”โ€”ไพ‹ๅฆ‚ Windows ้œ€่ฆ PE32+ ArchiSteamFarm.exeไบŒ้€ฒไฝๆช”ๆกˆ๏ผŒ่€Œ Linux ๅ‰‡้œ€่ฆ Unix ELF ArchiSteamFarmไบŒ้€ฒไฝๆช”ๆกˆใ€‚ ๆ‚จๅฏ่ƒฝๅทฒ็ถ“็Ÿฅ้“๏ผŒ้€™ๅ…ฉ็จฎ้กžๅž‹ไน‹้–“ๆ˜ฏๅฎŒๅ…จไธ็›ธๅฎน็š„ใ€‚

ASF็•ถๅ‰ๅฏ็”จๆ–ผไปฅไธ‹ๆ“ไฝœ็ณป็ตฑ ๏ผš

  • win-x64 ๆ”ฏๆด 64 ไฝ Windows ๆ“ไฝœ็ณป็ตฑใ€‚ ๅŒ…ๆ‹ฌ Windows 7๏ผˆSP1+๏ผ‰ใ€8.1ใ€10ใ€Server 2008 R2๏ผˆSP1+๏ผ‰ใ€2012ใ€2012 R2ใ€2016๏ผŒไปฅๅŠๆœชไพ†็š„็‰ˆๆœฌใ€‚
  • linux-arm้ฉ็”จๆ–ผๅŸบๆ–ผ ARM๏ผˆARMv7+๏ผ‰็š„32ไฝGNU/Linux ๆ“ไฝœ็ณป็ตฑใ€‚ ๅŒ…ๆ‹ฌๆ‰€ๆœ‰ๅƒๆ˜ฏ Raspberry Pi 2๏ผˆๆˆ–ๆ›ดๆ–ฐ็‰ˆๆœฌ๏ผ‰็š„ๅนณๅฐๅฏ็”จ็š„ GNU/Linux ไฝœๆฅญ็ณป็ตฑ๏ผˆไพ‹ๅฆ‚ Raspbian๏ผ‰็š„็•ถๅ‰ๅ’Œๆœชไพ†็‰ˆๆœฌใ€‚ This variant will not work with older ARM architectures, such as ARMv6 found in Raspberry Pi 0 & 1, it will also not work with OSes that do not implement required GNU/Linux environment (such as Android).
  • linux-arm64 works on 64-bit ARM-based (ARMv8+) GNU/Linux OSes. This includes platforms such as Raspberry Pi 3 (and newer) with all AArch64 GNU/Linux OSes available for them (such as Debian), in current and future versions. This variant will not work with 32-bit OSes that do not have required 64-bit libraries available (such as Raspbian), it will also not work with OSes that do not implement required GNU/Linux environment (such as Android).
  • linux-x64 ้ฉ็”จๆ–ผ64 ไฝ GNU/Linux ๆ“ไฝœ็ณป็ตฑใ€‚ ๅŒ…ๆ‹ฌ Alpineใ€CentOS/Fedora/RHELใ€Debian/Ubuntu/Linux Mintใ€OpenSUSE/SLES ็ญ‰ๆ“ไฝœ็ณป็ตฑไปฅๅŠๅฎƒๅ€‘็š„่ก็”Ÿ็‰ˆๅœจ็•ถๅ‰ๅ’Œๆœชไพ†็š„็‰ˆๆœฌใ€‚
  • osx-x64 ้ฉ็”จๆ–ผ64ไฝ OS X ๆ“ไฝœ็ณป็ตฑใ€‚ ๅŒ…ๆ‹ฌ 10.13 ๅŠๆ›ดๆ–ฐ็‰ˆๆœฌใ€‚

็•ถ็„ถ๏ผŒๅณไฝฟๆฒ’ๆœ‰้ฉๅˆๆ‚จๆ“ไฝœ็ณป็ตฑๅŠๆžถๆง‹็š„ OS-specific ๅŒ…๏ผŒๆ‚จไนŸๅฏไปฅๆ‰‹ๅ‹•ๅฎ‰่ฃ้ฉ็•ถ็š„ .NET Core ้‹่กŒๆ™‚็’ฐๅขƒไธฆ้‹่กŒ Generic ASF ๅŒ…๏ผŒ้€™ไนŸๆ˜ฏ้€™ๅ€‹ๅŒ…ๅญ˜ๅœจ็š„ไธป่ฆๅŽŸๅ› ใ€‚ Generic ASF ๅŒ…่ˆ‡ๅนณๅฐ็„ก้—œ๏ผŒๅฏๅœจไปปไฝ•ๅ…ทๆœ‰ๅฏ็”จ .NET Core ้‹่กŒๆ™‚็’ฐๅขƒ็š„ๅนณๅฐไธŠ้‹่กŒใ€‚ ้œ€่ฆๆณจๆ„โ”€โ”€ASF ้œ€่ฆ็š„ๆ˜ฏ .NET Core ้‹่กŒๆ™‚็’ฐๅขƒ๏ผŒ่€Œไธๆ˜ฏ็‰นๅฎš็š„ๆ“ไฝœ็ณป็ตฑๆˆ–ๆžถๆง‹ใ€‚ ไพ‹ๅฆ‚๏ผŒๅฆ‚ๆžœๆ‚จไฝฟ็”จ็š„ๆ˜ฏ 32 ไฝ Windows๏ผŒ็›ก็ฎกๆฒ’ๆœ‰้ฉ็”จๆ–ผ win-x86 ็š„ASF็‰ˆๆœฌ๏ผŒๆ‚จไป็„ถๅฏไปฅๅœจ win-x86ไธญๅฎ‰่ฃ .NET Core SDK๏ผŒไธฆ้‹่กŒ Generic ็‰ˆๆœฌ็š„ ASFใ€‚ ๆˆ‘ๅ€‘็„กๆณ•็‚บๆ‰€ๆœ‰ๆ“ไฝœ็ณป็ตฑๅ’Œๆžถๆง‹็ต„ๅˆ้ƒฝๆไพ›ไธ€ไปฝๅฏๅŸท่กŒๆกฃๆกˆ๏ผŒ็‚บๆญคๆˆ‘ๅ€‘่ฆๅœจๆŸ่™•ๅŠƒๆธ…็•Œ้™ใ€‚ x86 ๅฐฑๆ˜ฏ้€™ๆข็ทš็š„็ฏ„ไพ‹ไน‹ไธ€๏ผŒๅ› ็‚บๅฎƒ็š„้ซ”็ณป็ตๆง‹่‡ณๅฐ‘่‡ช 2004 ๅนด้–‹ๅง‹ๅฐฑๅทฒ้Žๆ™‚ไบ†ใ€‚

ๆ‚จๅฏไปฅ่จชๅ•โ€‹**็‰ˆๆœฌๆณจ้‡‹โ€‹**ๆŸฅ็œ‹.NET Core 3.1 ๆ”ฏๆŒ็š„ๆ‰€ๆœ‰ๅนณๅฐ่ˆ‡ๆ“ไฝœ็ณป็ตฑๆธ…ๅ–ฎใ€‚


้‹่กŒๆ™‚็’ฐๅขƒ้œ€ๆฑ‚

ๅฆ‚ๆžœๆ‚จๆญฃๅœจไฝฟ็”จ OS-specific ๅŒ…๏ผŒๅ‰‡็„ก้œ€ๆ“”ๅฟƒ้‹่กŒๆ™‚้œ€ๆฑ‚๏ผŒๅ› ็‚บ ASF ๅŒ…็ธฝๆœƒ้™„ๅธถๆ‰€้œ€็š„ๆœ€ๆ–ฐ้‹่กŒๆ™‚็’ฐๅขƒ๏ผŒๅช่ฆๅทฒๅฎ‰่ฃๆœ€ๆ–ฐ็š„ .NET Core ไพ่ณด้ …๏ผŒๅณๅฏๆญฃๅธธ้‹่กŒใ€‚ ๆ›ๅฅ่ฉฑ่ชช๏ผŒๆ‚จไธ้œ€่ฆๅฎ‰่ฃ .NET Core ้‹่กŒๆ™‚็’ฐๅขƒๆˆ– SDK๏ผŒๅ› ็‚บ OS-specific ็‰ˆๆœฌๅช้œ€่ฆๆœฌๆฉŸๅฎ‰่ฃๅฐๆ‡‰ๆ“ไฝœ็ณป็ตฑ็š„ไพ่ณด้ …๏ผˆๅ…ˆๅ†ณๆขไปถ๏ผ‰๏ผŒ่€Œไธ้œ€่ฆๅ…ถไป–้ …็›ฎใ€‚

ไฝ†ๆ˜ฏ๏ผŒๅฆ‚ๆžœๆ‚จๅฐ่ฉฆ้‹่กŒ Generic ASFๅŒ…๏ผŒๅ‰‡ๅฟ…้ ˆ็ขบไฟ ASF ๆ‰€้œ€็š„ๅฐๆ‡‰ๅนณๅฐ็š„ .NET Core ้‹่กŒๆ™‚็’ฐๅขƒๅทฒ็ถ“ๅฎ‰่ฃใ€‚

ASF ็จ‹ๅผ็›ฎๅ‰็š„็›ฎๆจ™ๆ˜ฏ .NET Core 3.1๏ผˆnetcoreapp3.1๏ผ‰๏ผŒไฝ†ๅœจๆœชไพ†ๅฏ่ƒฝๆœƒไปฅๆ›ด้ซ˜็‰ˆๆœฌ็‚บ็›ฎๆจ™ใ€‚ ๅณไฝฟ ASF ไปฅ็ทจ่ญฏๆ™‚ๆœ€ๆ–ฐ็‰ˆๆœฌ็š„ๅŸท่กŒ้šŽๆฎต็‚บๅปบ็ฝฎ็›ฎๆจ™๏ผŒnetcoreapp3.1 ๅพž 3.1.100 SDK๏ผˆ3.1.0 ๅŸท่กŒ้šŽๆฎต๏ผ‰ไน‹ๅพŒๅฐฑๅ—ๆ”ฏๆด๏ผŒๆ‰€ไปฅๆ‚จๆ‡‰่ฉฒ็ขบไฟๆ‚จ็š„ๆฉŸๅ™จไธŠๆœ‰**ๆœ€ๆ–ฐ็‰ˆๆœฌ็š„ SDK**๏ผˆๆˆ–่‡ณๅฐ‘ๆœ‰ๅŸท่กŒ้šŽๆฎต๏ผ‰ใ€‚ ๅฆ‚ๆžœๆ‚จ็š„้‹่กŒๆ™‚็’ฐๅขƒ็‰ˆๆœฌไฝŽๆ–ผ็ทจ่ญฏๆ™‚ๅทฒ็Ÿฅ็š„ๆœ€ๅฐ๏ผˆ็›ฎๆจ™๏ผ‰ๅค‰ๆ•ธ๏ผŒGeneric ASF ๅŒ…ๆœƒๆ‹’็ต•ๅ•Ÿๅ‹•ใ€‚

ๅฆ‚ๆœ‰็–‘ๅ•๏ผŒๆ‚จๅฏไปฅ่จชๅ•ๆˆ‘ๅ€‘็”จๆ–ผ็ทจ่ญฏไธฆๅœจ GitHub ไธŠ้ƒจ็ฝฒASF็‰ˆๆœฌ็š„ CIใ€‚ ๆ‚จๅฏไปฅๅœจๆฏๅ€‹็”Ÿๆˆ็š„้ ‚้ƒจๆ‰พๅˆฐdotnet--info ่ผธๅ‡บใ€‚


ๅ•้กŒ

ๅœจ OpenVZ ่™›ๆ“ฌๅŒ–็š„ Linux VPS ไธŠๅŸท่กŒ ASF ้ญ้‡็š„่จฑๅคš่ˆ‡้Ž–็›ธ้—œ็š„ๅ•้กŒ

OpenVZ ๆ ธๅฟƒ้€šๅธธๅŸบๆ–ผ้žๅธธ่ˆŠ็š„ Linux ๆ ธๅฟƒ็‰ˆๆœฌ๏ผˆ2.6๏ผ‰๏ผŒ้€™ไผผไนŽไธ็›ธๅฎนๆœ€ๆ–ฐ็‰ˆๆœฌ็š„ .NET Core ๅŸท่กŒ้šŽๆฎตใ€‚ ๅฆ‚ๆžœๆ‚จๅ˜—่ฉฆๅŸท่กŒ ASF ๆ–ผ้€™็จฎ็’ฐๅขƒไธ‹๏ผŒๆ‚จๅฏ่ƒฝๆœƒ้ญ้‡่จฑๅคš่ˆ‡้Ž–็›ธ้—œ็š„ๅ•้กŒ๏ผŒ้€šๅธธ่กจ็พ็‚บ่กŒ็จ‹็•ซ้ขๅ‡็ตใ€‚ ่ซ‹ๅƒ้–ฑ็›ธ้—œ็š„ CoreCLR Issue๏ผšhttps://github.com/dotnet/coreclr/issues/26873

ๆˆ‘ๅ€‘ๅปบ่ญฐๆ˜ฏๆ”พๆฃ„ OpenVZ ๆžถๆง‹๏ผŒไฝฟ็”จๆ›ดๅฅฝ็š„่™›ๆ“ฌๅŒ–ๆŠ€่ก“๏ผŒไพ‹ๅฆ‚ KVMใ€‚ ้€™่ฃกๆๅˆฐ็š„ๅ•้กŒ็š„็ขบๆ˜ฏ .NET Core ๅŸท่กŒ้šŽๆฎต็š„ไธ€ๅ€‹้Œฏ่ชค๏ผŒไธฆไธ”ๆ‡‰็•ถๅœจไธ‹ๅ€‹็‰ˆๆœฌ .NET Core ๅŸท่กŒ้šŽๆฎต๏ผˆ3.1 ๆœๅ‹™ไฟฎ่ฃœ็จ‹ๅผ๏ผ‰ไธญ่ขซ**ไฟฎๅพฉ**๏ผŒไฝ†ๆšซ็„กๆ˜Ž็ขบ็š„ๆ™‚้–“ใ€‚ ๅฆ‚ๆžœๆ‚จไธ่ƒฝไฝฟ็”จๆ›ดๅฅฝ็š„่™›ๆ“ฌๅŒ–ๆŠ€่ก“๏ผŒๅœจๅŸท่กŒ้šŽๆฎตๆ›ดๆ–ฐไน‹ๅ‰๏ผŒๆ‚จๅฏไปฅ่€ƒๆ…ฎไฝฟ็”จ mono ไพ†ๅŸท่กŒ ASF ็š„ generic-netf ๅฅ—ไปถใ€‚

ๅฐๆ–ผ Linux ไฝœๆฅญ็ณป็ตฑ็š„้€ฒ้šŽไฝฟ็”จ่€…๏ผŒๆœ‰ไธ€ๅ€‹**ๆ›ดๅฅฝ็š„่งฃๆฑบๆ–นๆณ•**๏ผŒไฝฟๅ…ถๅฏไปฅๅŸท่กŒๆœ€ๆ–ฐ็š„ .NET Core ASF ่€Œไธๆœƒ็™ผ็”Ÿ้€™ๅ€‹ๅ•้กŒใ€‚

Clone this wiki locally