Runtime: рдлреНрд░реАрдмреАрдПрд╕рдбреА рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди

рдХреЛ рдирд┐рд░реНрдорд┐рдд 4 рдордИ 2015  ┬╖  158рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: dotnet/runtime

2017/9 рд╕реЗ рдЕрджреНрдпрддрди рдкреНрд░рд╕реНрддрд╛рд╡

рдкреНрд░рд╕реНрддрд╛рд╡ (рджреНрд╡рд╛рд░рд╛ @karelz - https://github.com/dotnet/corefx/issues/1626#issuecomment-329840518) рдЖрдЧреЗ рдХреА рдЪрд░реНрдЪрд╛ рдФрд░ рдкреНрд░рд╕реНрддрд╛рд╡ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╢реАрд░реНрд╖-рдкреЛрд╕реНрдЯ рдореЗрдВ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

рд╣рдордиреЗ @RussellHaley (FreeBSD рд╕рдореБрджрд╛рдп рд╕реЗ) рдФрд░ @wfurt (.NET рдХреЛрд░ рдЯреАрдо рд╕реЗ) рдХреЗ рд╕рд╛рде FreeBSD рдХреЗ рд▓рд┐рдП рд╕рдореБрджрд╛рдп-рд╕рдВрдЪрд╛рд▓рд┐рдд рдкреЛрд░реНрдЯ рдкрд░ рдЪрд░реНрдЪрд╛ рдХреА, рдЬрд┐рдиреНрд╣реЛрдВрдиреЗ рджреЛрдиреЛрдВ рдиреЗ рдХрд╛рдо рдореЗрдВ рд░реБрдЪрд┐ рд╡реНрдпрдХреНрдд рдХреАред
рдпрд╣рд╛рдВ рдПрдХ рдпреЛрдЬрдирд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рд╣реИ рдЬрд┐рд╕реЗ рд╣рдордиреЗ рдПрдХ рд╕рд╛рде рд░рдЦрд╛ рд╣реИ (рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛/рд╕реБрдЭрд╛рд╡реЛрдВ рдХрд╛ рд╕реНрд╡рд╛рдЧрдд рд╣реИ):

  1. CoreCLR рдФрд░ CoreFX рд░реЗрдкреЛ рдореЗрдВ рдмрд╛рдпрдиреЗрд░рд┐рдЬрд╝ рдХрд╛ рдирд┐рд░реНрдорд╛рдг FreeBSD рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░рдирд╛ - рд╣реИрдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдареАрдХ рд╣реИ

    • рд╕рдорд╛рдирд╛рдВрддрд░ рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИ, @wfurt рдЙрд╕ рдкрд░ рдХрд╛рдо рдХрд░реЗрдЧрд╛

    • рдмрд┐рд▓реНрдб рдЕрдиреНрдп рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо (рдореИрдХ, рд▓рд┐рдирдХреНрд╕) рд╕реЗ рдлреНрд░реАрдмреАрдПрд╕рдбреА рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдмрд┐рд▓реНрдб рдХрд╛ рдорд┐рд╢реНрд░рдг рд╣реЛ рд╕рдХрддрд╛ рд╣реИ

    • рдлреНрд░реАрдмреАрдПрд╕рдбреА-рд╡рд┐рд╢рд┐рд╖реНрдЯ рдмрдЧ рдлрд┐рдХреНрд╕ рдХреЗ рд╕рд╛рде рдмрд┐рд▓реНрдб рдХреЛ рдкреБрди: рдкреЗрд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдореЗрдВ рджрд╕реНрддрд╛рд╡реЗрдЬ рдЪрд░рдгреЛрдВ (рдлреНрд░реАрдмреАрдПрд╕рдбреА рд╡рд┐рдХреА рдкрд░) рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА

  2. CoreCLR рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдПрдБ рдФрд░ рд╕реНрдерд┐рд░ рдХрд░реЗрдВ (corerun рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ)

    • рдЯреЗрд╕реНрдЯ рджреВрд╕рд░реЗ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкрд░ рдмрдирд╛рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ

    • рд▓рдХреНрд╖реНрдп: рд░рдирдЯрд╛рдЗрдо рдХреА рдмреБрдирд┐рдпрд╛рджреА рдЧреБрдгрд╡рддреНрддрд╛ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ

  3. CoreFX рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдПрдБ рдФрд░ рд╕реНрдерд┐рд░ рдХрд░реЗрдВ (corerun рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ)

    • рдЯреЗрд╕реНрдЯ рджреВрд╕рд░реЗ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкрд░ рдмрдирд╛рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ

    • рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЗрд╕рдХреЗ рд▓рд┐рдП xunit рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд╣рдорд╛рд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐, рд╣рдорд╛рд░реЗ рдкрд┐рдЫрд▓реЗ рдкреЛрд░реНрдЯрд┐рдВрдЧ рдЕрдиреБрднрд╡ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдПрдХ рдмрд╛рд░ [2] рд╣реЛ рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рдж, xunit рдмрд╕ рдХрд╛рдо рдХрд░реЗрдЧрд╛ред

    • рдпрд╣ рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ [2] рдХреЗ рд╕рдорд╛рдирд╛рдВрддрд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ - рдЗрд╕рдХреЗ рд▓рд┐рдП xunit рдХреЛ рд╢реЙрд░реНрдЯрдХрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рдЕрдиреНрдп рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкрд░ рд╕реНрдерд┐рд░ рдирд┐рд╖реНрдкрд╛рджрди рдиреБрд╕реНрдЦрд╛ рдЙрддреНрдкрдиреНрди рдХрд░рдирд╛)

    • рдкрд╛рд╕ рджрд░ рдЙрдЪрд┐рдд рд╣реЛрдиреЗ рдкрд░ рд╣рдо FreeBSD рдХреЗ рд▓рд┐рдП рдирдП OSPlatform API рдХрд╛ рдЦреБрд▓рд╛рд╕рд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ: dotnet/corefx#23989 рджреЗрдЦреЗрдВ

  4. рдлреНрд░реАрдмреАрдПрд╕рдбреА рдкрд░ рдкреВрд░реНрдг рд╕реНрдЯреИрдХ рдмрд┐рд▓реНрдб ([1]-[3] рд╕реЗ рдмреВрдЯрд╕реНрдЯреНрд░реИрдкрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдХреЛрд░рд░рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ)

    • рдмреВрд╕реНрдЯрд░реИрдкрд┐рдВрдЧ рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдореЗрдВ рд╕рднреА рдЯреВрд▓реНрд╕ (nuget, msbuild, roslyn) рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА .NET Core

  5. рдЗрдВрд╕реНрдЯрд╛рд▓рд░ (рдлреНрд░реАрдмреАрдПрд╕рдбреА рдкреЛрд░реНрдЯ)

    • рдкрд╣рд▓рд╛ рдЪрд░рдг: рдирдЧреЗрдЯ рдлрд╝реАрдб рд╕реЗ рдЙрддреНрдкрд╛рдж рдмрд╛рдпрдиреЗрд░рд┐рдЬрд╝ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛

    • рджреВрд╕рд░рд╛ рдЪрд░рдг: рд╕реНрд░реЛрдд рд╕реЗ рдЙрддреНрдкрд╛рдж рдмрдирд╛рдПрдВ (рд╕реНрд░реЛрдд рдкреНрд░рдпрд╛рд╕ рд╕реЗ рдирд┐рд░реНрдорд╛рдг рдкрд░ рдЕрд╡рд░реБрджреНрдз)

    • рдбрд┐рдЬрд╝рд╛рдЗрди рдкрд░ FreeBSD рд╕рдореБрджрд╛рдп рд╡рд┐рд╢реЗрд╖рдЬреНрдЮрддрд╛ рдФрд░ рдорд╛рд░реНрдЧрджрд░реНрд╢рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ

    • рдиреЛрдЯ: рд╣рдо FreeBSD рдкреИрдХреЗрдЬ рдХреЛ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ .NET рдХреЛрд░ рдбрд╛рдЙрдирд▓реЛрдб рдкреЗрдЬреЛрдВ рд╕реЗ рднреА рд╕рдореБрджрд╛рдп-рд╕рдорд░реНрдерди рдкреИрдХреЗрдЬ рдХреЗ рд░реВрдк рдореЗрдВ рд▓рд┐рдВрдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ

  6. рдлреНрд░реАрдмреАрдПрд╕рдбреА рдкрд░ рдирд┐рдпрдорд┐рдд рдирд┐рд░реНрдорд╛рдг рдФрд░ рдкрд░реАрдХреНрд╖рдг рдЪрд▓рддрд╛ рд╣реИ

    • рд▓рдХреНрд╖реНрдп: рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдлреНрд░реАрдмреАрдПрд╕рдбреА рдХреЛ рддреЛрдбрд╝рдиреЗ рд╡рд╛рд▓реЗ .NET рдХреЛрд░ рд░реЗрдкреЛ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдЬрд▓реНрджреА рдЬреНрдЮрд╛рдд рд╣реИрдВ

    • рдбрд┐рдЬрд╛рдЗрди рдХреА рдЬрд░реВрд░рдд

    • рдбрд┐рдЬрд╝рд╛рдЗрди рдкрд░ FreeBSD рд╕рдореБрджрд╛рдп рд╡рд┐рд╢реЗрд╖рдЬреНрдЮрддрд╛ рдФрд░ рдорд╛рд░реНрдЧрджрд░реНрд╢рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ

рд╕рдВрдЪрд╛рд▓рди рд╕рд┐рджреНрдзрд╛рдВрдд:

  • [2]-[4] рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдореБрдЦреНрдп рд░реВрдк рд╕реЗ CoreCLR/CoreFX рд░реЗрдкреЛ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП (CLA рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЗ рдХрд╛рд░рдг, .NET рдХреЛрд░ рдЯреАрдо рдХреЗ рд╡рд┐рд╢реЗрд╖рдЬреНрдЮреЛрдВ/рд╕рджрд╕реНрдпреЛрдВ рд╕реЗ рдХреЛрдб рд╕рдореАрдХреНрд╖рд╛ рдЖрджрд┐)
  • рд╣рдо рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рдЙрдЪреНрдЪ рд╕реНрддрд░реАрдп рдХрд╛рд░реНрдп рдХреЛ рдЯреНрд░реИрдХ рдХрд░реЗрдВрдЧреЗред рд╡рд┐рд╢рд┐рд╖реНрдЯ рдмрдЧ рдЕрд▓рдЧ рдореБрджреНрджреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рджрд╛рдпрд░ рдХрд┐рдП рдЬрд╛рдПрдВрдЧреЗред

рдЕрдЧрд░ рдХрд┐рд╕реА рдХреЛ рдорджрдж рдХрд░рдиреЗ рдореЗрдВ рджрд┐рд▓рдЪрд╕реНрдкреА рд╣реИ, рддреЛ рдХреГрдкрдпрд╛ рд╣рдореЗрдВ рдпрд╣рд╛рдВ рдмрддрд╛рдПрдВред рдПрдХ рдмрд╛рд░ рдЬрдм рд╣рдо [1] рдХреЗ рд╕рд╛рде рдХрд╛рдлреА рджреВрд░ рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ рддреЛ рд╣рдо рдКрдкрд░ [2] рдФрд░ [3] рд╕реЗ рдХрд╛рдо рдХреА рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдЖрд╕рд╛рдиреА рд╕реЗ рд╡рд┐рддрд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред


2015/5 . рд╕реЗ

рдпрд╣ рдореБрджреНрджрд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ corefx рдХреЗ рд▓рд┐рдП FreeBSD рдЕрд╕реЗрдВрдмрд▓рд┐рдпреЛрдВ рдХрд╛ рдЙрддреНрдкрд╛рджрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдп рдХреА рдЗрдХрд╛рдИ (рдЗрдХрд╛рдЗрдпреЛрдВ) рдкрд░ рдЪрд░реНрдЪрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИред

@stephentoub - рдПрдХ рдФрд░ рдЕрдзрд┐рдХ рджрдмрд╛рд╡ рд╡рд╛рд▓рд╛ рдореБрджреНрджрд╛ рд╣реЛрдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ, рдЬреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдлреНрд░реАрдмреАрдПрд╕рдбреА рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрдорд╛рдг рдХрд░ рд░рд╣рд╛ рд╣реИред рдЖрдЬ, рдЬрдм рд╣рдореЗрдВ рдХрд┐рд╕реА рд╡рд┐рд╢реЗрд╖ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд╕реЗрдВрдмрд▓реА рдХреА рд╡рд┐рд╢реЗрд╖рдЬреНрдЮрддрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рддреЛ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдкреНрд░рднрд╛рд╡реА рд░реВрдк рд╕реЗ рддреАрди рдмрд┐рд▓реНрдб рд╣реЛрддреЗ рд╣реИрдВ, рдЬреЛ рддреАрди рдЕрд▓рдЧ-рдЕрд▓рдЧ рдкреНрд░рдмрдВрдзрд┐рдд рдЕрд╕реЗрдВрдмрд▓реА рдХрд╛ рдЙрддреНрдкрд╛рджрди рдХрд░рддреЗ рд╣реИрдВ: рд╡рд┐рдВрдбреЛрдЬ, рд▓рд┐рдирдХреНрд╕, рдУрдПрд╕рдПрдХреНрд╕ред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХрдо рд╕реЗ рдХрдо рдЕрднреА рдХреЗ рд▓рд┐рдП рд╣рдореЗрдВ рдЪреМрдереЗ, рдлреНрд░реАрдмреАрдПрд╕рдбреА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рдореЗрд░рд╛ рд╕реБрдЭрд╛рд╡ рд╣реИ рдХрд┐ рдЖрдк рдЙрдЪрд┐рдд OSGroup рд▓рдХреНрд╖реНрдпреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ IsFreeBSD рд╕рдВрдкрддреНрддрд┐ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд┐рд▓реНрдб рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдХреЗ рд╢реБрд░реВ рдХрд░реЗрдВ (рдпрд╛ рдЖрдк рдореЗрдВ рд╕реЗ рдХреЗрд╡рд▓ IsBSD рдХреЛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдПрдХ рдЙрдЪреНрдЪ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ BSD рдореЗрдВ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╡рд┐рднрд┐рдиреНрди рдХрд░реНрдиреЗрд▓ рдХреЗ рд╕рд╛рде рднреА рд╕рдорд╛рди рд╣реЛрдЧрд╛)ред рдЗрд╕рдХреЗ рдмрд╛рдж рдлреНрд░реАрдмреАрдПрд╕рдбреА-рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХреЛрдб рдХреЗ рд╕рд╛рде рдПрдХ рдЕрд╕реЗрдВрдмрд▓реА рдХреЗ рд╡рд┐рд╢реЗрд╖рдЬреНрдЮ рдХреЗ рд▓рд┐рдП csproj рдлрд╛рдЗрд▓реЛрдВ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ)

  • dotnet/runtime#14536 (рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ API рдореЗрдВ OSGroup рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛)
  • dotnet/runtime#14507 (рдирд┐рдЬреА рдПрдкреАрдЖрдИ рдореЗрдВ OSGroup рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛)

/рд╕реАрд╕реА: @janhenke @josteink

area-Meta enhancement os-freebsd

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдмрд╕ рдПрдХ рддреНрд╡рд░рд┐рдд рдЯрд┐рдкреНрдкрдгреАред

рд╣рд╛рд▓ рдХреА рдШреЛрд╖рдгрд╛ [1] рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдореЛрдиреЛ рдХреЛ .NET 5 рджреНрд╡рд╛рд░рд╛ рдирд┐рдЧрд▓ рд▓рд┐рдпрд╛ рдЬрд╛рдирд╛ рд╣реИ, рдлреНрд░реАрдмреАрдПрд╕рдбреА рдХреЗ рд▓рд┐рдП рдЙрдЪрд┐рдд рд╕рдорд░реНрдерди рдкреНрд░рджрд╛рди рдХрд░рдирд╛ рдЕрддреНрдпрд╛рд╡рд╢реНрдпрдХ рд╣реЛ рдЧрдпрд╛ рд╣реИред

рдореЛрдиреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрдЪреНрдЫрд╛ рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рд╕рдорд░реНрдерди рд╕рд╛рдмрд┐рдд рд╣реБрдЖ рд╣реИ рдФрд░ рдЗрд╕реЗ рдлреНрд░реАрдмреАрдПрд╕рдбреА рдмрдВрджрд░рдЧрд╛рд╣реЛрдВ рд╕реЗ рдмрд┐рдирд╛ рдХрд┐рд╕реА рд╕рдорд╕реНрдпрд╛ рдХреЗ рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдХрдИ рджреБрдХрд╛рдиреЗрдВ рдлреНрд░реАрдмреАрдПрд╕рдбреА рдкрд░ рдЕрдкрдирд╛ рдиреЗрдЯ рд▓реЛрдб рдЪрд▓рд╛рддреА рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕ рдУрдПрд╕ рдореЗрдВ рдХрдИ рдЕрдиреВрдареА рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рд╣реИрдВред рдЕрдм рддрдХ, рдореЛрдиреЛ рдЗрд╕ рдЕрдВрддрд░ рдХреЛ рдкрд╛рдЯрддрд╛ рд░рд╣рд╛ рд╣реИ, рд▓реЗрдХрд┐рди .NET 5 рдХреЗ рд╕рд╛рде рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдирд┐рдХрдЯ рднрд╡рд┐рд╖реНрдп рдореЗрдВ, рдореЛрдиреЛ рдХреЛ NET 5 рдореЗрдВ рдорд┐рд▓рд╛ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдФрд░ FreeBSD рд╕рдореБрджрд╛рдп .NET рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХреА рддрдВрддреНрд░ рд╕реЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд▓рдЧ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред

рдРрд╕рд╛ рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдбреЙрдЯрдиреЗрдЯ рдХреЗ рдкрд╛рд╕ рдкрд░рд┐рдкрдХреНрд╡ рдлреНрд░реАрдмреАрдПрд╕рдбреА рд╕рдорд░реНрдерди рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ рдХреЛ рдЗрд╕ рд╕рдордп рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рддреМрд░ рдкрд░ рдлреНрд░реАрдмреАрдПрд╕рдбреА рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдЗрд╕ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкрд░ рд╕рднреА рдбреЙрдЯрдиреЗрдЯ рдЯреВрд▓рд┐рдВрдЧ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рд╣реЛред

рд╕рднреА 158 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдЬрд╣рд╛рдВ рддрдХ https://github.com/dotnet/corefx/issues/1576 рдХрд╛ рд╕рдВрдмрдВрдз рд╣реИ, рд╕рд╣рдорддрд┐ рдмрдирддреА рджрд┐рдЦ рд░рд╣реА рд╣реИред

рдЬрдм рд╣рдорд╛рд░реЗ рдкрд╛рд╕ https://github.com/dotnet/corefx/issues/1625 рдкрд░ рднреА рдХреЛрдИ рдирд┐рд░реНрдгрдп рд╣реЛрддрд╛ рд╣реИ рддреЛ рд╣рдореЗрдВ рдХреБрдЫ рдХреЛрдб рд╢рд┐рдкрд┐рдВрдЧ рд╢реБрд░реВ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

dotnet/runtime#14536 рдкрд░ рд╕рдордЭреМрддрд╛ рдкреЛрд░реНрдЯрдЯреАрдо рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬрдм рддрдХ рдХрд┐ MSFT рдЕрдиреНрдпрдерд╛ рдирд╣реАрдВ рдЪреБрдирддрд╛ рд╣реИ, рдпрд╣ FreeBSD ред рдореБрджреНрджрд╛ рдбреЙрдЯрдиреЗрдЯ/рдХреЛрд░рдПрдлрдПрдХреНрд╕#1999 рд╕рдВрднрд╛рд╡рд┐рдд рд░реВрдк рд╕реЗ рд╡рд╣ рдореБрджреНрджрд╛ рд╣реЛрдЧрд╛ рдЬреЛ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдПрдкреАрдЖрдИ рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд╛ рдкреЗрд╢ рдХрд░рддрд╛ рд╣реИред

dotnet/runtime#14536 рдкрд░ рд╕рдордЭреМрддрд╛ рдкреЛрд░реНрдЯрдЯреАрдо рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬрдм рддрдХ рдХрд┐ MSFT рдЕрдиреНрдпрдерд╛ рдирд╣реАрдВ рдЪреБрдирддрд╛, рдпрд╣ FreeBSD рд╣реЛрдЧрд╛

рдЕрдЧрд░ рдореИрдВ рдЗрд╕реЗ рд╕рд╣реА рдкрдврд╝рддрд╛ рд╣реВрдВ, рддреЛ рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЬрдм https://github.com/dotnet/corefx/pull/1999 рдХрд╛ рд╡рд┐рд▓рдп рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд╣рдо рдЗрд╕ MSFT рдХреЛ рдирдП рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдПрдкреАрдЖрдИ рдХреЛ рдордВрдЬреВрд░реА рджреЗрдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдЗрд╕рд▓рд┐рдП рд╢реЗрд╖ рдореБрджреНрджреЛрдВ рдкрд░ рдЖрдЧреЗ рдмрдврд╝ рд╕рдХрддреЗ рд╣реИрдВ MSFT рдЕрдиреБрдореЛрджрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рдмрд┐рдирд╛ рдирд┐рдпрдорд┐рдд рдкреБрд▓-рдЕрдиреБрд░реЛрдзред

рдЕрдЧрд░ рдРрд╕рд╛ рд╣реИ рддреЛ рдпрд╣ рдореБрдЭреЗ рдЕрдЪреНрдЫрд╛ рд▓рдЧрддрд╛ рд╣реИред

https://github.com/dotnet/corefx/pull/1999#issuecomment -111279577 рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдЕрдЧрд▓реЗ рдЪрд░рдг рд╣реИрдВ:

  1. "рдлреНрд░реАрдмреАрдПрд╕рдбреА рдкреЛрд░реНрдЯ рдЯреАрдо" рдЙрддреНрдкрд╛рджрд┐рдд рдХреЛрд░рдПрдлрдПрдХреНрд╕ рдХрд╛ рдПрдХ рдлреНрд░реАрдмреАрдПрд╕рдбреА рд╕рдВрд╕реНрдХрд░рдг рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдирд╛ рдХрд╛рдо рдЬрд╛рд░реА рд░рдЦрддреА рд╣реИ (рдбреЙрдЯрдиреЗрдЯ / рдХреЛрд░рдПрдлрдПрдХреНрд╕ # 1626 рджреНрд╡рд╛рд░рд╛ рдЯреНрд░реИрдХ рдХрд┐рдпрд╛ рдЧрдпрд╛)ред
  2. рдкреЛрд░реНрдЯ рдЯреАрдо FreeBSD рдкрд░ рдкрд░реНрдпрд╛рдкреНрдд CoreFX рдФрд░ CoreCLR рд╕реНрдЯреИрдХ рд▓рд╛рддреА рд╣реИ рддрд╛рдХрд┐ рд╣рдо FreeBSD рдкрд░ CoreFX рдпреВрдирд┐рдЯ рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдирд╛ рд╢реБрд░реВ рдХрд░ рд╕рдХреЗрдВред
  3. рдкрд░реАрдХреНрд╖рдг рдХреБрдЫ рдиреНрдпреВрдирддрдо рдЧреБрдгрд╡рддреНрддрд╛ рд╕реНрддрд░ рддрдХ рдкрд╣реБрдВрдЪрддреЗ рд╣реИрдВред рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдпрд╣ рдЕрднреА рддрдХ рдХреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдЗрд╕рдХрд╛ рдорддрд▓рдм рдХреБрдЫ рдРрд╕рд╛ рд╣реИ рдЬреИрд╕реЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рдкрд░реАрдХреНрд╖рдг рдкрд╛рд╕ рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВред рдЖрджрд░реНрд╢ рд░реВрдк рд╕реЗ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХреЗрд╡рд▓ рдлреНрд░реАрдмреАрдПрд╕рдбреА рдХреЗ рд▓рд┐рдП рдЕрдХреНрд╖рдо рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХрд╛ рдПрдХ рд╕рдореВрд╣ рдирд╣реАрдВ рд╣реЛрдЧрд╛ (рд▓рд┐рдирдХреНрд╕ рдФрд░ рдУрдПрд╕рдПрдХреНрд╕ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ, рд╣рдо рдлреНрд░реАрдмреАрдПрд╕рдбреА рдХреЛ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдореМрдЬреВрдж рдЕрдиреНрдп * рдПрдирдЖрдИрдПрдХреНрд╕ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЙрдЪреНрдЪ рдорд╛рдирдХ рдкрд░ рдирд╣реАрдВ рд░рдЦрдирд╛ рдЪрд╛рд╣реЗрдВрдЧреЗ)ред
  4. рдлреНрд░реАрдмреАрдПрд╕рдбреА рдкреЛрд░реНрдЯ рдЯреАрдо рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╣реБрдП, рдХреЛрд░рдПрдлрдПрдХреНрд╕ рдЯреАрдо рдХреЛ рдлреНрд░реАрдмреАрдПрд╕рдбреА рдкрд░ рдЪрд▓рдиреЗ рд╡рд╛рд▓реЗ рд╣рдорд╛рд░реЗ рд╕реАрдЖрдИ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рдХреЛрд░рдПрдлрдПрдХреНрд╕ рдкрд░реАрдХреНрд╖рдг рдорд┐рд▓рддрд╛ рд╣реИред
  5. рдЗрд╢реНрдпреВ рдбреЙрдЯрдиреЗрдЯ/рд░рдирдЯрд╛рдЗрдо#14536 рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдкреАрдЖрд░ рдХреЛ рдорд░реНрдЬ рдХрд░рдиреЗ рдкрд░ рдЪрд░реНрдЪрд╛ рдХрд░реЗрдВ, рдЬреЛ рд╕рдВрдкрддреНрддрд┐ рдХреЛ рдЬреЛрдбрд╝рддрд╛ рд╣реИред

рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЙрдЪрд┐рдд рдпреЛрдЬрдирд╛ рдХреА рддрд░рд╣ рд▓рдЧрддрд╛ рд╣реИред

рдареАрдХ рд╣реИ, рддреЛ рдЪрд▓рд┐рдП corefx рдХреЛ рдХрд╛рдо рдкрд░ рд▓рд╛рдиреЗ рдХрд╛ рдХрд╛рдо рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред

рдлреНрд░реАрдмреАрдПрд╕рдбреА рдкрд░ рдХреЛрд░рдПрдлрдПрдХреНрд╕ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдореЗрдВ рдкрд╣рд▓реА рдмрд╛рдзрд╛ рдореЛрдиреЛ рд▓рдЧрддреА рд╣реИред рдмрд┐рд▓реНрдб-рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЬреЛрд░ рджреЗрдХрд░ рдХрд╣рддреА рд╣реИ рдХрд┐ рд╕рдВрд╕реНрдХрд░рдг 4.1 рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред @ajensenwaud рдиреЗ рдлреНрд░реИрдВрдХрдлрд░реНрдЯ-рд╣реЛрд╕реНрдЯ рдкрд░ рдЗрд╕ рдкрд░ рдХреБрдЫ рдХрд╛рдо рдХрд┐рдпрд╛, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдХрд┐рддрдирд╛ рдкреВрд░рд╛ рд╣реИред

рдореИрдВ рдЕрднреА рдХреЗ рд▓рд┐рдП рдПрдХ рдирд┐рд░реНрдорд╛рдг рдХрддрд╛рд░рдмрджреНрдз рдХрд░реВрдВрдЧрд╛ рдФрд░ рджреЗрдЦ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдЖрдЙрдЯрдкреБрдЯ рдХреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИред

рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: (рдореЛрдиреЛ) рдЕрдВрдд рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрд┐рдХрд░ рдХреЗ рд╕рд╛рде рдХреНрд░реИрд╢ рдмрдирд╛рддрд╛ рд╣реИ:

Making all in mini
make[1]: "/usr/home/josteink/mono/mono/mini/Makefile" line 2906: warning: duplicate script for target "%.exe" ignored
make[1]: "/usr/home/josteink/mono/mono/mini/Makefile" line 2899: warning: using previous script for "%.exe" defined here
  CC       genmdesc-genmdesc.o
In file included from genmdesc.c:9:0:
mini.h:17:34: fatal error: ./mono/metadata/loader.h: Too many levels of symbolic links
 #include <mono/metadata/loader.h>
                                  ^
compilation terminated.
*** Error code 1

Stop.
make[1]: stopped in /usr/home/josteink/mono/mono/mini
*** Error code 1

Stop.

рдлреНрд░реАрдмреАрдПрд╕рдбреА рдкрд░ рдХреЛрд░рдПрдлрдПрдХреНрд╕ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдореЗрдВ рдкрд╣рд▓реА рдмрд╛рдзрд╛ рдореЛрдиреЛ рд▓рдЧрддреА рд╣реИ

рдПрдлрдбрдмреНрд▓реНрдпреВрдЖрдИрдбрдмреНрд▓реНрдпреВ, рдореБрдЭреЗ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдпрд╣ рдкрд╣рд▓реА рдмрд╛рдзрд╛ рд╣реИред рдирд┐рд░реНрдорд╛рдг рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рджреЛ рдореБрджреНрджреЗ рд╣реИрдВ:

  1. рдлреНрд░реАрдмреАрдПрд╕рдбреА рдкрд░ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реА рдЕрд╕реЗрдВрдмрд▓реА рдХрд╛ рдирд┐рд░реНрдорд╛рдг
  2. рдЙрди рд╡рд┐рдзрд╛рдирд╕рднрд╛рдУрдВ рдХреЛ FreeBSD рдкрд░ рдмрдирд╛рдирд╛

(1) рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ, рдФрд░ рдХреНрдпрд╛ рдореБрдЭреЗ рд╡рд┐рд╢реНрд╡рд╛рд╕ рд╣реИ рдХрд┐ рдпрд╣ рдореБрджреНрджрд╛ рдХрд┐рд╕ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИред (2) рд╣реЛрдирд╛ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рдЕрднрд╛рд╡ рдлреНрд░реАрдмреАрдПрд╕рдбреА рдкрд░ рдкреНрд░рдмрдВрдзрд┐рдд рдХреЛрдб рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдорд╣рд╛рди рдкреНрд░рдгрд╛рд▓реА рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЛ рдирд╣реАрдВ рд░реЛрдХрддрд╛ рд╣реИред

рдЖрдк рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рддрдВрддреНрд░ рд╣реИрдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЖрдк рдлрд┐рдЯ рджреЗрдЦрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдореЗрд░реА рд╕рд┐рдлрд╛рд░рд┐рд╢ (2) рдХреЗ рдмрдЬрд╛рдп (1) рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░рдиреЗ рдХреА рд╣реЛрдЧреАред

рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЕрднреА рднреА Linux рдкрд░ corefx рдмрдирд╛рдиреЗ рдФрд░ OSX рдкрд░ рдЗрд╕реЗ рдмрдирд╛рдиреЗ рдореЗрдВ рд╕рдорд╕реНрдпрд╛рдПрдБ рд╣реИрдВ, рдЬреИрд╕реЗ рдХрд┐ рд╣рдорд╛рд░рд╛ CI рд╕рд┐рд╕реНрдЯрдо рд╡рд┐рдВрдбреЛрдЬрд╝ рдкрд░ рдЙрди рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдХреЗ рд▓рд┐рдП рдЕрд╕реЗрдВрдмрд▓реА рдмрдирд╛рддрд╛ рд╣реИ; рдЗрд╕рдХреЗ рдмрд╛рдж рдпрд╣ рдкрд░рд┐рдгрд╛рдореА рдЕрд╕реЗрдВрдмрд▓реА рдХреЛ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд▓рдХреНрд╖реНрдп рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкрд░ рдмрдВрдж рдХрд░ рджреЗрддрд╛ рд╣реИред

рдпрд╣ рдХрд╛рдлреА рдЙрдЪрд┐рдд рд╣реИред рдореИрдВрдиреЗ рдЕрднреА рдпрд╣ рдорд╛рдирд╛ рд╣реИ рдХрд┐ рдЕрдЧрд░ рд╣рдо рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕реЗ рдлреНрд░реАрдмреАрдПрд╕рдбреА рдкрд░ рд╕реНрд╡рдпрдВ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рддреЛ рдХреЛрд░рдПрдлрдПрдХреНрд╕ рдореЗрдВ рдмреЗрдХ рдХрд┐рдП рдЧрдП рд╕рд╛рдорд╛рдиреНрдп рдлреНрд░реАрдмреАрдПрд╕рдбреА рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рд╕рдорд░реНрдерди рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реЛрдЧрд╛ред

рдореИрдВ рдЕрднреА рдХреЗ рд▓рд┐рдП рд╡рд┐рдВрдбреЛрдЬ рджреНрд╡рд╛рд░рд╛ рд╢реБрд░реВ рдХреА рдЧрдИ рдмрд┐рд▓реНрдбрд┐рдВрдЧ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░реВрдВрдЧрд╛ рдФрд░ рдПрдХ рдмрд┐рд▓реНрдб-рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рдПрдХ рд╕рд╛рде рдирд┐рдВрдЬрд╛ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реВрдВрдЧрд╛ред

@ рдЬреЛрд╕реНрдЯрд┐рдВрдХ рдмреАрдЯреАрдбрдмреНрд▓реНрдпреВ ред corefx рдХреЛ рдЕрдм рдореЛрдиреЛ 4.0.1.44 рдкрд░ рдирд┐рд░реНрдорд╛рдг рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

@akoeplinger рдирд╛рдЗрд╕ред рдЗрд╕рд╕реЗ рдореБрдЭреЗ рдХреБрдЫ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рд╣рдо рдЗрд╕реЗ рдлреНрд░реАрдмреАрдПрд╕рдбреА рдкрд░ рднреА рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВ :)

рдЕрдЪреНрдЫреЗ рдЕрдВрдХред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрджрд┐ рд╣рдо рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ corefx FreeBSD рд╡рд╛рддрд╛рд╡рд░рдг рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдмрдиреЗ, рддреЛ рд╣рдореЗрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕реЗ рдкреЛрд░реНрдЯ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд░реЛрдд рд╕реЗ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рдореИрдВрдиреЗ рд╕реБрдирд╛ рд╣реИ рдХрд┐ рдореЛрдиреЛ 4.0.1.44 рдЗрдирдореЗрдВ рд╕реЗ рдмрд╣реБрдд рд╕реЗ рдореБрджреНрджреЛрдВ рдХреЛ рдареАрдХ рдХрд░рддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдЕрднреА рддрдХ рдЗрд╕рдХреЗ рд╕рд╛рде рдЦреЗрд▓рдиреЗ рдХрд╛ рд╕рдордп рдирд╣реАрдВ рдорд┐рд▓рд╛ рд╣реИред рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдкреЛрд░реНрдЯ рдЯреАрдо рдореЗрдХрдлрд╛рдЗрд▓ рдкреЛрд░реНрдЯ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░ рд░рд╣реА рд╣реИ рдФрд░ рд╕рд╛рде рд╣реА рд╣рдо рдПрдХ рдирдП рдкреИрдЪ рдХреЗ рд╕рд╛рде рдмрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВред

12 рдЬреВрди 2015 рдХреЛ, 20:21 рдмрдЬреЗ, рд╕реНрдЯреАрдлрди рдЯреБрдм рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com рдиреЗ рд▓рд┐рдЦрд╛:

рдлреНрд░реАрдмреАрдПрд╕рдбреА рдкрд░ рдХреЛрд░рдПрдлрдПрдХреНрд╕ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдореЗрдВ рдкрд╣рд▓реА рдмрд╛рдзрд╛ рдореЛрдиреЛ рд▓рдЧрддреА рд╣реИ

рдПрдлрдбрдмреНрд▓реНрдпреВрдЖрдИрдбрдмреНрд▓реНрдпреВ, рдореБрдЭреЗ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдпрд╣ рдкрд╣рд▓реА рдмрд╛рдзрд╛ рд╣реИред рдирд┐рд░реНрдорд╛рдг рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рджреЛ рдореБрджреНрджреЗ рд╣реИрдВ:

рдлреНрд░реАрдмреАрдПрд╕рдбреА рдкрд░ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реА рдЕрд╕реЗрдВрдмрд▓реА рдХрд╛ рдирд┐рд░реНрдорд╛рдг
рдЙрди рд╡рд┐рдзрд╛рдирд╕рднрд╛рдУрдВ рдХреЛ FreeBSD рдкрд░ рдмрдирд╛рдирд╛
(1) рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ, рдФрд░ рдХреНрдпрд╛ рдореБрдЭреЗ рд╡рд┐рд╢реНрд╡рд╛рд╕ рд╣реИ рдХрд┐ рдпрд╣ рдореБрджреНрджрд╛ рдХрд┐рд╕ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИред (2) рд╣реЛрдирд╛ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рдЕрднрд╛рд╡ рдлреНрд░реАрдмреАрдПрд╕рдбреА рдкрд░ рдкреНрд░рдмрдВрдзрд┐рдд рдХреЛрдб рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдорд╣рд╛рди рдкреНрд░рдгрд╛рд▓реА рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЛ рдирд╣реАрдВ рд░реЛрдХрддрд╛ рд╣реИред

рдЖрдк рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рддрдВрддреНрд░ рд╣реИрдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЖрдк рдлрд┐рдЯ рджреЗрдЦрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдореЗрд░реА рд╕рд┐рдлрд╛рд░рд┐рд╢ (2) рдХреЗ рдмрдЬрд╛рдп (1) рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░рдиреЗ рдХреА рд╣реЛрдЧреАред

рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдореБрд╢реНрдХрд┐рд▓ рд╕реЗ рдХреЛрд░рдПрдлрдПрдХреНрд╕ рдмрд┐рд▓реНрдбрд┐рдВрдЧ-рдСрди-рд▓рд┐рдирдХреНрд╕ рдФрд░ рдмрд┐рд▓реНрдбрд┐рдВрдЧ-рдСрди-рдУрдПрд╕рдПрдХреНрд╕ рд╣реИ, рдЬреИрд╕реЗ рдХрд┐ рд╣рдорд╛рд░рд╛ рд╕реАрдЖрдИ рд╕рд┐рд╕реНрдЯрдо рд╡рд┐рдВрдбреЛрдЬрд╝ рдкрд░ рдЙрди рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдХреЗ рд▓рд┐рдП рдЕрд╕реЗрдВрдмрд▓реА рдмрдирд╛рддрд╛ рд╣реИ; рдЗрд╕рдХреЗ рдмрд╛рдж рдпрд╣ рдкрд░рд┐рдгрд╛рдореА рдЕрд╕реЗрдВрдмрд▓реА рдХреЛ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд▓рдХреНрд╖реНрдп рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкрд░ рдмрдВрдж рдХрд░ рджреЗрддрд╛ рд╣реИред

-
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ рдпрд╛ рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВред

рд╣рд╛рдВ, рдореИрдВ рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рдЕрд╕рд╣рдордд рдирд╣реАрдВ рд╣реВрдВ... Linux, OSX, рдФрд░ FreeBSD рдкрд░ _build_ corefx рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред рдореИрдВ рдХреЗрд╡рд▓ рдпрд╣ рд╕реБрдЭрд╛рд╡ рджреЗ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдХреЗ рдирдЬрд░рд┐рдП рд╕реЗ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ Linux, OSX рдФрд░ FreeBSD рдкрд░ _run_ corefx рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЕрдзрд┐рдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред :рд╡рд┐рдВрдХ: рдпрджрд┐ рджреЛрдиреЛрдВ рдкрд░ рд╕рдорд╛рдирд╛рдВрддрд░ рдореЗрдВ рдХрд╛рдо рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рддреЛ рдФрд░ рднреА рдЕрдЪреНрдЫрд╛ред

@рдШреБрдВрдЯрд▓реЗ ,
рд╕реБрдкрд░ рд╣реЛрдЧрд╛: рдХреВрд▓: рдЕрдЧрд░ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдорд╛рд░реНрдХрдбрд╛рдЙрди рдЯрд╛рд╕реНрдХ рдЪреЗрдХрд▓рд┐рд╕реНрдЯ рд╣реИ рдЬреЛ рдпрд╣ рдмрддрд╛рддреА рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдмрдЪрд╛ рд╣реИ:

- [x] task 1
- [ ] task 2
- [ ] task 3

рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдХрд░рддрд╛ рд╣реИ:

  • [ ] рдХрд╛рд░реНрдп 1
  • [] рдХрд╛рд░реНрдп 2
  • [] рдХрд╛рд░реНрдп 3

рдпрд╣ рд╢рд╛рдпрдж рджреВрд╕рд░реЛрдВ рдХреЛ рдЙрди рдХрд░рддрдмреЛрдВ рдХреЛ рд╣рд╛рд╕рд┐рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрддреНрд╕рд╛рд╣рд┐рдд рдХрд░реЗрдЧрд╛ рдФрд░ рдлреНрд░реАрдмреАрдПрд╕рдбреА рд╕рдорд░реНрдерди рдЕрдкреЗрдХреНрд╖рд╛ рд╕реЗ рдЬрд▓реНрджреА рд╣реА рдЙрддрд░реЗрдЧрд╛! рдзреВрдк рдХрд╛ рдЪрд╢реНрдорд╛:

рдореЗрд░реА рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП FreeBSD рд╕рдорд░реНрдерди рдХреЗ рд▓рд┐рдП CoreFX рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрд╛рд░реНрдп рдЖрд╡рд╢реНрдпрдХ рд╣реИрдВ:

  • [x] рдмрд┐рд▓реНрдб рдЯреВрд▓реНрд╕ рдФрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯреНрд╕ рдХреЗ рд▓рд┐рдП рдлреНрд░реАрдмреАрдПрд╕рдбреА рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдХрд╛ рдкрд░рд┐рдЪрдп рджреЗрдВред ( @josteink рдФрд░ рдореЗрд░реЗ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЧрдпрд╛, PRs dotnet/corefx#2021 рдорд░реНрдЬ рдХрд┐рдпрд╛ рдЧрдпрд╛, dotnet/corefx#2030 рдорд░реНрдЬ рдХрд┐рдпрд╛ рдЧрдпрд╛)

13 рдЕрд╕реЗрдВрдмрд▓реА рдЕрдкрдиреЗ рдЖрдк рд╕рдВрдХрд▓рд┐рдд рдирд╣реАрдВ рд╣реЛрддреА рд╣реИрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдлреНрд░реАрдмреАрдПрд╕рдбреА рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдЕрдзрд┐рдХрддрд░ рдЗрдВрдЯрд░рдСрдк рдЯреБрдХрдбрд╝реЗ рдЬреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд▓рд┐рдирдХреНрд╕/рдУрдПрд╕ рдПрдХреНрд╕ рдХреЗ рд▓рд┐рдП рдореМрдЬреВрдж рд╣реИрдВ (рдмрд┐рд▓реНрдб рдЖрдЙрдЯрдкреБрдЯ рдореЗрдВ рдШрдЯрдирд╛ рдХреЗ рдХреНрд░рдо рдореЗрдВ):

  • [x] System.Private.URI (рдХрд┐рдпрд╛ рдЧрдпрд╛, PR dotnet/corefx#2032 рдорд░реНрдЬ рдХрд┐рдпрд╛ рдЧрдпрд╛)
  • [x] System.Console (рдХрд┐рдпрд╛ рдЧрдпрд╛, PR dotnet/corefx#2031 рдорд░реНрдЬ рдХрд┐рдпрд╛ рдЧрдпрд╛)
  • [x] System.Diagnostics.Debug (рдХрд┐рдпрд╛ рдЧрдпрд╛, PR dotnet/corefx#2039 рдорд░реНрдЬ рдХрд┐рдпрд╛ рдЧрдпрд╛)
  • [x] System.Diagnostics.Process (рдЪрд░реНрдЪрд╛ dotnet/corefx#2070, PR dotnet/corefx#3257)
  • [x] System.IO.Compression.ZipFile (рдХрд┐рдпрд╛ рдЧрдпрд╛, PR dotnet/corefx#2041 рдорд░реНрдЬ рдХрд┐рдпрд╛ рдЧрдпрд╛)
  • [x] System.IO.FileSystem.DriveInfo (рдЪрд░реНрдЪрд╛ dotnet/corefx#2526, PR dotnet/corefx#2606)
  • [x] System.IO.FileSystem.Watcher (рдЪрд░реНрдЪрд╛ dotnet/corefx#2046, PR dotnet/corefx#3257)
  • [x] System.IO.FileSystem (рдХрд┐рдпрд╛ рдЧрдпрд╛, PR dotnet/corefx#2049 рдорд░реНрдЬ рдХрд┐рдпрд╛ рдЧрдпрд╛)
  • [x] System.IO.MemoryMappedFiles (рдЪрд░реНрдЪрд╛ dotnet/corefx#2527, PR dotnet/corefx#3143)
  • [x] System.IO.Pipes (рдЪрд░реНрдЪрд╛ dotnet/corefx#2528, PR dotnet/corefx#2974)
  • [x] System.Net.NameResolution (рдЪрд░реНрдЪрд╛ dotnet/corefx#2988, PR dotnet/corefx#3471)
  • [x] System.Security.Cryptography.Hashing.Algorithms (рдХрд┐рдпрд╛ рдЧрдпрд╛, PR dotnet/corefx#2040 рдорд░реНрдЬ рдХрд┐рдпрд╛ рдЧрдпрд╛)
  • [x] System.Security.SecureString (рдХрд┐рдпрд╛ рдЧрдпрд╛, PR dotnet/corefx#2039 рдорд░реНрдЬ рдХрд┐рдпрд╛ рдЧрдпрд╛)
  • [x] System.Runtime.Environment (рдбреЙрдЯрдиреЗрдЯ/рдХреЛрд░рдПрдлрдПрдХреНрд╕#1999 рджреНрд╡рд╛рд░рд╛ рдЕрд╡рд░реБрджреНрдз)
  • [x] System.Runtime.InteropServices.RuntimInformation (рдХрд┐рдпрд╛ рдЧрдпрд╛, PR dotnet/corefx#2068 рдорд░реНрдЬ рдХрд┐рдпрд╛ рдЧрдпрд╛)

рдореИрдВ рдЦреЛрд▓реЗ рдФрд░ рдорд░реНрдЬ рдХрд┐рдП рдЧрдП рдкреАрдЖрд░ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЙрд╕ рд╕реВрдЪреА рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реВрдВрдЧрд╛ред

FYI рдХрд░реЗрдВ: PR dotnet/corefx#2039 рдорд░реНрдЬ рдХрд┐рдпрд╛ рдЧрдпрд╛

рдмрд╕ рдпрд╣рд╛рдБ рд╡рдХреНрд░ рд╕реЗ рдЖрдЧреЗ рд░рд╣рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реИ... рд╣рдо System.IO.FileSystem.Watcher рдХреЛ рдХреИрд╕реЗ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛ рд░рд╣реЗ рд╣реИрдВ?

Iirc FreeBSD рдХреЗ рдкрд╛рд╕ рдХреЛрдИ inotify рдЬреИрд╕реЗ рдХрд┐ Linux рдФрд░ Windows рдХрд░рддрд╛ рд╣реИ (рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдкрд┐рдЫрд▓реА рдмрд╛рд░ рдЬрдм рдореИрдВрдиреЗ рдЬрд╛рдБрдЪ рдХреА рддреЛ рдХреЛрдИ рдбреНрд░реЙрдкрдмреЙрдХреНрд╕ рдирд╣реАрдВ рдерд╛)ред рдХреНрдпрд╛ рдпрд╣ рд╣рдорд╛рд░реЗ рд░рд╛рд╕реНрддреЗ рдореЗрдВ рдЖрдиреЗ рд╡рд╛рд▓реА рдкрд░реЗрд╢рд╛рдиреА рдХрд╛ рдПрдХ рд╕рдВрднрд╛рд╡рд┐рдд рд╕реНрд░реЛрдд рд╣реЛрдЧрд╛? рдпрд╛ рдХреНрдпрд╛ рдХрд┐рд╕реА рдХреЗ рдкрд╛рд╕ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдХреЛрдИ рд╡рд┐рдЪрд╛рд░ рд╣реИ рдХрд┐ рдЗрд╕рдХреЗ рдЖрд╕рдкрд╛рд╕ рдХреИрд╕реЗ рдХрд╛рдо рдХрд┐рдпрд╛ рдЬрд╛рдП?

рдореЗрд░рд╛ рд╕реБрдЭрд╛рд╡ рд╣реИ рдХрд┐ рд╣рдо рдЗрд╕ рд╕рдордп рдЗрд╕реЗ рд░реЛрдХ рджреЗрдВ рдФрд░ рдПрдХ PlatformNotSupportedException рдлреЗрдВрдХ рджреЗрдВ рдЬреИрд╕рд╛ рдХрд┐ рд╕реНрдЯреАрдлрди рдЯреБрдм рдиреЗ рджреВрд╕рд░реЗ рд╡рд┐рд╖рдп рдореЗрдВ рд╕реБрдЭрд╛рдпрд╛ рдерд╛ (https://github.com/dotnet/corefx/pull/2021#issuecomment-111602342)ред рддрдм рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХрдо рд╕реЗ рдХрдо рдЕрд╕реЗрдВрдмрд▓реА рдХрд╛ рдПрдХ рдкреВрд░рд╛ рд╕реЗрдЯ рд╣реЛрддрд╛ рд╣реИ рдФрд░ рд╣рдо рдЖрдЧреЗ рдХреЗ рдХрджрдореЛрдВ рдХреЛ рдЕрд╡рд░реБрджреНрдз рдХрд┐рдП рдмрд┐рдирд╛ рдЙрд╕ рд╡рд┐рд╢реЗрд╖ рдореБрджреНрджреЗ рдкрд░ рдХрд╛рдо рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦ рд╕рдХрддреЗ рд╣реИрдВред

рдХреНрдпрд╛ рдЖрдк рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ рдореБрджреНрджрд╛ рдЦреЛрд▓рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВрдЧреЗ?

рдЖрдЗрдП System.IO.FileSystem.Watcher рдЪрд░реНрдЪрд╛рдУрдВ рдХреЛ dotnet/corefx#2046 . рдкрд░ рд▓реЗ рдЬрд╛рдПрдВ

рджреЛрд╕реНрддреЛрдВ рдХреНрдпрд╛ System.Diagnostics.Process рд▓рд┐рдП рдРрд╕рд╛ рдХреЛрдИ рдЕрд╡рд░реЛрдзрдХ рд╣реИ?

@ jasonwilliams200OK рдиреЗ рдЖрдЬ рд╕реБрдмрд╣ S.RT.I.RI рдореЗрдВ FreeBSD рдХреЛ рдЬреЛрдбрд╝рд╛, рдЬрд┐рд╕реЗ рдорд░реНрдЬ рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди CheckPlatformTests рднреАрддрд░ FreeBSD рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЛ dotnet/buildtools рдЕрдкрдбреЗрдЯ рд╣реЛрдиреЗ рддрдХ рдмреИрдХ рдЖрдЙрдЯ рдХрд░рдирд╛ рдкрдбрд╝рд╛ред

@ jasonwilliams200OK рдХрд▓ рд░рд╛рдд System.Diagnostics.Process рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рдЪрд░реНрдЪрд╛ рд╣реБрдИ рдереА рдЬрд┐рд╕реЗ https://github.com/dotnet/corefx/issues/2070 рдореЗрдВ рдФрдкрдЪрд╛рд░рд┐рдХ рд░реВрдк рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

@ рдШреБрдВрдЯрд▓реЗ , рдзрдиреНрдпрд╡рд╛рджред рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЙрди рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рдкрдврд╝рддрд╛ рд╣реВрдВред System.Diagnostics.Process рдПрдХ рдореБрд╢реНрдХрд┐рд▓ рд╣реИред AFAIK, io.js рдЯреАрдо рдХреЛ FreeBSD рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдкреНрд░рдмрдВрдзрди рдХреЗ рд╕рд╛рде рд╕рдорд╛рди рдЪреБрдиреМрддрд┐рдпрд╛рдВ рдереАрдВред рдореЛрдиреЛ рдЯреАрдо рдиреЗ рд╢рд╛рдпрдж рдЗрд╕реЗ рднреБрдирд╛рдпрд╛ рд╣реИ , рддреЛ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐

System.IO.FileSystem.DriveInfo

рдЬреИрд╕рд╛ рдХрд┐ рдЧрдЯрд░ рдореЗрдВ рдЪрд░реНрдЪрд╛ рдХреА рдЧрдИ рд╣реИ, рдЗрд╕рдХреЗ рд▓рд┐рдП рдореИрдВрдиреЗ getmntinfo рдореВрд▓ рдЙрдкрдпреЛрдЧ рдХреЛ рджреЗрдЦрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА:

#include <sys/param.h>
#include <sys/ucred.h>
#include <sys/mount.h>
#include <stdio.h>

int main() {
  struct statfs *mntbuf;
  int mntsize = getmntinfo(&mntbuf, MNT_NOWAIT);

  for( int i = 0; i < mntsize; i++ ) {
    printf("%s\n", mntbuf[i].f_mntonname);
  }
}

рдЙрд╕ рдирдореВрдиреЗ рдХреЛ рдЪрд▓рд╛рдиреЗ рд╕реЗ рдпрд╣ рдЖрдЙрдЯрдкреБрдЯ рдорд┐рд▓рд╛:

$ ./a.out
/
/dev
/tmp
/usr/home
/usr/ports
/usr/src
/var/crash
/var/log
/var/mail
/var/tmp
/dev/fd
/usr/compat/linux/proc
/proc
$

рддреЛ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╡рд╣реА рдХрд░рддрд╛ рд╣реИ рдЬреЛ рд╣рдореЗрдВ рдЪрд╛рд╣рд┐рдПред рд╕рд╡рд╛рд▓ рдпрд╣ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рд╣рдореЗрдВ рдкрд░рд┐рдгрд╛рдореЛрдВ рдкрд░ рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХреА рдЫрд╛рдирдмреАрди рдХрд░рдиреА рдЪрд╛рд╣рд┐рдП?

.NET рдХреА рд╡рд┐рдВрдбреЛрдЬрд╝ рджреБрдирд┐рдпрд╛ рд╕реЗ рдЖрдиреЗ рд╡рд╛рд▓реЗ DriveInfo рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ "рдЗрд░рд╛рджреЗ" рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП, рдпрд╣ рдЕрдХреНрд╕рд░ рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдпрд╛ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рд╕реНрдерд╛рдиреЛрдВ рдХреА рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ ( C: , D: , рдЖрджрд┐)ред рд▓реЗрдХрд┐рди рдпреВрдирд┐рдХреНрд╕ рдкрджрд╛рдиреБрдХреНрд░рдорд┐рдд рдлрд╛рдЗрд▓-рд╕рд┐рд╕реНрдЯрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп, / рд▓реМрдЯрд╛рдирд╛ рдЙрди рдЬрд░реВрд░рддреЛрдВ рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реЛрдЧрд╛ред

рддреЛ рд╣рдореЗрдВ рдХреНрдпрд╛ рд▓реМрдЯрдирд╛ рдЪрд╛рд╣рд┐рдП? рдХреНрдпрд╛ рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧрд╛? рдЗрд╕реЗ рдЙрдкрдпреЛрдЧреА рднреА рдорд╛рдирдирд╛ тАЛтАЛрдЪрд╛рд╣рд┐рдП рдпрд╛ рдирд╣реАрдВ?

рд▓рд┐рдирдХреНрд╕-рд╕рдВрд╕реНрдХрд░рдг рд╕рдм рдХреБрдЫ рдбрдВрдк рдХрд░рддрд╛ рд╣реИ, рд╕рд┐рд╡рд╛рдп рдЪреАрдЬреЛрдВ рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП:

https://github.com/dotnet/corefx/blob/master/src/System.IO.FileSystem.DriveInfo/src/System/IO/DriveInfo.Linux.cs#L98 -L99

рдореИрдВрдиреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдлрд╝рд┐рд▓реНрдЯрд░ рдбрд╛рд▓рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛, рд▓реЗрдХрд┐рди рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЖрдЙрдЯрдкреБрдЯ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдХреБрдЫ рднреА рдирд╣реАрдВ рдмрджрд▓рд╛:

    if ((mntbuf[i].f_flags != MNT_IGNORE)) {
        printf("%s\n", mntbuf[i].f_mntonname);
    }

рдХреЛрдИ рд░рд╛рдп?

@josteink , рдорд╣рд╛рди рдЦреБрджрд╛рдИ! https://github.com/dotnet/corefx/issues/815#issuecomment -113825960 рдФрд░ https://github.com/dotnet/corefx/issues/1729 рдкрд░ рдЖрдзрд╛рд░рд┐рдд, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдореЗрдВ рдЗрд╕рдХреЗ рд╕рд╛рде рдЖрдиреЗ рдХреЗ рд▓рд┐рдП

рдореЗрд░реЗ рдкрд╛рд╕ OSX рдкрд░ рдЪрд▓рдиреЗ рд╡рд╛рд▓рд╛ рдПрдХ рд╕рдВрд╕реНрдХрд░рдг рд╣реИ рдЬреЛ рдкреНрд░рддреНрдпреЗрдХ рдорд╛рдЙрдВрдЯ рдкреЙрдЗрдВрдЯ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП getmntinfo рдФрд░ statfs рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдХрд┐ рд╡рд┐рдВрдбреЛрдЬ рдбреНрд░рд╛рдЗрд╡ рдЕрд╡рдзрд╛рд░рдгрд╛ рд╕реЗ рд╕рдмрд╕реЗ рддрд╛рд░реНрдХрд┐рдХ рдореИрдкрд┐рдВрдЧ рдЬреИрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИред рдореИрдВ рджреЛрдмрд╛рд░рд╛ рдЬрд╛рдВрдЪ рдХрд░реВрдВрдЧрд╛ рдХрд┐ рдУрдПрд╕рдПрдХреНрд╕ рдкрд░ рдлрд╝рдВрдХреНрд╢рди рдФрд░ рд╕рдВрд░рдЪрдирд╛ рдкрд░рд┐рднрд╛рд╖рд╛рдПрдВ рдлреНрд░реАрдмреАрдПрд╕рдбреА рдкрд░рд┐рднрд╛рд╖рд╛рдУрдВ рд╕реЗ рдореЗрд▓ рдЦрд╛рддреА рд╣реИрдВ рдФрд░ рдпрджрд┐ рд╣рд╛рдВ, рддреЛ рдУрдПрд╕рдПрдХреНрд╕ рдХреЗ рд▓рд┐рдП рдореЗрд░реА рдкреНрд░рддрд┐рдмрджреНрдзрддрд╛ рдмреАрдПрд╕рдбреА рдХреЗ рд▓рд┐рдП рднреА рдХрд╛рдо рдХрд░реЗрдЧреАред

рдореИрдВ рдЖрдкрдХреЛ рдЕрдкрдиреЗ рдкреАрдЖрд░ рдореЗрдВ рдЬреЛрдбрд╝рдирд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реВрдВрдЧрд╛ @josteink

рдмрдврд╝рд┐рдпрд╛ рд╣реИред рдЖрдЧреЗ рдмрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж рдФрд░ рдлреНрд░реАрдмреАрдПрд╕рдбреА рдХреЛ рднреА рдХреБрдЫ рдкреНрдпрд╛рд░ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред

рдореИрдВрдиреЗ рдЗрди рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдмреБрдирд┐рдпрд╛рджреА рдкрд┐рдирд╡реЛрдХ рдкрд░ рдзреНрдпрд╛рди рджрд┐рдпрд╛, рдФрд░ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдореЗрдВ рд╕рднреА рдорд╛рд░реНрд╢рд▓рд┐рдВрдЧ рдФрд░ рд░реВрдкрд╛рдВрддрд░рдг рд╕реНрд╡рдпрдВ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рдХрд┐рд╕реА рдФрд░ рдиреЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ рд╣реИ, рддреЛ рдореИрдВ рдХреМрди рдирд╣реАрдВ рдХрд╣рдиреЗ рд╡рд╛рд▓рд╛ рд╣реВрдВ? ;)

рдХреЛрдИ рдмрд╛рдд рдирд╣реАрдВ...рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореБрдЦреНрдп рдЕрдВрддрд░ рд╕рдВрд░рдЪрдирд╛ рдШреЛрд╖рдгрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдерд╛; рдЪреВрдВрдХрд┐ рд╣рдо рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдЗрд╕реЗ рдФрд░ рдЕрдзрд┐рдХ рд╣рд┐рдЯ рдХрд░реЗрдВрдЧреЗ, рдореИрдВ рдХреБрдЫ рд░рд┐рдлреИрдХреНрдЯрд░рд┐рдВрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдЬреЛ рд╣рдореЗрдВ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдкрд┐рдирд╡реЛрдХ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ред рдореИрдВ рдЕрдкрдиреЗ рдкреАрдЖрд░ рдореЗрдВ рдПрдХ рдмрдбрд╝рд╛ рд╡рд┐рд╡рд░рдг рдЬреЛрдбрд╝реВрдВрдЧрд╛ (рдЖрдЬ рдпрд╛ рдХрд▓, рдкрд░реАрдХреНрд╖рдг рдХреИрд╕реЗ рдЪрд▓рддрд╛ рд╣реИ рдЗрд╕рдХреЗ рдЖрдзрд╛рд░ рдкрд░) рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдореВрд▓ рд░реВрдк рд╕реЗ рдлреНрд░реАрдмреАрдПрд╕рдбреА рдХреЗ рд▓рд┐рдП рдкрд┐рдирд╡реЛрдХ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдФрд░ рд╕рдВрд░рдЪрдирд╛ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдЬреЛрдбрд╝реЗ (рд╣реЗрдбрд░ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдореБрдЭреЗ рдСрдирд▓рд╛рдЗрди рдорд┐рд▓рд╛) рдФрд░ рдпрд╣ рд╕рдВрдХрд▓рд┐рдд рдХрд░рддрд╛ рд╣реИред рдореИрдВрдиреЗ рдореИрдХ рдкрд░ рдЗрд╕рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ _ рдЪрд╛рд╣рд┐рдП_ (рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ ...) рдлреНрд░реАрдмреАрдПрд╕рдбреА рдкрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╕рд┐рд░реНрдл рдПрдХ рд╕рдВрд░рдЪрдирд╛ рдШреЛрд╖рдгрд╛ рдкрд░рд┐рд╡рд░реНрддрди рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдкрдХрд╛ рд▓рд╛рдн рднрд┐рдиреНрди рд╣реЛ рд╕рдХрддрд╛ рд╣реИ :)ред рдпрджрд┐ рдРрд╕рд╛ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдЖрдкрдХреЗ рдкрд╛рд╕ рдбреНрд░рд╛рдЗрд╡рдЗрдиреНрдлреЛ рдХреНрд▓рд╛рд╕ рдФрд░ рдкрд┐рдирд╡реЛрдХ 99% рд░рд╛рд╕реНрддреЗ рд╣реЛрдВрдЧреЗ рдФрд░ рдмрд╕ рдлреНрд░реАрдмреАрдПрд╕рдбреА рдмрд╛рд░реАрдХрд┐рдпреЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдХреБрдЫ рдЯреНрд╡рд┐рдХрд┐рдВрдЧ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред

рдмрд╣реБрдд рдмрдврд╝рд┐рдпрд╛ рдЦрдмрд░ @sokketред рдореИрдВрдиреЗ рдЖрдкрдХреЛ рдЙрд╕ рдорд╢реАрди рдкрд░ рдПрдХ рдЦрд╛рддрд╛ рдмрдирд╛рдпрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдкреЛрд░реНрдЯ-рдЯреАрдо рд╡рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░рддреА рд╣реИ, рдпрд╣ рдпреВрд░реЛрдкреАрдп рдЖрдзрд╛рд░рд┐рдд рд╣реИ рд▓реЗрдХрд┐рди рдпрд╣ рд╣рдореЗрд╢рд╛ рдЪрд╛рд▓реВ рд░рд╣рддрд╛ рд╣реИ рдФрд░ рдЗрд╕рдореЗрдВ рдореЗрдореЛрд░реА рдФрд░ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдкрд╛рд╡рд░ рдХрд╛ рдвреЗрд░ рд╣реЛрддрд╛ рд╣реИред рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ w/FreeBSD рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп рдХреБрдЫ рдШрд░реНрд╖рдг рдХреЛ рджреВрд░ рдХрд░рдиреЗ рдФрд░ рджреВрд░ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдЧрд╛ред

# ssh [email protected]

рдкрд╛рд╕рд╡рд░реНрдб рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдЕрдХреНрд╖рдо рд╣реИ, рдЕрдкрдиреА рдХрд┐рд╕реА рдПрдХ рдХреБрдВрдЬреА рдХрд╛ рдЙрдкрдпреЛрдЧ

@josteink рдпрд╣ рднреА рджреЗрдЦреЗрдВ: https://github.com/dotnet/corefx/issues/815 (рдореИрдХ/рдлреНрд░реАрдмреАрдПрд╕рдбреА рдХреЗ рд▓рд┐рдП System.IO.FileSystem.DriveInfo)

рдХреНрдпрд╛ рдХреЛрдИ рдЕрдкрдбреЗрдЯ рд╣реИрдВ? рдХреНрдпрд╛ рдХрд┐рд╕реА рдиреЗ рд╢реЗрд╖ рдЕрд╕реЗрдВрдмрд▓рд┐рдпреЛрдВ рдХреЛ рдлреНрд░реАрдмреАрдПрд╕рдбреА рдкрд░ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛?

рдореИрдВ рдЕрдкрдиреЗ рдирдП рдмрдЪреНрдЪреЗ рдХреЛ рджреЗрдЦрдиреЗ рдореЗрдВ рд╡реНрдпрд╕реНрдд рд╣реВрдВ, рдореЗрд░реЗ рдкрд╛рд╕ рдХрд╣реАрдВ рднреА рдХреЛрдбрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рд╕рдордп рдирд╣реАрдВ рд╣реИред

рдореБрдЭреЗ рд╕рдВрджреЗрд╣ рд╣реИ рдХрд┐ рдЗрд╕ рддрд░рд╣ рдХреЗ рдореБрджреНрджреЗ рдирд┐рд╖реНрдХреНрд░рд┐рдп рдкрдбрд╝реЗ рд╣реИрдВ рдФрд░ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХреБрдЫ рд╣рдж рддрдХ рдЗрд╕рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░рддрд╛ рд╣реИред

рдЙрди рд╡рд┐рдзрд╛рдирд╕рднрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЬреЛ рдЕрднреА рднреА рд▓рд╛рдЧреВ рдирд╣реАрдВ рд╣реБрдИ рд╣реИрдВ, рдореИрдВрдиреЗ рдКрдкрд░ рджреА рдЧрдИ рд╕реВрдЪреА рдореЗрдВ "рдХреИрд╕реЗ рд▓рд╛рдЧреВ рдХрд░реЗрдВ" -рдореБрджреНрджреЗ рдХреЛ рдЬреЛрдбрд╝рд╛ред рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдЗрд╕рд╕реЗ рдЗрди рд╢реЗрд╖ рд╡рд┐рдзрд╛рдирд╕рднрд╛рдУрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рдкреНрд░рдпрд╛рд╕ рдореЗрдВ рд╕рдордиреНрд╡рдп рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдорд┐рд▓реЗрдЧреАред

рдореБрдЭреЗ рдпрд╣ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рд╣рдордиреЗ рдХреНрдпрд╛ рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рдХрд╣рд╛рдВ рдХрд┐рдпрд╛ рд╣реИ, рдЗрд╕ рдкрд░ рдирдЬрд╝рд░ рд░рдЦрдиреЗ рдореЗрдВ рдореБрдЭреЗ рдХрдард┐рдирд╛рдЗрдпрд╛рдБ рд╣реЛ рд░рд╣реА рдереАрдВ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдПрдХ рдЕрдЪреНрдЫрд╛ рдХрджрдо рд╣реИред рдмрд╣реБрдд рдмрдврд╝рд┐рдпрд╛ :)

рдореИрдВ рдЗрд╕реЗ рдХрд╣рд╛рдВ рдвреВрдВрдвреВрдВ? рд╢реЗрд╖ рд╡рд┐рдзрд╛рдирд╕рднрд╛рдУрдВ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрднрд╛рд░реА рд╣реЛрдВрдЧреЗ
рдХреНрд░рд┐рдпрд╛рдиреНрд╡рд┐рдд рдХрд┐рдпрд╛ред

25/07/15 22:10 рдХреЛ, рдЬрд╛рди рд╣реЗрдиреНрдХреЗ рдиреЗ рд▓рд┐рдЦрд╛:

рдЙрди рд╡рд┐рдзрд╛рдирд╕рднрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЬреЛ рдЕрднреА рднреА рд▓рд╛рдЧреВ рдирд╣реАрдВ рд╣реБрдИ рд╣реИрдВ, рдореИрдВрдиреЗ "рдХреИрд╕реЗ" рд▓рд┐рдВрдХ рдХрд┐рдпрд╛ рд╣реИ
рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП"-рдЙрдкрд░реЛрдХреНрдд рд╕реВрдЪреА рдореЗрдВ рдЬрд╛рд░реА рдХрд░реЗрдВред рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ рдХрд┐ рд╕рдордиреНрд╡рдп рдореЗрдВ рдорджрдж рдорд┐рд▓реЗрдЧреА
рдЗрди рд╢реЗрд╖ рд╡рд┐рдзрд╛рдирд╕рднрд╛рдУрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ред

-
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ рдпрд╛ рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/dotnet/corefx/issues/1626#issuecomment -124838781ред

рдпрд╣ рдЯрд┐рдкреНрдкрдгреА рдпрд╣рд╛рдБ: https://github.com/dotnet/corefx/issues/1626#issuecomment -111800540

рдореИрдВ рдЕрднреА рджреЗрд╢реА рд╢рд┐рдо рдХреЗ рд╕рдорд╛рдкреНрдд рд╣реЛрдиреЗ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдХреНрдпреЛрдВрдХрд┐ рдЗрди рд╡рд┐рдзрд╛рдирд╕рднрд╛рдУрдВ рдХреЛ рдлреНрд░реАрдмреАрдПрд╕рдбреА рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХрд╛рдВрд╢ рдХрд╛рдо рдЗрди рдкрд░ рд▓реЗрдирд╛ рдЪрд╛рд╣рд┐рдПред

@nguerrera рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рдЖрдк рд╣рдореЗрдВ рдкреНрд░рдЧрддрд┐ рдкрд░ рдкреЛрд╕реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред :)

рдЕрджреНрдпрддрди:
@janhenke рдиреЗ рдкреБрд╖реНрдЯрд┐ рдХреА рдХрд┐ https://github.com/dotnet/corefx/pull/2974 рд╡рд┐рд▓рдп рдХреЗ рд╕рд╛рде, System.IO.Pipes FreeBSD рдкрд░ рдмрдирддрд╛ рд╣реИ! рдзреВрдк рдХрд╛ рдЪрд╢реНрдорд╛:

рдЕрджреНрдпрддрди:
dotnet/corefx#2527 рдмрдВрдж, System.IO.MemoryMappedFiles рдлреНрд░реАрдмреАрдПрд╕рдбреА рдкрд░ рдмрдирддрд╛ рд╣реИред
рдкреБрд╖реНрдЯрд┐ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж @janhenke !

рд╢рд┐рдо рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдиреАрдЪреЗ рдЖрддрд╛ рд╣реИ рдХрд┐ рд╢рд┐рдо рдлреНрд░реАрдмреАрдПрд╕рдбреА рдкрд░ рд╕рдВрдХрд▓рд┐рдд рд╣реИред рд╢реБрдХреНрд░ рд╣реИ рдХрд┐ рдЗрд╕рд╕реЗ рдЬреАрд╡рди рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред :)

dotnet/corefx#3257 рд╣рдореЗрдВ System.Diagnostic.Process рдФрд░ System.IO.FileSystem.Watcher рджреЛрдиреЛрдВ рдХреЛ рд▓рд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬрд┐рд╕рд╕реЗ рдХреЗрд╡рд▓ System.Net.NameResolution рдЕрдирд╕реБрд▓рдЭрд╛ рд░рд╣ рдЬрд╛рдПред (рдкреАрдЖрд░ рдХреЗ рд╡рд┐рд▓рдп рдФрд░ рдлреНрд░реАрдмреАрдПрд╕рдбреА рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдореИрдВ рдЙрд▓реНрд▓рд┐рдЦрд┐рдд рджреЛ рд╡рд┐рдзрд╛рдирд╕рднрд╛рдУрдВ рдХреА рдЬрд╛рдВрдЪ рдХрд░реВрдВрдЧрд╛)

dotnet/corefx#3471 рдХреЛ рд╣рдореЗрдВ System.Net.NameResolution рд▓рд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдКрдкрд░ рджреА рдЧрдИ рд╕реВрдЪреА рдХреЛ рдкреВрд░рд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

dotnet/corefx#3471 рдЕрднреА рдорд░реНрдЬ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ :)

@sokket , рдЕрдкрдбреЗрдЯ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдореИрдВрдиреЗ рдЗрд╕ рдЧрд╛рдЗрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдлреНрд░реАрдмреАрдПрд╕рдбреА рдкрд░ рдорд╛рд╕реНрдЯрд░ (f467911) рдмрдирд╛рдпрд╛: https://gist.github.com/jasonwilliams200OK/6efa7907e66275df2d24ред рд╡рд░реНрддрдорд╛рди рдЕрд╡рд░реЛрдзрдХ https://github.com/dotnet/buildtools/issues/292 рд╣реИ, рдЬреЛ рдЕрдкрд╕реНрдЯреНрд░реАрдо рдореЗрдВ рддрдп рд╣реИ рд▓реЗрдХрд┐рди рдЕрдЧрд▓реЗ рдмрд┐рд▓реНрдбрдЯреВрд▓ рд░реЛрд▓-рдЖрдЙрдЯ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд░рд╣рд╛ рд╣реИред :)

рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ: рдбреЙрдЯрдиреЗрдЯ/рдмрд┐рд▓реНрдбрдЯреВрд▓ # 292 рдХреЗ рд▓рд┐рдП рдлрд┐рдХреНрд╕ рдХреЗ рд╕рд╛рде рдирдП рдмрд┐рд▓реНрдбрдЯреВрд▓ рдХреЛрд░рдПрдлрдПрдХреНрд╕ рдорд╛рд╕реНрдЯрд░ рдореЗрдВ рдЙрддрд░реЗ рд╣реИрдВред рдмрд┐рд▓реНрдбрдЯреВрд▓ рд╕реЗ рдЕрдЧрд▓рд╛ рд╕реНрдЯреЙрдкрд░ рд╣реИ https://github.com/dotnet/buildtools/issues/300 : рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рд▓рд╛рдкрддрд╛ рдУрдПрд╕ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЙрдкрдХрд░рдгред

@janhenke , рдЖрдкрдиреЗ System.Diagnostics.Process (#2070) рдФрд░ System.IO.FileSystem.Watcher (#2046) рдХреЛ рд╣реЛ рдЧрдпрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд рдХрд┐рдпрд╛ рд╣реИ; рд▓реЗрдХрд┐рди рд╡реЗ рди рддреЛ рд▓рд╛рдЧреВ рд╣реЛрддреЗ рд╣реИрдВ рдФрд░ рди рд╣реА рд╡реЗ рдлреНрд░реАрдмреАрдПрд╕рдбреА рдкрд░ рд╕рдВрдХрд▓рд┐рдд рд╣реЛрддреЗ рд╣реИрдВред рдХреНрдпрд╛ рдЖрдкрдиреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдкреНрд░рдмрдВрдзрд┐рдд рдХреЛрдб рд╕рдВрдХрд▓рд┐рдд рдХрд░рдХреЗ рд╕реВрдЪреА рдХреЛ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд┐рдпрд╛ рд╣реИ?

60c78da3c918b0d256cc1f878de06d351dbe3342 ( msbuild.log рджреЗрдЦреЗрдВ) рдХреЗ рд╕рд╛рде рдореЗрд░реЗ рд╣рд╛рд▓рд┐рдпрд╛ рдЕрдиреБрднрд╡ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЕрд╕реЗрдВрдмрд▓реА рд╕рдВрдХрд▓рд┐рдд рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ:

  • System.Diagnostics.Process
  • System.Diagnostics.ProcessManager
  • System.Diagnostics.ThreadInfo
  • System.IO.FileSystemWatcher
  • System.Net.SocketAddress _(рдареАрдХ рд╣реИ, рдпрд╣ рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рдерд╛)_

рдЬрд╣рд╛рдБ рддрдХ рдореБрдЭреЗ рдпрд╛рдж рд╣реИ рдореИрдВрдиреЗ рд╕рдВрдмрдВрдзрд┐рдд рд╢рд┐рдо рд╕рдВрдХрд▓рди рдХреЛ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд┐рдпрд╛ рд╣реИред рдЪреВрдВрдХрд┐ рдкреНрд░рдмрдВрдзрд┐рдд рдХреЛрдб рдлреНрд░реАрдмреАрдПрд╕рдбреА рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХреЛрдб рд╕реЗ рдореБрдХреНрдд рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЖрдк рдЬрд┐рди рд╢рд┐рдореЛрдВ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд░рддреЗ рд╣реИрдВ, рдЙрдиреНрд╣реЗрдВ рдКрдкрд░ рд▓рд┐рдВрдХ рдХрд┐рдП рдЧрдП рдкреАрдЖрд░ рдХреЗ рд╕рд╛рде рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдерд╛ред
рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдмреАрдЪ рдореЗрдВ рдПрдХ рдкреВрд░реНрдг рд╕рдВрдХрд▓рди рднреА рдЪрд▓рд╛рдпрд╛ рд╣реИред рдХрдо рд╕реЗ рдХрдо System.Diagnostics.ThreadInfo рдФрд░ System.IO.FileSystemWatcher рдиреЗ рд╕рдВрдХрд▓рди рдХрд┐рдпрд╛ред рддреЛ рдХреБрдЫ рддреЛ рд╡рд╛рдкрд╕ рдЖ рдЧрдпрд╛ рд╣реЛрдЧрд╛ред

рдЖрдк рдЬрд┐рди рд╢рд┐рдореЛрдВ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд░рддреЗ рд╣реИрдВ, рдЙрдиреНрд╣реЗрдВ рдКрдкрд░ рд▓рд┐рдВрдХ рдХрд┐рдП рдЧрдП рдкреАрдЖрд░ рдХреЗ рд╕рд╛рде рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдерд╛ред

рджрд░рдЕрд╕рд▓, рдкреАрдЖрд░ https://github.com/dotnet/corefx/pull/3257 рд╢рд┐рдо рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдирд╣реАрдВ рд╣реИред рдкреНрд░рдмрдВрдзрд┐рдд рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ (рдкреБрд░рд╛рдиреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг) рдХреЗ рднреАрддрд░ рдЕрднреА рднреА рдХреБрдЫ рдкреАрдПрдПрд▓ рдХреЛрдб рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рдмрдВрдзрд┐рдд рдЕрд╕реЗрдВрдмрд▓реА рдмрдирд╛рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред

рджрд░рдЕрд╕рд▓, PR dotnet/corefx#3257 рд╢рд┐рдо рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдирд╣реАрдВ рд╣реИред

рдореИрдВ рдЕрд╕рд╣рдордд рд╣реВрдВред рдпрд╣ P/Invoke рдХреЛрдб рдХреЛ System.Native shim рдореЗрдВ рд░рд┐рдлреИрдХреНрдЯрд░рд┐рдВрдЧ рдХрд░ рд░рд╣рд╛ рд╣реИред рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдКрдкрд░ рд╕рдВрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рд╣реИ, рдореИрдВ рдмреАрдЪ рдореЗрдВ рд╕рдВрдХрд▓рд┐рдд рдХрдо рд╕реЗ рдХрдо рдХреБрдЫ рд╡рд┐рдзрд╛рдирд╕рднрд╛рдУрдВ рдХреЛ рдпрд╛рдж рдХрд░ рд░рд╣рд╛ рд╣реВрдВред

рдореИрдВ рдЕрд╕рд╣рдордд рд╣реВрдВ

https://github.com/dotnet/corefx/pull/3257/files : .Unix.cs рдФрд░ .Linux.cs рд▓рд┐рдП System.Diagnostics. рдХреЗ рдЙрджрд╛рд╣рд░рдг рджреЗрдЦреЗрдВред рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ .OSX.cs рдЕрдЫреВрддрд╛ рд╣реИред

рдпрд╣ P/Invoke рдХреЛрдб рдХреЛ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рд░рд┐рдлреИрдХреНрдЯрд░рд┐рдВрдЧ рдХрд░ рд░рд╣рд╛ рд╣реИред рдиреЗрдЯрд┐рд╡ рд╢рд┐рдо

рд╣рд╛рдВ рдпрд╣ System.Native рддрд╣рдд рдХреБрдЫ рд╕рд╛рдорд╛рдиреНрдп рд╕рд╣рд╛рдпрдХреЛрдВ рдХреЛ рджреЛрдмрд╛рд░рд╛ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рджреЗрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди System.Diagnostics.* рдПрдЯ рдЕрд▓ рдирд╣реАрдВред

рдпрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдХрд┐ рдЬрдм рдпреЗ рдЕрд╕реЗрдВрдмрд▓реА рдХреЗрд╡рд▓ P/System.* libs рдХрд╛ рдЖрд╣реНрд╡рд╛рди рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддрдм рднреА рдЙрдирдореЗрдВ рд╕реЗ рдХреБрдЫ рдХреЗ рд▓рд┐рдП FreeBSD рдХрд╛рд░реНрдп рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ, рдЬреИрд╕реЗ System.Diagnostics.Process рдФрд░ System.IO.FileSystem.Watcherред рд╡реЗ рд▓рд┐рдирдХреНрд╕ рдФрд░ рдУрдПрд╕ рдПрдХреНрд╕ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдФрд░ рд╣рдо рдореВрд▓ рд╢рд┐рдо рдХреЗ рдкреАрдЫреЗ рдЕрдореВрд░реНрдд рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдирд╣реАрдВ рдмрдирд╛рддреЗ рд╣реИрдВред рд╢рд┐рдо рдХрд╛ рд▓рдХреНрд╖реНрдп рдпреВрдирд┐рдХреНрд╕ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рдмрдВрдзрд┐рдд рдмрд╛рдЗрдирд░реА рдХреЗ рд╕рд╛рде рд╕рдорд╛рдкреНрдд рдирд╣реАрдВ рд╣реЛрдирд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдХрд╛рдо рд╕реЗ рдЖрдиреЗ рдкрд░ рдПрдХ рдмрд╣реБрдд рдЕрдЪреНрдЫреА рд╕рдВрдкрддреНрддрд┐ рд╣реИ; рдкреНрд░рд╛рдердорд┐рдХ рд▓рдХреНрд╖реНрдп рдПрдмреАрдЖрдИ рдорддрднреЗрджреЛрдВ рд╕реЗ рдмрдЪрдирд╛ рд╣реИ рдЬреЛ рдирд╛рдЬреБрдХрддрд╛ рдХрд╛ рдХрд╛рд░рдг рдмрдирддреЗ рд╣реИрдВред рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдХрдо рд╕реЗ рдХрдо рдХреБрдЫ рдЕрд╕реЗрдВрдмрд▓реА рдореЗрдВ рд▓рд┐рдирдХреНрд╕/рдУрдПрд╕ рдПрдХреНрд╕ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдмрд╛рдЗрдирд░реА рдЬрд╛рд░реА рд░рд╣реЗрдЧреА, рдЬрд╣рд╛рдВ рдПрдХ рдлреНрд░реАрдмреАрдПрд╕рдбреА рдмрд╛рдЗрдирд░реА рдХреА рднреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред

FYI рдХрд░реЗрдВ, System.Diagnostics.ProcessManager рдирд╛рдо рдХреА рдХреЛрдИ рдХреЛрд░рдПрдлрдПрдХреНрд╕ рдЕрд╕реЗрдВрдмрд▓реА рдирд╣реАрдВ рд╣реИ,
System.Diagnostics.ThreadInfo,
System.IO.FileSystemWatcher, рдпрд╛
System.Net.SocketAddressред рд╡реЗ рдЕрдиреНрдп рд╡рд┐рдзрд╛рдирд╕рднрд╛рдУрдВ рдореЗрдВ рдкреНрд░рдХрд╛рд░ рд╣реИрдВред

рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдХрдо рд╕реЗ рдХрдо рдХреБрдЫ рдЕрд╕реЗрдВрдмрд▓реА рдореЗрдВ рд▓рд┐рдирдХреНрд╕/рдУрдПрд╕ рдПрдХреНрд╕ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдмрд╛рдЗрдирд░реА рдЬрд╛рд░реА рд░рд╣реЗрдЧреА, рдЬрд╣рд╛рдВ рдПрдХ рдлреНрд░реАрдмреАрдПрд╕рдбреА рдмрд╛рдЗрдирд░реА рдХреА рднреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред

рдХреНрдпрд╛ рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реИ рдХрд┐ рдЬрдм рднреА рд╕реЛрд▓рд╛рд░рд┐рд╕ рдФрд░ рдЧреИрд░-рдЧреНрд▓рд┐рдмреИрдХ (musl рдФрд░ ╬╝libc) рд▓рд┐рдирдХреНрд╕ рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдЕрд▓реНрдкрд╛рдЗрди рд╕рдорд░реНрдерди рдЖрдПрдВрдЧреЗ, рддреЛ рдЙрдирдХреЗ рдкрд╛рд╕ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдмрд╛рдпрдиреЗрд░рд┐рдЬрд╝ рд╣реЛрдВрдЧреЗ? рдФрд░ рдлрд┐рд░ рд╡рд┐рднрд┐рдиреНрди рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдПрдЖрд░рдПрдо, рдПрдордЖрдИрдкреАрдПрд╕, рдЖрд░рдЖрдИрдПрд╕рд╕реА, рдПрд╕рдкреАрдПрдЖрд░рд╕реА рдЗрддреНрдпрд╛рджрд┐ рдХреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╕реНрддрд░ рдХреА рдЕрд▓рдЧрд╛рд╡ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА?

рдХреНрдпрд╛ рдЙрдиреНрд╣реЗрдВ POSIX рдЗрдВрдЯрд░рдлрд╝реЗрд╕ / sys- рдХреЙрд▓ рдореЗрдВ рдЬрд┐рддрдирд╛ рд╕рдВрднрд╡ рд╣реЛ рд╕рдХреЗ рдПрдХрд╛рдЧреНрд░ рдХрд░рдирд╛ рдФрд░ рдПрдХ рд╣реА рдмрд╛рдЗрдирд░реА рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдХреЙрдиреНрдлрд┐рдЧ (рд╕реАрдПрдордХреЗ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрдВрддрд░ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдирд╛ (рдЬрдм рддрдХ рдХрд┐ рдпрд╣ рдЖрдХрд╛рд░/рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИ) рдЕрд╕реЗрдВрдмрд▓реА рдорд╣рддреНрд╡рдкреВрд░реНрдг рд░реВрдк рд╕реЗ)? рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдЗрд╕реЗ рд╕рдордЭ рд▓рд┐рдпрд╛ рд╣реИ, System.Native.so рдмрд╛рдЗрдирд░реА рдореЗрдВ рдЕрдиреНрдп рд╡рд┐рд╢рд┐рд╖реНрдЯ System.*.Native.so рд▓рд┐рдП рд╕рд╛рдорд╛рдиреНрдп рд╕рд╣рд╛рдпрдХ рд╣реИ рдЬреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЪрд┐рдВрддрд╛рдУрдВ рдХреЗ рд╕рд┐рджреНрдзрд╛рдВрдд рдЕрдиреБрдкрд╛рд▓рди рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд▓рдЧрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдпрд╣ System.Net.Http.FreeBSD.ARM.Native.so рдпрд╛ System.Net.Http.Solaris.SPARC.so , рддреЛ рдпрд╣ "рдмрд╣реБрдд рдЕрдзрд┐рдХ рдЪрд▓рдиреЗ рд╡рд╛рд▓реЗ рд╣рд┐рд╕реНрд╕реЛрдВ" рдЖрджрд┐ рдХреЗ рд╕рд╛рде рдХрд╛рдлреА рдЕрдкреНрд░рдмрдВрдзрдиреАрдп рд╣реЛрдЧрд╛ред

рдирд╛рдо рдХреА рдХреЛрдИ рдХреЛрд░рдПрдлрдПрдХреНрд╕ рдЕрд╕реЗрдВрдмрд▓реА рдирд╣реАрдВ рд╣реИ

рдЕрдЪреНрдЫреА рдмрд╛рддред рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдордПрд╕рдмрд┐рд▓реНрдб рд▓реЙрдЧ рдФрд░ .OSX.cs рдФрд░ .Linux.cs рдлрд╛рдЗрд▓реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рд╡рд┐рдлрд▓рддрд╛рдУрдВ рдХреЗ рдЙрджрд╛рд╣рд░рдгреЛрдВ рд╕реЗ рдЬрд╛ рд░рд╣рд╛ рдерд╛ред :рдореБрд╕реНрдХреБрд░рд╛рдУ:

рдХреНрдпрд╛ рдЙрдиреНрд╣реЗрдВ рдпрдерд╛рд╕рдВрднрд╡ POSIX рдЗрдВрдЯрд░рдлрд╝реЗрд╕ / sys- рдХреЙрд▓ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рдорддрд▓рдм рдирд╣реАрдВ рд╣реЛрдЧрд╛

рд╣рдо рдХрд░ред рдЖрдк POSIX рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рджреЗрдЦрдиреЗ рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рдХреИрд╕реЗ рджреЗрддреЗ рд╣реИрдВ? рдЖрдк рдХреИрд╕реЗ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рд╣рдо POSIX рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЧрдгрдирд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд░рддреЗ рд╣реИрдВ?

рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдпрд╣ System.Net.Http.FreeBSD.ARM.Native.so рдпрд╛ System.Net.Http.Solaris.SPARC.so рдореЗрдВ рддрдмреНрджреАрд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдпрд╣ "рдмрд╣реБрдд рдЕрдзрд┐рдХ рдЪрд▓рддреА рднрд╛рдЧреЛрдВ" рдЖрджрд┐ рдХреЗ рд╕рд╛рде рдХрд╛рдлреА рдЕрд╕рд╣рдиреАрдп рд╣реЛрдЧрд╛ред

рдореИрдВ рдпрд╣ рдирд╣реАрдВ рд╕рдордЭрддрд╛ред рдореВрд▓ .so рдлрд╝рд╛рдЗрд▓реЛрдВ рдХрд╛ рд╕рдВрдкреВрд░реНрдг рдмрд┐рдВрджреБ рдпрд╣ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдкреНрд░рддреНрдпреЗрдХ рд▓рдХреНрд╖реНрдп рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ-рдЕрд▓рдЧ рдореВрд▓ рдмрд╛рдпрдиреЗрд░рд┐рдЬрд╝ рдорд┐рд▓рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЙрдирдХрд╛ рдирд╛рдо System.Whatever.Platform.ext, рдмрд╕ System.Whatever.ext; рдЬреЛ рд╕рдВрдХрд▓рдХ рдХреЛ рд╕рдорд╛рди рд╕рд╛рдорд╛рдиреНрдп рддрд░реНрдХ рд▓реЗрдиреЗ рдФрд░ рдЙрд╕ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкрд░рд┐рднрд╛рд╖рд╛рдУрдВ рдХреЗ рд╕рд╛рде рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдпрд╣ рдХреЗрд╡рд▓ рддрднреА рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдЬрдм рдкреНрд░рддреНрдпреЗрдХ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкрд░ рд╕рдорд╛рди рдкреНрд░рддреАрдХ рдореМрдЬреВрдж рд╣реЛрдВ; рд╕рдВрдХрд▓рдХ рдЬрд╛рджреБрдИ рд░реВрдк рд╕реЗ inotify рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд▓рд┐рдЦреЗ рдЧрдП рдХреЛрдб рдХреЛ рдирд╣реАрдВ рд▓реЗрддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рдХрд┐рд╕реА рдЕрдиреНрдп рд╕рд┐рд╕реНрдЯрдо рд╕реЗ рдлрд╝рд╛рдЗрд▓ рджреЗрдЦрдиреЗ рд╡рд╛рд▓реЗ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░ рд╣рдордиреЗ рдорд╛рдирдХреАрдХреГрдд рдПрдкреАрдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдбрд╝реА рдореЗрд╣рдирдд рдХреА рд╣реИ рдЬрд╣рд╛рдВ рдпрд╣ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЙрди рдЬрдЧрд╣реЛрдВ рдХреЗ рд▓рд┐рдП рдЬрд╣рд╛рдВ рдРрд╕реЗ рдПрдкреАрдЖрдИ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИрдВ рдпрд╛ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдорд╛рдирдХреАрдХреГрдд рдирд╣реАрдВ рд╣реИрдВ рдпрд╛ рдЬрд╣рд╛рдВ рдмреЗрд╣рддрд░ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо-рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕рдорд╛рдзрд╛рди рд╣реИрдВ, рд╣рдордиреЗ рдмреЗрд╣рддрд░ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рд╣реИ- рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕рдорд╛рдзрд╛рди, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд▓рд┐рдирдХреНрд╕ рдкрд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЧрдгрдирд╛ рдХреЗ рд▓рд┐рдП procfs рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛, рд▓рд┐рдирдХреНрд╕ рдкрд░ рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдХреЛ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЗрдиреЛрдЯрд┐рдлрд╛рдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛, рдЖрджрд┐ред рдХреНрдпрд╛ рдРрд╕рд╛ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо-рд╡рд┐рд╢рд┐рд╖реНрдЯ рддрд░реНрдХ рдкреНрд░рдмрдВрдзрд┐рдд рдпрд╛ рджреЗрд╢реА рдХреЛрдб рдореЗрдВ рд░рд╣рддрд╛ рд╣реИ, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЖрд╕рд╛рдиреА рд╕реЗ рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рд╕реЗ рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛- рдЕрддрд┐рд░рд┐рдХреНрдд-рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдкрд░рд┐рдкреНрд░реЗрдХреНрд╖реНрдп, рдЬреИрд╕реЗ рдХрд┐ рдЬрдм рд╡реЗ рдирдП рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдЖрддреЗ рд╣реИрдВ, рдпрджрд┐ рдореМрдЬреВрджрд╛ рдПрдкреАрдЖрдИ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдореМрдЬреВрджрд╛ рд╕рдорд╛рдзрд╛рди рднреА рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдпрджрд┐ рдРрд╕рд╛ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдЙрд╕ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдХреЗ рд▓рд┐рдП рдПрдХ рдирдпрд╛ рд╕рдорд╛рдзрд╛рди рд▓рд┐рдЦрдирд╛ рд╣реЛрдЧрд╛ред рдФрд░ рдЗрд╕рд▓рд┐рдП рд╣рдордиреЗ рдкреНрд░рдмрдВрдзрд┐рдд рдХреЛрдб рдореЗрдВ рдЬрд┐рддрдирд╛ рд╕рдВрднрд╡ рд╣реЛ рдЙрддрдирд╛ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рд╣реИ, рдХреЗрд╡рд▓ 1:1 рд╢рд┐рдо рдХреЗ рд▓рд┐рдП рджреЗрд╢реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдЬреЛ рдЙрд╕ рдкреНрд░рдмрдВрдзрд┐рдд рдХреЛрдб рдХреЛ рдФрд░ рдЕрдзрд┐рдХ рдкреЛрд░реНрдЯреЗрдмрд▓ рдмрдирд╛рддреЗ рд╣реИрдВ рдЬрд╣рд╛рдВ рд▓рдХреНрд╖реНрдп рдПрдкреАрдЖрдИ рдкреЛрд░реНрдЯреЗрдмрд▓ рд╣реЛрддреЗ рд╣реИрдВред рд╣рдордиреЗ рдЫреЛрдЯреЗ рд╡рд┐рд╡рд░рдгреЛрдВ рдкрд░ рдкреНрд░рдХрд╛рд╢ рдбрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдореВрд▓ рдХреЛрдб рдореЗрдВ #ifdefs рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рд╣реИ, рдЬрд╣рд╛рдВ рдпрд╣ рдПрдкреАрдЖрдИ рдХрд┐рд╕ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкрд░ рдХрд┐рд╕реА рдЕрдиреНрдп рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкрд░ рдЙрд╕ рдПрдкреАрдЖрдИ рдХреЗ рдХрд╛рдлреА рдХрд░реАрдм рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд▓рдЧ рд╣реЛрдиреЗ рдХреЗ рдХрд╛рд░рдг рд╕рдВрдкреВрд░реНрдг рд╕рдорд╛рдзрд╛рдиреЛрдВ рддрдХ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ; рдЙрд╕ рд╕рдордп рдЕрдореВрд░реНрдд рдкреНрд░рдмрдВрдзрд┐рдд рдПрдкреАрдЖрдИ рдмрди рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рд╣рдо рдкреНрд░рддреНрдпреЗрдХ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрд░рддреЗ рд╣реИрдВред

рдпрджрд┐ рдлреНрд░реАрдмреАрдПрд╕рдбреА рдЗрдиреЛрдЯрд┐рдлрд╛рдИ рдХреЛ рд▓рд┐рдирдХреНрд╕ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдЬрд╛рдЧрд░ рдХрд░рддрд╛ рд╣реИ рдпрд╛ рдпрджрд┐ рдпрд╣ рдУрдПрд╕ рдПрдХреНрд╕ рдХреЗ рд░реВрдк рдореЗрдВ рдЗрд╡реЗрдВрдЯрд╕реНрдЯреНрд░реАрдо рдХреЛ рдЙрдЬрд╛рдЧрд░ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдЬрдм рд╡реЗ рдУрдПрд╕ рдПрдкреАрдЖрдИ рд╢рд┐рдо рдХреЗ рдкреАрдЫреЗ рд╣реЛрддреЗ рд╣реИрдВ, рддреЛ рд╢рд┐рдо рдХреЛ рдЖрд╕рд╛рдиреА рд╕реЗ рдлреНрд░реАрдмреАрдПрд╕рдбреА рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдЙрд╕реА рдкреНрд░рдмрдВрдзрд┐рдд рдмрд╛рдЗрдирд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдлреНрд░реАрдмреАрдПрд╕рдбреА рдкрд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрджрд┐ рдлреНрд░реАрдмреАрдПрд╕рдбреА рдРрд╕реЗ рдПрдкреАрдЖрдИ рдХреЛ рдЙрдЬрд╛рдЧрд░ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдХреБрдЫ рдлрд╛рдЗрд▓ рджреЗрдЦрдиреЗ рдХреЗ рд╕рдорд╛рдзрд╛рди рдХреЗ рд╕рд╛рде System.IO.FileSystem.Watcher рдХрд╛ рдПрдХ рдХрд╕реНрдЯрдо рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд▓рд┐рдЦрдирд╛ рд╣реЛрдЧрд╛ рдЬреЛ рдлреНрд░реАрдмреАрдПрд╕рдбреА рдкрд░ рдЙрдкрд▓рдмреНрдз рд╣реИред System.Diagnostics.Process рдХреЗ рд▓рд┐рдП рд╕рдорд╛рди рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБред рдлрд╝рд╛рдЗрд▓ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдб рд╢рд┐рдо рдореЗрдВ рд╣реИ рдпрд╛ рдирд╣реАрдВ, рдЗрд╕рдХрд╛ рдЙрд╕ рдкрд░ рдмрд╣реБрдд рдХрдо рдкреНрд░рднрд╛рд╡ рдкрдбрд╝рддрд╛ рд╣реИред

рдЗрд╕ рддрд░рд╣ рдХреЗ рд╕рднреА рджреЗрд╢реА рдПрдкреАрдЖрдИ рдХреЛ рдЕрдВрддрддрдГ рд╢рд┐рдо рдХреЗ рдкреАрдЫреЗ рд▓реЗ рдЬрд╛рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рд╣реИред рд▓реЗрдХрд┐рди рд╡реЗ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рд╕реЗ рдмрд╣реБрдд рджреВрд░ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рдмрд╣реБрдд рдкреЛрд░реНрдЯреЗрдмрд▓ рдирд╣реАрдВ рд╣реИрдВ, рдФрд░ рдЗрд╕рд▓рд┐рдП рдЖрдкрдиреЗ рд╣рдореЗрдВ libc рд╕реЗ рдПрдкреАрдЖрдИ рд╕реЗ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реБрдП рджреЗрдЦрд╛ рд╣реИ рдЬреЛ рд╣рд░ рдЬрдЧрд╣ рдЙрдЬрд╛рдЧрд░ (рдпрд╛ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ)ред

рдЖрдк POSIX рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рджреЗрдЦрдиреЗ рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рдХреИрд╕реЗ рджреЗрддреЗ рд╣реИрдВ?

рд╣рдо рдпрд╣ рд╕рдм POSIX рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ, рдХреНрдпреЛрдВрдХрд┐ inotify Linux рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╣реИред рдлреНрд░реАрдмреАрдПрд╕рдбреА/рдУрдПрд╕рдПрдХреНрд╕ рдПрдХ рдЕрд▓рдЧ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред

рдкреНрд░рд╕реНрддрд╛рд╡:

рджреЗрд╢реА рдмрд╛рдпрдиреЗрд░рд┐рдЬрд╝ рд╡рд┐рддрд░рдг рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ, рдкреНрд░рддреНрдпреЗрдХ OS рдХреЛ рд╕рдорд╛рди рдирд╛рдореЛрдВ рдХреЗ рд╕рд╛рде, рд▓реЗрдХрд┐рди рдЕрд▓рдЧ-рдЕрд▓рдЧ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд╡рд╛рд▓реЗ рдмрд╛рдпрдиреЗрд░рд┐рдЬрд╝ рдХрд╛ рд╕рдорд╛рди рд╕реЗрдЯ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдпрд╣рд╛рдБ рдПрдХ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рд╕рдВрд░рдЪрдирд╛ рд╣реИ:

# cmake

check_include_files( "inotify.h" HAVE_INOTIFY_ABILITY )

// config.h.in
cmakedefine01 COREFX_HAVE_INOTIFY_ABILITY
// always a good idea to prefix our headers with project id :)

// header (pal_fsw.hpp) file

#pragma once

class file_system_watcher_shim
{
public:
  void common_function_for_posix_compliants();
  void slightly_diverged_function();
  void painfully_diverged_watch_function();
}

// source (pal_fsw_commons.cpp) file

#include "pal_fsw.hpp"

void file_system_watcher_shim::common_function_for_posix_compliants() {
 // TODO: implement common function for all
}

void file_system_watcher_shim::slightly_varied_function() {

#if COREFX_HAVE_XYZ_ABILITY

  // your way

#else

  // my way

#endif // COREFX_HAVE_XYZ_ABILITY

}

// source (pal_fsw_inotify.cpp) file

// this is a separate compilation unit and will clash with others,
// therefore guarding it with preprocessor directive

#if COREFX_HAVE_INOTIFY_ABILITY

#include "pal_fsw.hpp"

void file_system_watcher_shim::painfully_diverged_watch_function() {
 // TODO: implement inotify based watcher
}

#endif // COREFX_HAVE_INOTIFY_ABILITY

// source (pal_fsw_non_inotify.cpp) file

// this is a separate compilation unit and will clash with others,
// therefore guarding it with preprocessor directive

#if !COREFX_HAVE_INOTIFY_ABILITY

#include "pal_fsw.hpp"

void file_system_watcher_shim::painfully_diverged_watch_function() {
 // TODO: implement non-inotify way
}

#endif // !COREFX_HAVE_INOTIFY_ABILITY

рдпрд╣ рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП

  • "common_function_for_posix_compliants" рдПрдХ рд╕рд╛рдЭрд╛ рдпреВрдирд┐рдХреНрд╕ рдкреНрд░рдмрдВрдзрд┐рдд рдмрд╛рдЗрдирд░реА рдореЗрдВ рддрд░реНрдХ рд╕реЗ рдЦрдкрдд рдХрд┐рдП рдЧрдП 1:1 рдлрд╝рдВрдХреНрд╢рди рдиреЗрдЯрд┐рд╡-рд╢рд┐рдо рдХрд┐рдП рдЧрдП рд╣реИрдВ
  • "sightly_diverged_function" рдПрдХ рд╕рд╛рдЭрд╛ рдпреВрдирд┐рдХреНрд╕ рдкреНрд░рдмрдВрдзрд┐рдд рдмрд╛рдЗрдирд░реА рдореЗрдВ рддрд░реНрдХ рд╕реЗ рдЦрдкрдд рдХреБрдЫ рджреЗрд╢реА #ifdefs рдХреЗ рд╕рд╛рде рд▓рдЧрднрдЧ 1:1 рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдореВрд▓ рд░реВрдк рд╕реЗ рд╢рд┐рдо рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ
  • "рджрд░реНрджрдирд╛рдХ_рдбрд╛рдЗрд╡рд░реЗрдЬ_рд╡реЙрдЪ_рдлрдВрдХреНрд╢рди" рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо-рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреНрд░рдмрдВрдзрд┐рдд рдмрд╛рдпрдиреЗрд░рд┐рдЬрд╝ рдореЗрдВ рддрд░реНрдХ рд╕реЗ рдЦрдкрдд рдХрд┐рдП рдЧрдП 1:1 рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдореВрд▓ рд░реВрдк рд╕реЗ рд╢рд┐рдо рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ / рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛

рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЕрдВрддрд░ рдпрд╣ рд╣реИ рдХрд┐ рдХреНрдпрд╛ "рджрд░реНрдж рд╕реЗ рдЕрд▓рдЧ" рддрд░реНрдХ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдХреЛрдб рд╕реА # рдпрд╛ рд╕реА ++ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рд╣рдордиреЗ рд╕реА # рдЪреБрдирд╛ рд╣реИ рдФрд░ рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕реА # рдореЗрдВ рд▓рд╛рдЧреВ рд╣реЛ рдЪреБрдХрд╛ рд╣реИред рдореИрдВрдиреЗ рдЗрд╕ рдмрд╛рдд рдХреЗ рд▓рд┐рдП рдХреЛрдИ рд╕рдореНрдореЛрд╣рдХ рддрд░реНрдХ рдирд╣реАрдВ рджреЗрдЦрд╛ рд╣реИ рдХрд┐ рдРрд╕реЗ рдорд╛рдорд▓реЛрдВ рдореЗрдВ C++ рдореЗрдВ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрдирд╛ рдПрдХ рдЕрдзрд┐рдХ рд╕рдореНрдореЛрд╣рдХ рд╡рд┐рдХрд▓реНрдк рдХреНрдпреЛрдВ рд╣реЛрдЧрд╛ред

@ jasonwilliams200OK рдореЛрдиреЛ рдХреЗ рдЖрдЬ рдХреЗ рдЕрдкрдбреЗрдЯ рдХреЗ рд╕рд╛рде рдореИрдВ рдлрд┐рд░ рд╕реЗ FreeBSD рдкрд░ рд╣реА corefx рдмрдирд╛ рд░рд╣рд╛ рд╣реВрдВред рдкрд┐рдЫрд▓реА рдмрд╛рд░ рдЬрдм рд╕реЗ рдореИрдВрдиреЗ рдЗрд╕реЗ рдмрдирд╛рдпрд╛ рдерд╛, рддрдм рд╕реЗ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдирдП рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рд╣реИрдВред
рдореИрдВ рд╕реЛрдЪ рд░рд╣рд╛ рд╣реВрдБ рдХрд┐ рдХреНрдпрд╛ Interop.Libc рдЕрдВрддрддрдГ рдЪрд▓рд╛ рдЬрд╛рдПрдЧрд╛?

@stephentoub рдпрд╣ рд╕рдм рдкреИрдХреЗрдЬрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдиреАрдЪреЗ рдЖрддрд╛ рд╣реИред рдореВрд▓ рднрд╛рдЧ рдореЗрдВ рд╕рднреА рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХреЛрдб рд╣реЛрдиреЗ рд╕реЗ рд╕рднреА рдпреВрдирд┐рдХреНрд╕ рдЬреИрд╕реЗ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рдмрдВрдзрд┐рдд рдЕрд╕реЗрдВрдмрд▓реА рд╣реЛрдиреЗ рдХрд╛ рд▓рд╛рдн рдорд┐рд▓рддрд╛ рд╣реИред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореБрдЭреЗ рджреГрдврд╝рддрд╛ рд╕реЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдореЗрдВ рдЗрди "рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдкрд░ рдирд┐рд░реНрднрд░ рдкреНрд░рдмрдВрдзрд┐рдд рдХреЛрдб рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рднрд▓реЗ рд╣реА рдпрд╣ рдПрдХ NotImplementedExcpetion рдлреЗрдВрдХрддрд╛ рд╣реЛред рдЗрд╕ рддрд░рд╣ рдЖрдк рдирдП рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкрд░ рдмрд╣реБрдд рдЖрд╕рд╛рди рдкреЛрд░реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЕрдЧрд░ рдпрд╣ рдХрдо рд╕реЗ рдХрдо рд╕рдм рдХреБрдЫ рддреБрд░рдВрдд рд╕рдВрдХрд▓рд┐рдд рдХрд░рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдпрд╣ рджреЗрдЧрд╛ рдХрдо рд╕реЗ рдХрдо рдПрдХ рдЕрд╕рдорд░реНрдерд┐рдд рдордВрдЪ рдкрд░ рдЪрд▓рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рдиреЗ рдХрд╛ рдореМрдХрд╛ред
рдЖрдо рддреМрд░ рдкрд░ рдпрд╣ рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реЛрддрд╛ рд╣реИ рдпрджрд┐ рдЖрдк рдХрдо рд╕реЗ рдХрдо рддреБрд░рдВрдд рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рд╕рдВрдХрд▓рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

@stephentoub , рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, рдореИрдВ C++ рдХреЛ C# рдХреЗ рд╕рд╛рде рдорд┐рд▓рд╛ рд░рд╣рд╛ рдерд╛ред рдЕрдм рдореИрдВ рд╕рдордЭрддрд╛ рд╣реВрдВ рдХрд┐ рдореВрд▓ рдкрд░рдд рдХреЗрд╡рд▓ рдЙрди рдкреНрд░рд╡реЗрд╢ рдмрд┐рдВрджреБрдУрдВ (рдореВрд▓ libs funcitons рдпрд╛ syscalls) рдХреЛ рдЙрдЬрд╛рдЧрд░ рдХрд░ рд░рд╣реА рд╣реИ рдФрд░ IO рдФрд░ рдкреНрд░рдмрдВрдзрд┐рдд рдХреЛрдб рдХреЛ рд╕реНрд╡рдЪреНрдЫ рдХрд░ рд░рд╣реА рд╣реИ, рдЬрд╣рд╛рдВ рд╣рдо рддрдп рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдХреМрди рд╕реА рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо-рд╡рд┐рд╢рд┐рд╖реНрдЯ рд▓рд┐рдкрдЯреЗ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рд╡рд┐рдзрд┐/рд▓рд┐рдкрдЯреЗ рд╕рд┐рд╕реНрдХрд▓ рдХрд╛ рдЙрдкрднреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рджреЛрдиреЛрдВ (рдореВрд▓ рдФрд░ рдкреНрд░рдмрдВрдзрд┐рдд) рд╕реНрддрд░ рдУрдПрд╕-рдЕрдЬреНрдЮреЗрдпрд╡рд╛рджреА рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд╣рд╛рдВ рдЧреИрд░-рдкреЙрдЬрд╝рд┐рдХреНрд╕ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХрд╛ рдЙрдкрднреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рд╣реИред

@janhenke , рдореИрдВ рд╕рд╣рдордд рд╣реВрдБред рд╣рдо рдмреЛрд▓рддреЗ рд╣реБрдП рдорд╛рд╕реНрдЯрд░ рднреА рдмрдирд╛ рд░рд╣реЗ рд╣реИрдВред рдПрдХ рдФрд░ рдЖрд╡рд░реНрддреА рдЕрд╕реЗрдВрдмрд▓реА рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдореБрджреНрджрд╛ рд╣реИ, рдореИрдВ рдорд╛рд░ рд░рд╣рд╛ рд╣реВрдВ:

CSC : error CS7027: Error signing output with public key from file '/root/corefx/packages/Microsoft.DotNet.BuildTools.1.
0.25-prerelease-00104/lib/ECMA.snk' -- mscoree.dll [/root/corefx/src/System.IO.Compression.ZipFile/ref/System.IO.Compres
sion.ZipFile.csproj]
CSC : error CS7033: Delay signing was specified and requires a public key, but no public key was specified [/root/corefx
/src/System.IO.Compression.ZipFile/ref/System.IO.Compression.ZipFile.csproj]

CSC : error CS7027: Error signing output with public key from file '/root/corefx/packages/Microsoft.DotNet.BuildTools.1.
0.25-prerelease-00104/lib/ECMA.snk' -- mscoree.dll [/root/corefx/src/System.IO.Compression/ref/System.IO.Compression.csp
roj]
CSC : error CS7033: Delay signing was specified and requires a public key, but no public key was specified [/root/corefx
/src/System.IO.Compression/ref/System.IO.Compression.csproj]

рд╢реАрдШреНрд░ рд╣реА рдкреВрд░реНрдг msbuild.log рдЬрд┐рд╕реНрдЯ рд▓рд┐рдВрдХ рдкреЛрд╕реНрдЯ рдХрд░реЗрдВрдЧреЗред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореБрдЭреЗ рджреГрдврд╝рддрд╛ рд╕реЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдореЗрдВ рдЗрди "рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдирд┐рд░реНрднрд░ рдкреНрд░рдмрдВрдзрд┐рдд рдХреЛрдб" рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рдореИрдВ рд╕рд╣рдордд рд╣реВрдВред рдЖрдВрд╢рд┐рдХ рдХрдХреНрд╖рд╛рдУрдВ рдХреЗ рдмрдЬрд╛рдп, рд╣рдо рд╢рд╛рдпрдж рдЕрдореВрд░реНрдд рдЖрдзрд╛рд░ рд╡рд░реНрдЧ рдореЗрдВ рд╕рд╛рдорд╛рдиреНрдп рдФрд░ рдЕрдзрд┐рдХрддрд░ рд╕рд╛рдорд╛рдиреНрдп рдЖрднрд╛рд╕реА рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рд╡рд┐рд░рд╛рд╕рдд рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЬрд╣рд╛рдВ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ "рдЬреНрдпрд╛рджрд╛рддрд░ рд╕рд╛рдорд╛рдиреНрдп/рдЖрдВрд╢рд┐рдХ рд░реВрдк рд╕реЗ рдЕрд▓рдЧ" рдХреЗ рд▓рд┐рдП рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдлрд┐рд░ рдЕрдореВрд░реНрдд рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░реЗрдВ рдЬреЛ рдкреНрд░рддреНрдпреЗрдХ рдУрдПрд╕ рдХреЗ рд▓рд┐рдП рдмрд┐рд▓реНрдХреБрд▓ рдЕрд▓рдЧ рд╣реИрдВред рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рд╕рд╛рде IMO, рдпрджрд┐ рд╡рд┐рд╢реЗрд╖рдЬреНрдЮрддрд╛/рд╕рд╛рдорд╛рдиреНрдпреАрдХрд░рдг DRY'ing рдЦреЛ рд░рд╣рд╛ рд╣реИ, рддреЛ рд╣рдо рдХрд░реНрдордЪрд╛рд░реА рдмрд╣реБ-рдбрд┐рдЧреНрд░реА рд╡рдВрд╢рд╛рдиреБрдХреНрд░рдо рд╡рдВрд╢ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдкрд┐рдЫрд▓реА рдмрд╛рд░ рдЬрдм рдореИрдВрдиреЗ рдЬрд╛рдБрдЪ рдХреА рдереА, CoreFX рдореЗрдВ рдорд╛рддрд╛-рдкрд┐рддрд╛-рдмрд╛рд▓ рд╕рдВрдШ рдкрд░ рдЖрдВрд╢рд┐рдХ рдХрдХреНрд╖рд╛рдУрдВ рдХреЛ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рджреА рдЧрдИ рдереА (рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ рдореБрдЭреЗ рдпрд╛рдж рдирд╣реАрдВ рд╣реИ)ред :)

рдпрд╣рд╛рдБ 2d36889 рдкреНрд░рддрд┐рдмрджреНрдз рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП msbuild.log рд╣реИ:

https://gist.githubusercontent.com/jasonwilliams200OK/b375ce52c7b0c90e24af/raw/c895d405a3044dd6acdb26ec49c4b0ced0c76d1a/corefx-msbuild.log

/рд╕реАрд╕реА: @akoeplinger

@ jasonwilliams200OK рдЗрддрдирд╛ рдЬрдЯрд┐рд▓ рдХреНрдпреЛрдВ рд╣реИред рдЗрд╕рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдлрд╛рдЗрд▓реЛрдВ рдореЗрдВ "рдЕрдЧрд░ рд╡рд┐рдВрдбреЛрдЬ, рд▓рд┐рдирдХреНрд╕, рдУрдПрд╕ рдПрдХреНрд╕ рдирд╣реАрдВ рд╣реИ" рдХреА рдЬрд░реВрд░рдд рд╣реИред рддреЛ рдпрд╛ рддреЛ рдмрд┐рд▓реНрдб рдпрд╛ рдЬреЗрдиреЗрд░рд┐рдХ рдлрд╛рдЗрд▓реЛрдВ рдореЗрдВ рдлрд╛рдЗрд▓реЛрдВ рдХрд╛ рдПрдХ рдордВрдЪ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕реЗрдЯ рд╢рд╛рдорд┐рд▓ рдХрд░реЗрдВред

рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдХреБрдЫ рдЕрд╕реЗрдВрдмрд▓реА рдлреНрд░реАрдмреАрдПрд╕рдбреА рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрдорд╛рдг/рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд╕рдХрддреА рд╣реИрдВ, рдлрд┐рд░ рднреА рдЙрдирдореЗрдВ рд╕реЗ рдмрд╛рдХреА рдХреЗ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рдореБрдЦ рдЕрд╡рд░реЛрдзрдХ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рд╣рдореЗрдВ рд╢рд╛рдпрдж рдЗрд╕реЗ рд╕рд┐рд░реНрдл рдЗрд╕рд▓рд┐рдП рдмрдирд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рддрд╛рдХрд┐ рд▓рдВрдмрд┐рдд рдХрд╛рдо (рдлрд╛рдЗрд▓рд╕рд┐рд╕реНрдЯрдо рд╡реЙрдЪрд░, рдкреНрд░реЛрд╕реЗрд╕, рдиреЗрдЯрд╡рд░реНрдХрд┐рдВрдЧ) рд╡рд╛рд▓реЗ рд▓реЛрдЧ рдлреНрд░реАрдмреАрдПрд╕рдбреА рдкрд░ рдмрд┐рд▓реНрдб рдФрд░ рдЯреЗрд╕реНрдЯ рд░рди рдореЗрдВ рдЫреЛрдбрд╝ рджрд┐рдП рдЬрд╛рдПрдВред рдлрд┐рд░ рд╣рдо рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХрд╛рдо рдХрд░ рд░рд╣реЗ рдкреНрд░рддрд┐рдЧрдорди рдХреЛ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд░рдЦрддреЗ рд╣реБрдП рдЙрдиреНрд╣реЗрдВ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВред

рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдХреБрдЫ рдЕрд╕реЗрдВрдмрд▓реА рдлреНрд░реАрдмреАрдПрд╕рдбреА рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрдорд╛рдг/рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд╕рдХрддреА рд╣реИрдВ, рдлрд┐рд░ рднреА рдЙрдирдореЗрдВ рд╕реЗ рдмрд╛рдХреА рдХреЗ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рдореБрдЦ рдЕрд╡рд░реЛрдзрдХ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП

рдорд╛рдирд╛

рд╣рдореЗрдВ рд╢рд╛рдпрдж рдЗрд╕реЗ рд╕рд┐рд░реНрдл рдЗрд╕рд▓рд┐рдП рдмрдирд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рддрд╛рдХрд┐ рд▓рдВрдмрд┐рдд рдХрд╛рдо (рдлрд╛рдЗрд▓рд╕рд┐рд╕реНрдЯрдо рд╡реЙрдЪрд░, рдкреНрд░реЛрд╕реЗрд╕, рдиреЗрдЯрд╡рд░реНрдХрд┐рдВрдЧ) рд╡рд╛рд▓реЗ рд▓реЛрдЧ рдлреНрд░реАрдмреАрдПрд╕рдбреА рдкрд░ рдмрд┐рд▓реНрдб рдФрд░ рдЯреЗрд╕реНрдЯ рд░рди рдореЗрдВ рдЫреЛрдбрд╝ рджрд┐рдП рдЬрд╛рдПрдВред

рдпрд╛ рдЬреИрд╕рд╛ рдХрд┐ @janhenke рдиреЗ рд╕реБрдЭрд╛рд╡ рджрд┐рдпрд╛ рдерд╛, рдмрд╕ рдЙрдиреНрд╣реЗрдВ рдмрдирд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдВ, рдпрд╛ рддреЛ рдЙрди рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд╕рд╛рде рд╕реНрдЯрдмрд┐рдВрдЧ рдХрд░рдХреЗ рдЬреЛ PlatformNotSupported рдХреЛ рдлреЗрдВрдХ рджреЗрддреА рд╣реИрдВ, рдпрд╛ рдХреЗрд╡рд▓ FreeBSD рдХреЛ рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдореЗрдВ рдореИрдк рдХрд░рдХреЗ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдпрджрд┐ FreeBSD рдЪреБрдирд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдмрд╕ Linux рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░реЗрдВ ( рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛, рд▓реЗрдХрд┐рди рдпрд╣ рдирд┐рд░реНрдорд╛рдг рдХрд░реЗрдЧрд╛)ред

@ellismg рд╣рд╛рд▓ рдХреЗ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ (#3684) рдХреЗ рд╕рд╛рде, рдореИрдВ рдкрд┐рдЫрд▓реА рд╡рд┐рдзрд┐ рдХреЛ рд╕рд░рд▓ рдмрдирд╛рдХрд░ рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реВрдВ (https://github.com/dotnet/coreclr/issues/1633#issuecomment-143669303):

  • https://gist.github.com/jasonwilliams200OK/6efa7907e66275df2d24 рдХреЗ рдмрд╛рдж (рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдореВрд▓ рд╢рд┐рдо рдХреЛ рдЕрд▓рдЧ рд╕реЗ рдмрдирд╛рдиреЗ рдХрд╛ рдЪрд░рдг _after_ рд╕реНрдерд┐рддрд┐ 1 рдХреЗ рд╕рд╛рде рдмрд┐рд▓реНрдб.рд╢ рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓реЗрдВ), CoreCLR рдХрд▓рд╛рдХреГрддрд┐рдпреЛрдВ рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ: cd /root; curl -o bins.zip "http://dotnet-ci.cloudapp.net/job/dotnet_coreclr/job/debug_freebsd/lastSuccessfulBuild/artifact/*zip*/archive.zip (рдордд рднреВрд▓рдирд╛ URL рдХреЗ рдЖрд╕рдкрд╛рд╕ рдХреЗ рдЙрджреНрдзрд░рдг) рдФрд░ рдлрд┐рд░ unzip bins.zip; chmod -R 0777 archive/; rm bins.zip; cd corefx ред

(рд╡рд┐рдВрдбреЛрдЬ рдорд╢реАрди рд╕реЗ рдХреБрдЫ рднреА рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ)

  • рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдпрд╛:

./run-test.sh \ --coreclr-bins ../archive/bin/Product/FreeBSD.x64.Debug \ --mscorlib-bins ./packages/Microsoft.DotNet.CoreCLR/1.0.0-prerelease/lib/aspnetcore50 \ --corefx-native-bins ./bin/FreeBSD.x64.Debug/Native

рдЗрд╕реЗ рдХрд╣рддреЗ рд╣реИрдВ:

40 рдкрд░реАрдХреНрд╖рдг рд╡рд┐рдлрд▓

рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдХреБрдЫ рдЕрд╕реЗрдВрдмрд▓реА рдлреНрд░реАрдмреАрдПрд╕рдбреА рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрдорд╛рдг/рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд╕рдХрддреА рд╣реИрдВ, рдлрд┐рд░ рднреА рдЙрдирдореЗрдВ рд╕реЗ рдмрд╛рдХреА рдХреЗ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рдореБрдЦ рдЕрд╡рд░реЛрдзрдХ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

рдореБрдЭреЗ рдЗрд╕рд╕реЗ рд╕рд╣рдордд рд╣реЛрдирд╛ рд╣реИред рдкрд░реАрдХреНрд╖рдг рд╢реБрд░реВ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд╕рдм рдХреБрдЫ рдкреВрд░рд╛ рд╣реЛрдиреЗ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп, рд╣рдордиреЗ рдЬреЛ рдХрд╛рдо рдХрд┐рдпрд╛ рд╣реИ, рдЙрд╕рдХреА QAing рд╢реБрд░реВ рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИред

рдпрд╣ рдХрд╣рддрд╛ рд╣реИ: 40 рдкрд░реАрдХреНрд╖рдг рд╡рд┐рдлрд▓ рд░рд╣реЗ

рдХрд┐рддрдиреЗ рдореЗрдВ рд╕реЗ 40? рд╣рдо рдХрд┐рд╕ рдмреЙрд▓рдкрд╛рд░реНрдХ рдореЗрдВ рд╣реИрдВ? :)

рдХрд┐рддрдиреЗ рдореЗрдВ рд╕реЗ 40? рд╣рдо рдХрд┐рд╕ рдмреЙрд▓рдкрд╛рд░реНрдХ рдореЗрдВ рд╣реИрдВ? :)

рдореБрдЭреЗ рднреА рдкреАрдЯрддрд╛ рд╣реИред рдкрд░реАрдХреНрд╖рдг рдкрд░реАрдХреНрд╖рдг рдЕрд╕реЗрдВрдмрд▓реА (рдкреНрд░рдмрдВрдзрд┐рдд рдбреАрдПрд▓рдПрд╕) рд╕реЗ рдмрд╛рд╣рд░ рд╣реЛ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреА рдХреБрд▓ рд╕рдВрдЦреНрдпрд╛ рджрд┐рдЦрд╛рдИ рдирд╣реАрдВ рджреЗ рд░рд╣реА рд╣реИред

рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЕрдВрдд рдореЗрдВ рдЙрддреНрдкрдиреНрди рд╣реЛрдиреЗ рд╡рд╛рд▓реА рд╕рдВрдЦреНрдпрд╛ рдкрд░реАрдХреНрд╖рдг рдЕрд╕реЗрдВрдмрд▓реА рдХреА рд╕рдВрдЦреНрдпрд╛ рд╣реИ рдЬреЛ рд╡рд┐рдлрд▓ рд░рд╣реАред xUnit рдХреЛ рдЙрди рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рд▓рд┐рдЦрдиреА рдЪрд╛рд╣рд┐рдП рдЬреЛ рдкреНрд░рддрд┐ рдЕрд╕реЗрдВрдмрд▓реА рдореЗрдВ рд╡рд┐рдлрд▓ рд╣реЛрдиреЗ рдХреЗ рдХрд╛рд░рдг рдЗрд╕реЗ рдЪрд▓рд╛рдиреЗ рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд░реВрдк рдореЗрдВ stdout рдореЗрдВ рд╡рд┐рдлрд▓ рд░рд╣реЗред рд╕рдВрдЦреНрдпрд╛рдПрдВ рдПрдХреНрд╕рдПрдордПрд▓ рдлрд╛рдЗрд▓реЛрдВ рдореЗрдВ рднреА рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП рдЬреЛ рдкреНрд░рддреНрдпреЗрдХ рдЯреЗрд╕реНрдЯ рдЕрд╕реЗрдВрдмрд▓реА рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдЙрддреНрдкрдиреНрди рд╣реЛрддреА рд╣реИрдВред

рдпрд╣ рд░рдирдЯрд╛рдЗрдо рднреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдмрд╕ рджреБрд░реНрдШрдЯрдирд╛рдЧреНрд░рд╕реНрдд рд╣реЛ рд░рд╣рд╛ рд╣реИ рдФрд░ рдЙрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдкреНрд░рддрд┐ рдЯреЗрд╕реНрдЯ рдЕрд╕реЗрдВрдмрд▓реА рдореЗрдВ рд▓реЙрдЧ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред

@ jasonwilliams200OK рдХреНрдпрд╛ рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдЕрд╕реЗрдВрдмрд▓реА рд╕рд╛рдЗрдирд┐рдВрдЧ рдХреЗ рдореБрджреНрджреЗ рдкрд░ рдХреЛрдИ рдкреНрд░рдЧрддрд┐ рд╣реБрдИ рд╣реИ рдпрд╛ рдирд╣реАрдВ? рдореИрдВ рдЙрдмрдВрдЯреВ рдкрд░ рдПрдХ рд╣реА рдЪреАрдЬрд╝ рдорд╛рд░ рд░рд╣рд╛ рд╣реВрдВред рдЕрдЧрд░ рдХреЛрдИ рдЗрд╕ рдкрд░ рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИ, рддреЛ рд╢рд╛рдпрдж рд╣рдореЗрдВ рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ рдореБрджреНрджрд╛ рдЦреЛрд▓рдирд╛ рдЪрд╛рд╣рд┐рдПред

@naamunds , рдЬреЛ https://github.com/dotnet/corefx/issues/3739 рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд░реВрдк рдореЗрдВ CoreFX рдорд╛рд╕реНрдЯрд░ рдкрд░ рддрдп рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ

рдЕрдкрдбреЗрдЯ - рдЖрдЬ рдореИрдВрдиреЗ рдлреНрд░реАрдмреАрдПрд╕рдбреА рдкрд░ рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдП, рдЙрдирдореЗрдВ рд╕реЗ рд╣рдЬрд╛рд░реЛрдВ рдкрд╛рд╕ рд╣реЛ рд░рд╣реЗ рдереЗ рдФрд░ рдлрд┐рд░ рдХреБрдЫ рд╕рд┐рд╕реНрдЯрдо рдХреА рд╕реНрдкрд╖реНрдЯ рдХрдореА рдХреЗ рдХрд╛рд░рдг рдЕрд╕рдлрд▓ рд╣реЛ рд░рд╣реЗ рдереЗред рдбрд╛рдпрдЧреНрдиреЛрд╕реНрдЯрд┐рдХреНрд╕ред рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдФрд░ рджреЛрд╕реНрддреЛрдВ рд╕реНрдирдлреВред ~ 40 рдорд┐рдирдЯ рдХреЗ рд╕рдлрд▓ рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рдмрд╛рдж, рдпрд╣ System.IO.FileSystem рдкрд░реАрдХреНрд╖рдгреЛрдВ рдкрд░ рд▓рдЯрдХрд╛ рд░рд╣рд╛ (рд▓рдЧрднрдЧ ~ 15 рдорд┐рдирдЯ рдХреЗ рд▓рд┐рдП рдореИрдВрдиреЗ Ctrl + C рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рджрдмрд╛рдпрд╛)ред

@ jasonwilliams200OK рдЖрдкрдиреЗ freebsd рдХреЗ рддрд╣рдд corefx рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХреИрд╕реЗ рдХрд┐рдпрд╛? рдореИрдВ gssapi . рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдкрд░ рдлрдВрд╕ рдЧрдпрд╛ рд╣реВрдБ

@sec , рдЗрди рдиреЛрдЯреНрд╕ рдХреЛ рдмрдирд╛рддреЗ рд╕рдордп: https://gist.github.com/jasonwilliams200OK/6efa7907e66275df2d24 , CoreFX рджреНрд╡рд╛рд░рд╛ GSSAPI рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рдереАред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ pkg рдХреЛ рд╣рд╛рд▓ рд╣реА рдореЗрдВ FreeBSD рдореЗрдВ рдкреЛрд░реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ: http://www.freshports.org/security/p5-GSSAPIред рдЖрдк pkg upgrade pkg && pkg update && pkg install p5-GSSAPI рдЖрдЬрд╝рдорд╛рдирд╛ рдЪрд╛рд╣ рд╕рдХрддреЗ рд╣реИрдВред

@ jasonwilliams200OK , рдореБрдЭреЗ рдкрд╣рд▓реЗ рд╣реА рдпрд╣ рдорд┐рд▓ рдЧрдпрд╛ рд╣реИ (рдпрд╣ рдкрд░реНрд▓ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рд╣реИред btwред) рд╕рдорд╕реНрдпрд╛ рдЧрд╛рдпрдм рдереА gssapi_ext.hред рдЪрд╛рд▓ "рдкреАрдХреЗрдЬреА рдЗрдВрд╕реНрдЯреЙрд▓ krb5" рдХрд░рдирд╛ рдерд╛ - рдЕрдм рджреЗрд╢реА рд╕рдВрдХрд▓рд┐рддред
рдореИрдВрдиреЗ рдЙрдиреНрд╣реЗрдВ coreclr рд░рдирдЯрд╛рдЗрдо рдореЗрдВ рдХреЙрдкреА рдХрд┐рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреА ASP.NET Core рдРрдк рдирд╣реАрдВ рдЪрд▓рд╛ рд╕рдХрддрд╛ :) рд▓рдбрд╝рд╛рдИ рддрдм рдЪрд▓рддреА рд╣реИред

рдЗрд╕ рдХрд╛рд░реНрдп рдХреА рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐ рдХреНрдпрд╛ рд╣реИ? рдХреНрдпрд╛ @janhenke рдХреА рд╕реВрдЪреА рдкреВрд░реНрдг рдФрд░ рд╕рдЯреАрдХ рд╣реИ? рдХреНрдпрд╛ рд╡реЗ рд╕рднреА рдХрд╛рд░реНрдп рдХрд┐рдП рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ, рдЬрд┐рдиреНрд╣реЗрдВ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ? рддреЛ рдЗрд╕реЗ рдмрдВрдж рдХрд░ рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдП, рд╣реИ рдирд╛?

рдпрджрд┐ рд╣рд╛рдВ, рддреЛ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЕрднреА рднреА рдпрд╣ рдХрд╛рд░реНрдп рдХреНрдпреЛрдВ рд╣реИ? https://github.com/dotnet/corefx/issues/2070

рдпрджрд┐ рдЕрднреА рднреА рдХрд╛рдо рдХрд░рдирд╛ рдмрд╛рдХреА рд╣реИ, рддреЛ рдХреНрдпрд╛ рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдПрдХ рдирдпрд╛ рдореБрджреНрджрд╛ рджрд░реНрдЬ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП?

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕рдХреА рднреА рдЬрд░реВрд░рдд рд╣реИ - dotnet/corefx#2046

рдХреНрдпрд╛ рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдПрдХ рдирдпрд╛ рдореБрджреНрджрд╛ рдкрдВрдЬреАрдХреГрдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП?

рд╣рд╛рдВ: +1:

рд╣рдордиреЗ @RussellHaley (FreeBSD рд╕рдореБрджрд╛рдп рд╕реЗ) рдФрд░ @wfurt (.NET рдХреЛрд░ рдЯреАрдо рд╕реЗ) рдХреЗ рд╕рд╛рде FreeBSD рдХреЗ рд▓рд┐рдП рд╕рдореБрджрд╛рдп-рд╕рдВрдЪрд╛рд▓рд┐рдд рдкреЛрд░реНрдЯ рдкрд░ рдЪрд░реНрдЪрд╛ рдХреА, рдЬрд┐рдиреНрд╣реЛрдВрдиреЗ рджреЛрдиреЛрдВ рдиреЗ рдХрд╛рдо рдореЗрдВ рд░реБрдЪрд┐ рд╡реНрдпрдХреНрдд рдХреАред
рдпрд╣рд╛рдВ рдПрдХ рдпреЛрдЬрдирд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рд╣реИ рдЬрд┐рд╕реЗ рд╣рдордиреЗ рдПрдХ рд╕рд╛рде рд░рдЦрд╛ рд╣реИ (рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛/рд╕реБрдЭрд╛рд╡реЛрдВ рдХрд╛ рд╕реНрд╡рд╛рдЧрдд рд╣реИ):

  1. CoreCLR рдФрд░ CoreFX рд░реЗрдкреЛ рдореЗрдВ рдмрд╛рдпрдиреЗрд░рд┐рдЬрд╝ рдХрд╛ рдирд┐рд░реНрдорд╛рдг FreeBSD рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░рдирд╛ - рд╣реИрдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдареАрдХ рд╣реИ

    • рд╕рдорд╛рдирд╛рдВрддрд░ рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИ, @wfurt рдЙрд╕ рдкрд░ рдХрд╛рдо рдХрд░реЗрдЧрд╛

    • рдмрд┐рд▓реНрдб рдЕрдиреНрдп рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо (рдореИрдХ, рд▓рд┐рдирдХреНрд╕) рд╕реЗ рдлреНрд░реАрдмреАрдПрд╕рдбреА рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдмрд┐рд▓реНрдб рдХрд╛ рдорд┐рд╢реНрд░рдг рд╣реЛ рд╕рдХрддрд╛ рд╣реИ

    • рдлреНрд░реАрдмреАрдПрд╕рдбреА-рд╡рд┐рд╢рд┐рд╖реНрдЯ рдмрдЧ рдлрд┐рдХреНрд╕ рдХреЗ рд╕рд╛рде рдмрд┐рд▓реНрдб рдХреЛ рдкреБрди: рдкреЗрд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдореЗрдВ рджрд╕реНрддрд╛рд╡реЗрдЬ рдЪрд░рдгреЛрдВ (рдлреНрд░реАрдмреАрдПрд╕рдбреА рд╡рд┐рдХреА рдкрд░) рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА

  2. CoreCLR рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдПрдБ рдФрд░ рд╕реНрдерд┐рд░ рдХрд░реЗрдВ (corerun рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ)

    • рдЯреЗрд╕реНрдЯ рджреВрд╕рд░реЗ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкрд░ рдмрдирд╛рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ

    • рд▓рдХреНрд╖реНрдп: рд░рдирдЯрд╛рдЗрдо рдХреА рдмреБрдирд┐рдпрд╛рджреА рдЧреБрдгрд╡рддреНрддрд╛ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ

  3. CoreFX рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдПрдБ рдФрд░ рд╕реНрдерд┐рд░ рдХрд░реЗрдВ (corerun рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ)

    • рдЯреЗрд╕реНрдЯ рджреВрд╕рд░реЗ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкрд░ рдмрдирд╛рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ

    • рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЗрд╕рдХреЗ рд▓рд┐рдП xunit рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд╣рдорд╛рд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐, рд╣рдорд╛рд░реЗ рдкрд┐рдЫрд▓реЗ рдкреЛрд░реНрдЯрд┐рдВрдЧ рдЕрдиреБрднрд╡ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдПрдХ рдмрд╛рд░ [2] рд╣реЛ рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рдж, xunit рдмрд╕ рдХрд╛рдо рдХрд░реЗрдЧрд╛ред

    • рдпрд╣ рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ [2] рдХреЗ рд╕рдорд╛рдирд╛рдВрддрд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ - рдЗрд╕рдХреЗ рд▓рд┐рдП xunit рдХреЛ рд╢реЙрд░реНрдЯрдХрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рдЕрдиреНрдп рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкрд░ рд╕реНрдерд┐рд░ рдирд┐рд╖реНрдкрд╛рджрди рдиреБрд╕реНрдЦрд╛ рдЙрддреНрдкрдиреНрди рдХрд░рдирд╛)

  4. рдлреНрд░реАрдмреАрдПрд╕рдбреА рдкрд░ рдкреВрд░реНрдг рд╕реНрдЯреИрдХ рдмрд┐рд▓реНрдб ([1]-[3] рд╕реЗ рдмреВрдЯрд╕реНрдЯреНрд░реИрдкрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдХреЛрд░рд░рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ)

    • рдмреВрд╕реНрдЯрд░реИрдкрд┐рдВрдЧ рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдореЗрдВ рд╕рднреА рдЯреВрд▓реНрд╕ (nuget, msbuild, roslyn) рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА .NET Core

  5. рдЗрдВрд╕реНрдЯрд╛рд▓рд░ (рдлреНрд░реАрдмреАрдПрд╕рдбреА рдкреЛрд░реНрдЯ)

    • рдкрд╣рд▓рд╛ рдЪрд░рдг: рдирдЧреЗрдЯ рдлрд╝реАрдб рд╕реЗ рдЙрддреНрдкрд╛рдж рдмрд╛рдпрдиреЗрд░рд┐рдЬрд╝ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛

    • рджреВрд╕рд░рд╛ рдЪрд░рдг: рд╕реНрд░реЛрдд рд╕реЗ рдЙрддреНрдкрд╛рдж рдмрдирд╛рдПрдВ (рд╕реНрд░реЛрдд рдкреНрд░рдпрд╛рд╕ рд╕реЗ рдирд┐рд░реНрдорд╛рдг рдкрд░ рдЕрд╡рд░реБрджреНрдз)

    • рдбрд┐рдЬрд╝рд╛рдЗрди рдкрд░ FreeBSD рд╕рдореБрджрд╛рдп рд╡рд┐рд╢реЗрд╖рдЬреНрдЮрддрд╛ рдФрд░ рдорд╛рд░реНрдЧрджрд░реНрд╢рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ

    • рдиреЛрдЯ: рд╣рдо FreeBSD рдкреИрдХреЗрдЬ рдХреЛ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ .NET рдХреЛрд░ рдбрд╛рдЙрдирд▓реЛрдб рдкреЗрдЬреЛрдВ рд╕реЗ рднреА рд╕рдореБрджрд╛рдп-рд╕рдорд░реНрдерди рдкреИрдХреЗрдЬ рдХреЗ рд░реВрдк рдореЗрдВ рд▓рд┐рдВрдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ

  6. рдлреНрд░реАрдмреАрдПрд╕рдбреА рдкрд░ рдирд┐рдпрдорд┐рдд рдирд┐рд░реНрдорд╛рдг рдФрд░ рдкрд░реАрдХреНрд╖рдг рдЪрд▓рддрд╛ рд╣реИ

    • рд▓рдХреНрд╖реНрдп: рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдлреНрд░реАрдмреАрдПрд╕рдбреА рдХреЛ рддреЛрдбрд╝рдиреЗ рд╡рд╛рд▓реЗ .NET рдХреЛрд░ рд░реЗрдкреЛ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдЬрд▓реНрджреА рдЬреНрдЮрд╛рдд рд╣реИрдВ

    • рдбрд┐рдЬрд╛рдЗрди рдХреА рдЬрд░реВрд░рдд

    • рдбрд┐рдЬрд╝рд╛рдЗрди рдкрд░ FreeBSD рд╕рдореБрджрд╛рдп рд╡рд┐рд╢реЗрд╖рдЬреНрдЮрддрд╛ рдФрд░ рдорд╛рд░реНрдЧрджрд░реНрд╢рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ

рд╕рдВрдЪрд╛рд▓рди рд╕рд┐рджреНрдзрд╛рдВрдд:

  • [2]-[4] рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдореБрдЦреНрдп рд░реВрдк рд╕реЗ CoreCLR/CoreFX рд░реЗрдкреЛ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП (CLA рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЗ рдХрд╛рд░рдг, .NET рдХреЛрд░ рдЯреАрдо рдХреЗ рд╡рд┐рд╢реЗрд╖рдЬреНрдЮреЛрдВ/рд╕рджрд╕реНрдпреЛрдВ рд╕реЗ рдХреЛрдб рд╕рдореАрдХреНрд╖рд╛ рдЖрджрд┐)
  • рд╣рдо рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рдЙрдЪреНрдЪ рд╕реНрддрд░реАрдп рдХрд╛рд░реНрдп рдХреЛ рдЯреНрд░реИрдХ рдХрд░реЗрдВрдЧреЗред рд╡рд┐рд╢рд┐рд╖реНрдЯ рдмрдЧ рдЕрд▓рдЧ рдореБрджреНрджреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рджрд╛рдпрд░ рдХрд┐рдП рдЬрд╛рдПрдВрдЧреЗред

рдЕрдЧрд░ рдХрд┐рд╕реА рдХреЛ рдорджрдж рдХрд░рдиреЗ рдореЗрдВ рджрд┐рд▓рдЪрд╕реНрдкреА рд╣реИ, рддреЛ рдХреГрдкрдпрд╛ рд╣рдореЗрдВ рдпрд╣рд╛рдВ рдмрддрд╛рдПрдВред рдПрдХ рдмрд╛рд░ рдЬрдм рд╣рдо [1] рдХреЗ рд╕рд╛рде рдХрд╛рдлреА рджреВрд░ рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ рддреЛ рд╣рдо рдКрдкрд░ [2] рдФрд░ [3] рд╕реЗ рдХрд╛рдо рдХреА рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдЖрд╕рд╛рдиреА рд╕реЗ рд╡рд┐рддрд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдкреНрд░рд╕реНрддрд╛рд╡ рдХрд╛ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдЗрд╕ рдЕрдВрдХ рдХреЗ рд╢реАрд░реНрд╖ рдкрдж рдкрд░ рд╣реИред

рдлреНрд░реАрдмреАрдПрд╕рдбреА -рдореЛрдиреЛ рд╕реВрдЪреА ( рдпрд╣ рдзрд╛рдЧрд╛ ) рдореЗрдВ рд░реБрдЪрд┐ рд╡реНрдпрдХреНрдд рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдЕрдзрд┐рдХ рд▓реЛрдЧреЛрдВ рдХреЛ рдЯреИрдЧ рдХрд░рдирд╛: @smortex @radovanovic @ рдЗрдХреЛ-8-рдИрдЖрд░рдП

рдмреАрдЯреАрдбрдмреНрд▓реНрдпреВ: рдореБрдЭреЗ рдореИрдереНрдпреВ рдкреНрд░реАрд╡реЛрдЯ рдЧрд┐рдЯрд╣рдм рдЦрд╛рддрд╛ рдирд╣реАрдВ рдорд┐рд▓ рд░рд╣рд╛ рд╣реИ - [рдЕрджреНрдпрддрди] https://github.com/dotnet/corefx/issues/1626#issuecomment -330348424: @mprevot рдореЗрдВ рдорд┐рд▓рд╛

рдиреЗрдЯрдмреАрдПрд╕рдбреА рдХреЗ рд▓рд┐рдП рд╣рдо рдордЬрдмреВрдд рдкреЙрдЬрд╝рд┐рдХреНрд╕ рдореНрдпреВрдЯреЗрдХреНрд╕ рдХреЛ рдпрд╛рдж рдХрд░рддреЗ рд╣реИрдВ, рдпрд╣ рдПрдХрдорд╛рддреНрд░ рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реИ рдЬреЛ рдЕрднреА рднреА рдирд╛рдорд┐рдд рд░реЛрдмрд╕ рдореНрдпреВрдЯреЗрдХреНрд╕ рдХрд╛ рдЙрддреНрдкрд╛рджрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЧрд╛рдпрдм рд╣реИред рдЕрдм рд╣рдо рдПрд▓рдПрд▓рдбреАрдмреА/рдиреЗрдЯрдмреАрдПрд╕рдбреА рдХреЗ рд╕рд╛рде рдкреНрд░рдмрдВрдзрд┐рдд рдХреЛрдб рд╡рд┐рдлрд▓рддрд╛рдУрдВ рдХреЛ рдбреАрдмрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ .. рдпрд╣ рдХреЛрд░ рдлрд╛рдЗрд▓реЛрдВ рдХреЗ рд╕рд╛рде рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдореЗрд░реЗ рдкрд┐рдЫрд▓реЗ рдкреНрд░рдпрд╛рд╕реЛрдВ рдореЗрдВ рд╣рдо рдПрд▓рдПрд▓рдбреАрдмреА рдореЗрдВ рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреА рдХрдореА рдкрд░ рдорд░ рдЧрдП (рдореИрдВрдиреЗ рдЗрд╕ рдбреАрдмрдЧрд░ рдХреЛ .NET рдХреЗ рд▓рд┐рдП рдкреЛрд░реНрдЯ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛)ред

рдмреЗрд╣рддрд░ рдлреНрд░реАрдмреАрдПрд╕рдбреА рд╕рдкреЛрд░реНрдЯ рд╣реЛрдиреЗ рд╕реЗ рдХрд╛рдлреА рдорджрдж рдорд┐рд▓реЗрдЧреАред

рдЕрддреАрдд рдореЗрдВ рд╣рд╛рдЗрдкрд░рд╡ рдЧреЗрд╕реНрдЯ рд╕рдкреЛрд░реНрдЯ рдХреА рдХрдореА рдХреЗ рд╕рд╛рде рд╕реАрдЖрдИ рдорд╢реАрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдиреЗрдЯрдмреАрдПрд╕рдбреА рдмрд┐рд▓реНрдбрдмреЙрдЯ рд╕рдВрд▓рдЧреНрди рдХрд░рдиреЗ рдФрд░ рдкреИрдЪ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рднреА рд╕рдорд╕реНрдпрд╛рдПрдВ рдереАрдВ ... рдЗрд╕рдХреЗ рд▓рд┐рдП рдореБрдЭреЗ рдПрдордПрд╕ рд╕реЗ рдорджрдж рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИред рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдЗрд╕реЗ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдорд╛рд▓рд┐рдХрд╛рдирд╛ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рд╣реИ, рдЬреЛ рдореЗрд░реЗ рдкрд╛рд╕ рдирд╣реАрдВ рд╣реИ ... рдореБрдЭреЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдбреЗрд╡рд▓рдкрд░ рдорд┐рд▓ рд╕рдХрддрд╛ рд╣реИ рдпрджрд┐ рдиреЗрдЯрдмреАрдПрд╕рдбреА рдлрд╛рдЙрдВрдбреЗрд╢рди рдФрд░ рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ рдХреЗ рдмреАрдЪ рд╕рдВрдпреБрдХреНрдд рд╣рд┐рдд (рдирд┐рд╡реЗрд╢) рд╣реЛрдЧрд╛ред

рд╣рдо "рдордЬрдмреВрдд рдкреЙрдЬрд╝рд┐рдХреНрд╕ рдореНрдпреВрдЯреЗрдХреНрд╕" рдХреЛ рдХрд╣рд╛рдБ рдпрд╛рдж рдХрд░рддреЗ рд╣реИрдВ? рдХреНрдпрд╛ рдпрд╣ .NET рдХреЛрд░ рдкрд╛рд▓ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИ?

рдЖрдк рдХрд┐рд╕ рд╕реАрдЖрдИ рд╕рд┐рд╕реНрдЯрдо рдХрд╛ рдЬрд┐рдХреНрд░ рдХрд░ рд░рд╣реЗ рд╣реИрдВ? рдпрд╣ .NET рдХреЛрд░ рдкреЛрд░реНрдЯ рдкреНрд░рдпрд╛рд╕ рд╕реЗ рдХреНрдпреЛрдВ рдЬреБрдбрд╝рд╛ рд╣реИ?

рд╣рдо "рдордЬрдмреВрдд рдкреЙрдЬрд╝рд┐рдХреНрд╕ рдореНрдпреВрдЯреЗрдХреНрд╕" рдХреЛ рдХрд╣рд╛рдБ рдпрд╛рдж рдХрд░рддреЗ рд╣реИрдВ?

NetBSD рдХрд░реНрдиреЗрд▓ (рдФрд░ libc/libpthread) рдореЗрдВ, рдпрд╣ CoreCLR рдХрд╛ рдПрдХ рднрд╛рдЧ рд╣реИред FreeBSD рдиреЗ рдЗрд╕реЗ рдкрд┐рдЫрд▓реЗ рджреЛ рд╡рд░реНрд╖реЛрдВ рдореЗрдВ рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ рд╣реИред рдпрд╣ рдирд╡реАрдирддрдо рд╕реНрдерд┐рд░ рд░рд┐рд▓реАрдЬрд╝ рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реЛ рд╕рдХрддрд╛ рд╣реИ .. рд▓реЗрдХрд┐рди рдЬрд╛рдБрдЪ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рдореИрдВ рдЕрдкрдиреЗ .NET рдкреЛрд░реНрдЯрд┐рдВрдЧ рдХреЗ рдкреБрдирд░рд╛рд░рдВрдн рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреЛ рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред (рдиреЗрдЯрд╡рд░реНрдХ рд░реВрдЯрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдПрдХ рдЫреЛрдЯреЗ рд╕реЗ рд▓рд╛рдкрддрд╛ рдПрдкреАрдЖрдИ рдХрд╛ рднреА рдкрддрд╛ рдЪрд▓рд╛ рдерд╛ .. рд▓реЗрдХрд┐рди рдореИрдВ рдЗрд╕реЗ рдЕрднреА рдЫреЛрдбрд╝ рджреЗрддрд╛ рд╣реВрдВ)ред

рдХреНрдпрд╛ рдпрд╣ .NET рдХреЛрд░ рдкрд╛рд▓ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИ?

рдореБрдЭреЗ рдЕрдм рдпрд╛рдж рдирд╣реАрдВ рд╣реИ, рдХреЛрдб рдХреА рдЬрд╛рдВрдЪ рдХрд┐рдП рдмрд┐рдирд╛ - рдпрд╣ рдПрдкреАрдЖрдИ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ .NET рдирд╛рдордХ рдордЬрдмреВрдд рдореНрдпреВрдЯреЗрдХреНрд╕ (рдпрд╛ рд╢рд╛рдпрдж рд╕реЗрдорд╛рдереЛрд░) рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдЖрдк рдХрд┐рд╕ рд╕реАрдЖрдИ рд╕рд┐рд╕реНрдЯрдо рдХрд╛ рдЬрд┐рдХреНрд░ рдХрд░ рд░рд╣реЗ рд╣реИрдВ?

рдиреЗрдЯрдмреАрдПрд╕рдбреАред

рдпрд╣ .NET рдХреЛрд░ рдкреЛрд░реНрдЯ рдкреНрд░рдпрд╛рд╕ рд╕реЗ рдХреНрдпреЛрдВ рдЬреБрдбрд╝рд╛ рд╣реИ?

рдкрд┐рдЫрд▓реА рдмрд╛рд░ рдЬрдм рдореИрдВрдиреЗ рджреЗрдЦрд╛ рддреЛ рдпрд╣ рд╡реИрдХрд▓реНрдкрд┐рдХ рд╕реБрд╡рд┐рдзрд╛ рдереАред рдореИрдВрдиреЗ рдХрд░реНрдиреЗрд▓-рдЗрдВрдЯрд░рдлреЗрд╕ рдФрд░ рдЙрдкрдпреЛрдЧрд┐рддрд╛рдУрдВ (рдЬреИрд╕реЗ рдПрд▓рдПрд▓рдбреАрдмреА) рдкрд░ рдлреАрдЪрд░-рд╕рдорддрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ред рдмрд╕ рдореЗрд░реА рдХрд╛рд░реНрдпрд╢реИрд▓реА, рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдмрд┐рд▓реНрдбрд┐рдВрдЧрдмреНрд▓реЙрдХ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдФрд░ рдмрд╛рдж рдореЗрдВ рдПрдХ рдШрд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдПред рдХрд┐рд╕реА рдмрд┐рдВрджреБ рдкрд░ рд╣рдореЗрдВ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА, рддреЛ рдХреНрдпреЛрдВ рди рдЗрд╕реЗ рдПрдХ рдмрд╛рд░ рдореЗрдВ рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПред рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж :)

рд╢рд╛рдпрдж рдЖрдк рдХреЗрд╡рд▓ GH рдкрд░ freebsd-dotnet рд╕рдореВрд╣ рдХреЛ рдЯреИрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ? рд╡рд╣ рд╡рд╣рд╛рдВ рдПрдХ рд╕рджрд╕реНрдп рд╣реИ (рдпрд╛ рдЖрдк рдЙрд╕рдХреЗ рдЦрд╛рддреЗ рдХрд╛ рдирд╛рдо рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ)ред рдЙрдирдХрд╛ рдИрдореЗрд▓ [email protected] рд╣реИ

[рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ] @karelz . рджреНрд╡рд╛рд░рд╛ рд╕реБрдиреА рдЧрдИ рдИрдореЗрд▓ рдФрд░ рдкрд┐рдЫрд▓рд╛ рдЙрддреНрддрд░ рд╣рдЯрд╛рдПрдВ

@RussellHaley рдмрдбрд╝реЗ рд╕рдореВрд╣ рдХреЛ рдЯреИрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рддрдВрддреНрд░ рдорд╣рд╕реВрд╕ рдХрд░реЗрдВ рдпрджрд┐ рдЖрдкрдХреЛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЙрдЪрд┐рдд рд╣реИред рдореИрдВ рдореИрдереНрдпреВ рдХреЗ рдЬреАрдПрдЪ рдЦрд╛рддреЗ рдХреЛ рдЙрд╕рдХреЗ рдирд╛рдо рдФрд░ рдИрдореЗрд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдирд╣реАрдВ рдвреВрдВрдв рд╕рдХрд╛, рдпрд╣реА рдореЗрд░рд╛ рдорддрд▓рдм рдКрдкрд░ рдерд╛ (рдмреАрдЯреАрдбрдмреНрд▓реВ: рдореИрдВрдиреЗ рдЙрд╕реЗ рд╕реАрдзреЗ рдИрдореЗрд▓ рдкрд░ рдкрд┐рдВрдЧ рдХрд┐рдпрд╛)ред

рдореИрдВ рд╕рдореВрд╣ рдХреЛ рдЯреИрдЧ рдХрд░рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реВрдВрдЧрд╛ред

рдпреЗ рд░рд╣рд╛ рдореИрдереНрдпреВ рдХрд╛ рдПрдХрд╛рдЙрдВрдЯред рд╢рд╛рдпрдж рдПрдХ рдЧреЛрдкрдиреАрдпрддрд╛ рд╕реЗрдЯрд┐рдВрдЧ?

https://github.com/mprevot

рдЪреАрдпрд░реНрд╕,

рд░рд╕

рд╕реЛрдо, 18 рд╕рд┐рддрдВрдмрд░, 2017 рдХреЛ рджреЛрдкрд╣рд░ 1:01 рдмрдЬреЗ, рдХрд╛рд░реЗрд▓ рдЬрд╝рд┐рдХрдордВрдб рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com
рд▓рд┐рдЦрд╛ рдерд╛:

@RussellHaley https://github.com/russellhaley рдмреЗрдЭрд┐рдЭрдХ рдЯреИрдЧ рдХрд░реЗрдВ
рдмрдбрд╝рд╛ рд╕рдореВрд╣ рдЕрдЧрд░ рдЖрдкрдХреЛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЙрдЪрд┐рдд рд╣реИред рдореБрдЭреЗ Matheu's GH рдирд╣реАрдВ рдорд┐рд▓рд╛
рдЙрд╕рдХреЗ рдирд╛рдо рдФрд░ рди рд╣реА рдИрдореЗрд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЦрд╛рддрд╛, рдпрд╣реА рдореЗрд░рд╛ рдорддрд▓рдм рдКрдкрд░ рдерд╛ред

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/dotnet/corefx/issues/1626#issuecomment-330338996 , рдпрд╛ рдореНрдпреВрдЯ рдХрд░реЗрдВ
рд╕реВрддреНрд░
https://github.com/notifications/unsubscribe-auth/ACENF_N6mtOo3fptvku-LUMioNpZG7coks5sjswWgaJpZM4EPG-N
.

рдореИрдВ рдпрд╣рд╛рдВ рдХрд╣реАрдВ рднреА рдЙрд▓реНрд▓реЗрдЦрд┐рдд рдирд╣реАрдВ рджреЗрдЦ рд╕рдХрддрд╛, рд▓реЗрдХрд┐рди рд╣рдо рдпрд╣рд╛рдВ рдлреНрд░реАрдмреАрдПрд╕рдбреА рдХрд╛ рдХреМрди рд╕рд╛ рдирд┐рдореНрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рд▓рдХреНрд╖рд┐рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ (рдореИрдВ рдХрдо рд╕реЗ рдХрдо 10 рдФрд░ рдмрд╛рдж рдореЗрдВ рдорд╛рдирддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рд╢рд╛рдпрдж 9 рднреА)?
(рдореИрдВ рднреА рдереЛрдбрд╝рд╛ рднреНрд░рдорд┐рдд рд╣реВрдВ рдХрд┐ рдореЛрдиреЛ @freebsd рдореЗрд▓рд┐рдВрдЧ рд╕реВрдЪреА рдкрд░ рдХреНрдпрд╛ рдЪрд░реНрдЪрд╛ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП, рдФрд░ рдпрд╣рд╛рдВ рдХреНрдпрд╛?)

рдареАрдХ рд╣реИ, рдЕрдЧрд░ рдлреЗрдбреЛрд░рд╛ рдХреБрдЫ рднреА рд╣реЛ рдЬрд╛рдП, рддреЛ рдПрдордПрд╕ рдХреЗрд╡рд▓ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд╕рдорд░реНрдерд┐рдд рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░реЗрдЧрд╛, рдЕрд░реНрдерд╛рдд 10.3 (рдЬрд▓реНрдж рд╣реА 10.4) рдФрд░ 11.1ред

@radovanovic FreeBSD 9 рдЕрдм рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИ, 10 рдЕрдкреНрд░реИрд▓ 2018, 11 рдореЗрдВ 2021 рдореЗрдВ EoL рд╣реЛрдЧрд╛ред рдореЗрд░реЗ рдЕрдиреБрднрд╡ рд╕реЗ 11 рдмрдирд╛рдо 10 (рдФрд░ рдпрджрд┐ рдЖрдк рдЪрд╛рд╣реЗрдВ рддреЛ 9 рднреА) рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред FreeBSD рдХреЛ рдкрд┐рдЫрдбрд╝реЗ рд╕рдВрдЧрддрддрд╛ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрдХрд░ рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

@radovanovic рдореИрдВ рднреА рдереЛрдбрд╝рд╛ рднреНрд░рдорд┐рдд рд╣реВрдВ рдХрд┐ рдореЛрдиреЛ @ рдлреНрд░реАрдмреАрдПрд╕рдбреА рдореЗрд▓рд┐рдВрдЧ рд╕реВрдЪреА рдкрд░ рдХреНрдпрд╛ рдЪрд░реНрдЪрд╛ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП, рдФрд░ рдпрд╣рд╛рдВ рдХреНрдпрд╛ рд╣реИ?

рдореБрдЭреЗ рдпрд╣рд╛рдВ рдкрд░ рддрдХрдиреАрдХреА рдЪрд░реНрдЪрд╛, рдХрд╛рдо рдХреЗ рд╕рдордиреНрд╡рдп рдФрд░ рд╕реНрдерд┐рддрд┐ рдХреА рдЙрдореНрдореАрдж рдереА рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдореЛрдиреЛ@рдлреНрд░реАрдмреАрдПрд╕рдбреА рдореЗрд▓рд┐рдВрдЧ рд╕реВрдЪреА рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рд╡реНрдпрд╛рдкрдХ рджрд░реНрд╢рдХ рд╣реИрдВред рдУрдЯреАрдУрдПрдЪ рд╣рдо рдирд╣реАрдВ рдЪрд╛рд╣рддреЗ рдХрд┐ рдПрдХ рдореБрджреНрджреЗ рдкрд░ рд▓рд╛рдЦреЛрдВ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдЪрд░реНрдЪрд╛рдПрдВ рд╣реЛрдВ, рдЗрд╕рд▓рд┐рдП рд╣рдо рдХреБрдЫ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдбрд┐рдЬрд╛рдЗрди рдЪрд░реНрдЪрд╛рдУрдВ рдХреЛ рдЗрд╕ рд╕реЗ рдЕрд▓рдЧ рдореБрджреНрджреЛрдВ рдореЗрдВ рд▓реЗ рд╕рдХрддреЗ рд╣реИрдВ рдпрджрд┐ рд╡реЗ рдЙрдЪрд┐рдд рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдЙрддреНрддрд░реЛрдВ рд╕реЗ рдКрдкрд░ рдмрдврд╝рддреЗ рд╣реИрдВред

рдореИрдВ рдЕрдВрддрддрдГ FreeBSD 11.0 (рдмрд╛рд╣рд░реА рд▓реВрдк рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рдмрд┐рдирд╛) рдкрд░ corefx рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛
рдХреБрд▓ рдЙрддреНрддреАрд░реНрдг: 144208
рдХреБрд▓ рд╡рд┐рдлрд▓: 2622
рдХреБрд▓ рдЫреЛрдбрд╝реЗ рдЧрдП 207

рдореИрдВ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЗ рд╕рд╛рде https://github.com/dotnet/corefx/wiki/Building-.NET-Core--2.x-on-FreeBSD рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░реВрдВрдЧрд╛ред рдореИрдВ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдореБрджреНрджреЛрдВ рдХреЛ рджрд░реНрдЬ рдХрд░реВрдВрдЧрд╛ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдУрдПрд╕-рдлреНрд░реАрдмреАрдПрд╕рдбреА рдФрд░ рдЕрдк-рдлреЙрд░-рдЧреНрд░реИрдм рдХреЗ рд╕рд╛рде рдЯреИрдЧ рдХрд░реВрдВрдЧрд╛ред
рдкреВрд░реНрдг рдкреИрдорд╛рдиреЗ рдкрд░ рд▓рдбрд╝рд╛рдИ рд╢реБрд░реВ рд╣реЛ рд╕рдХрддреА рд╣реИред рд╕реНрд╡рдпрдВрд╕реЗрд╡реА рдЖрд╡рд╢реНрдпрдХред

рдФрд░ рд╣рд╛рдБ, рдореИрдВрдиреЗ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдЪрд░рдг рджреЛ рдХреЛ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ред рдореИрдВ рдЙрд╕ рдкрд░ рднреА рд╡рд╛рдкрд╕ рдЖрдКрдВрдЧрд╛ред

рдХреБрдЫ рдХрд╛рд░реНрдп-рдкреНрд░рдЧрддрд┐ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рд╕рд╛рде рд╡рд░реНрддрдорд╛рди рдЖрдБрдХрдбрд╝реЗ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рджрд┐рдЦрд╛рдИ рджреЗрддреЗ рд╣реИрдВ:
рдХреБрд▓ рдЙрддреНрддреАрд░реНрдг: 238892
рдХреБрд▓ рд╡рд┐рдлрд▓: 58
рдХреБрд▓ рдЫреЛрдбрд╝реЗ рдЧрдП 1628

System.Runtime.Tests.dll, 1
System.Net.Ping.Functional.Tests.dll, 7
System.Net.NameResolution.Pal.Tests.dll, 3
System.Net.NameResolution.Functional.Tests.dll, 4
System.IO.MemoryMappedFiles.Tests.dll, 1
System.IO.FileSystem.Tests.dll, 7
System.Globalization.Tests.dll, 2
System.Drawing.Common.Tests.dll, 31
System.Console.Tests.dll, 2

dotnet/corefx#24538 рдЯреВрдЯреЗ рдХрдк рд╕рдкреЛрд░реНрдЯ рдХреЛ рдЯреНрд░реИрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЦреБрд▓рд╛ред

рдЬрдмрд░рджрд╕реНрдд рдкреНрд░рдЧрддрд┐! рдлреНрд░реАрдмреАрдПрд╕рдбреА рд╕рдкреЛрд░реНрдЯ рдЗрди-рдЯреНрд░реА рд╣реЛрдиреЗ рдкрд░ рдиреЗрдЯрдмреАрдПрд╕рдбреА рдЬреЛрдбрд╝рдирд╛ рдЖрд╕рд╛рди рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

@wfurt рдХреГрдкрдпрд╛ рдИ-рдореЗрд▓ рдкрддрд╛ рд╕рд╛рдЭрд╛ рдХрд░реЗрдВ, рдореИрдВ рдХреБрдЫ рдкрдВрдХреНрддрд┐рдпрд╛рдВ рдЫреЛрдбрд╝ рджреВрдВрдЧрд╛ред

рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╕рдорд░реНрдерди рдХреЛ рдорд╛рд╕реНрдЯрд░ рд╢рд╛рдЦрд╛ рдореЗрдВ рдорд┐рд▓рд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдмрд┐рд▓реНрдб рдХреЛ рд╡рд┐рдХреА рдкреЗрдЬ рдкрд░ рдмрддрд╛рдП рдЕрдиреБрд╕рд╛рд░ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдореИрдВ dotnet/corefx#24386 рдкрд░ рдзреАрд░реЗ-рдзреАрд░реЗ рдкреНрд░рдЧрддрд┐ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рд▓реЗрдХрд┐рди рдЗрд╕рд╕реЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдкреАрдЫреЗ рдирд╣реАрдВ рд╣рдЯрдирд╛ рдЪрд╛рд╣рд┐рдПред

рдХреНрдпрд╛ рд╣рдо рдкрд╣рд▓реЗ рд╕реЗ рд╣реА FreeBSD рдкрд░ .NET рдмреВрдЯрд╕реНрдЯреНрд░реИрдк рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

рдореИрдВрдиреЗ рдереЛрдбрд╝реА рджреЗрд░ рдХреЗ рд▓рд┐рдП рдХреЛрд╢рд┐рд╢ рдирд╣реАрдВ рдХреА рд╣реИ @krytarowski 2.0 рд░рд┐рд▓реАрдЬ рдХреЗ рд▓рд┐рдП рдЯреВрд▓рд┐рдВрдЧ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдХреНрдХрд╛ рдерд╛ рдФрд░ рдореИрдВ рдЙрд╕ рдкреНрд░рдпрд╛рд╕ рдХреЛ рд╕реНрдерд┐рд░ рдХрд░рдиреЗ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд░рд╣рд╛ рдерд╛ред рдореИрдВ рдЗрд╕реЗ рдПрдХ рдФрд░ рдХреЛрд╢рд┐рд╢ рджреВрдВрдЧрд╛ рдФрд░ рдореИрдВ рдЕрдкрдбреЗрдЯ рдкреЛрд╕реНрдЯ рдХрд░реВрдВрдЧрд╛ред

рдирдорд╕реНрддреЗ, рдЗрд╕рд▓рд┐рдП рдореИрдВ clr рдкреНрд░рдмрдВрдзрд┐рдд рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рд╕рд╛рде рдирд╣реАрдВ рдЪрд▓ рд░рд╣рд╛ рд╣реВрдВред https://pastebin.com/B5KhtKX5

рдХреЛрдИ рднреА рдЗрдирдкреБрдЯ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдХреБрдЫ рд╕рдордп рдХреЗ рд▓рд┐рдП рдПрдХ рдореБрджреНрджрд╛ рд░рд╣рд╛ рд╣реИред рдореИрдВрдиреЗ рд╣рд╛рд▓ рд╣реА рдореЗрдВ рд╡рд┐рдВрдбреЛрдЬрд╝ (рдорд╛рд╕реНрдЯрд░, рдЧрд┐рдЯ рд╕рдВрд╢реЛрдзрди 749194e) рдкрд░ рдХреЛрд░рдПрдлрдПрдХреНрд╕ рдмрд┐рд▓реНрдбрд┐рдВрдЧ рдкрд░ рдмрд┐рд▓реНрдб рд╡рд┐рдлрд▓рддрд╛ рдореЗрдВ рднреА рднрд╛рдЧ рд▓рд┐рдпрд╛ рд╣реИред https://pastebin.com/JXUySLTY

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рд░реБрдХ-рд░реБрдХ рдХрд░ рд╣реЛрдиреЗ рд╡рд╛рд▓реА рд╕рдорд╕реНрдпрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдЗрд╕рдиреЗ рдореБрдЭреЗ рдЖрдЬ рд░рд╛рдд рдзреАрдорд╛ рдХрд░ рджрд┐рдпрд╛ рд╣реИред

рдпрджрд┐ рдЖрдк рддреНрд░реБрдЯрд┐ рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВ:

tests/runtest.sh: line 786: ((: i<: syntax error: operand expected (error token is "<")

рдФрд░ рдХреЛрдб рдХреА

bash for (( i=0; i<$maxProcesses; i++ )); do

рдореЗрд░реА рдЖрдВрдд рдХреА рднрд╛рд╡рдирд╛ рдпрд╣ рд╣реЛрдЧреА рдХрд┐ $maxProcesses рдкрд░рд┐рднрд╛рд╖рд┐рдд рдирд╣реАрдВ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдЕрдкреВрд░реНрдг рдмреВрд▓рд┐рдпрди рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рд╣реЛрддреА рд╣реИ:

diff +for (( i=0; i<$maxProcesses; i++ )); do -for (( i=0; i<; i++ )); do

рдпрд╣ рдХрд╛рдлреА рдкрд░реАрдХреНрд╖рдг рдпреЛрдЧреНрдп рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдФрд░ рдЕрдЧрд░ рдРрд╕рд╛ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреАрдЫреЗ рдХреА рдУрд░ рдЬрд╛рдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдЖрдк рдЗрд╕ рддрд░рд╣ рдХреИрд╕реЗ рд╕рдорд╛рдкреНрдд рд╣реБрдПред

рдЖрдкрдХреА рд╕рд╣рд╛рдпрддрд╛рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж! @josteink :) рддреБрдо рд╕рд╣реА рд╣реЛред рдкреИрдЪ рдпрд╣рд╛рдБ рд╣реИ: https://pastebin.com/d5y9k1tw

рдпрд╣ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдПрдХ рд╣реА рдкреНрд░рдХреГрддрд┐ рдХреЗ ~ 1000 рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдЫреЛрдбрд╝ рджрд┐рдпрд╛:

рд╡рд┐рдлрд▓ - рдЬреЗрдЖрдИрдЯреА/рд╡рд┐рдзрд┐/рдХрд╛рд╕реНрдЯ/рдЖрдИрдлреЗрд╕/_il_dbgiface2/_il_dbgiface2.sh
рдирд┐рд╖реНрдкрд╛рджрди рд╢реБрд░реВ рдХрд░реЗрдВ
/usr/home/russellh/Git/coreclr/bin/tests/Windows_NT.x64.Debug/Tests/coreoverlay/corerun _il_dbgiface2.exe
coreclr_initialize рд╡рд┐рдлрд▓ - рд╕реНрдерд┐рддрд┐: 0x80004005
рдЕрдкреЗрдХреНрд╖рд┐рдд: 100
рд╡рд╛рд╕реНрддрд╡рд┐рдХ: 255
рдЕрдВрдд рдирд┐рд╖реНрдкрд╛рджрди - рд╡рд┐рдлрд▓

рдареАрдХ рд╣реИ, @janvorli рд╕реЗ рдмрд╣реБрдд рд╣реА рдЙрддреНрдХреГрд╖реНрдЯ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ

https://github.com/dotnet/coreclr/issues/1419

рдкреИрдЪ рдпрд╣рд╛рдБ рд╣реИ: https://pastebin.com/d5y9k1tw

рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рдкреИрдЪ рд╣реИ рдЬреЛ рдЯреВрдЯреЗ рд╣реБрдП рдирд┐рд░реНрдорд╛рдг рдХреЛ рдареАрдХ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдореИрдВ рдЗрд╕реЗ рдкреБрд▓-рдЕрдиреБрд░реЛрдз рдХреЗ рд░реВрдк рдореЗрдВ рднреЗрдЬрдиреЗ рдХреА рдЕрдиреБрд╢рдВрд╕рд╛ рдХрд░рддрд╛ рд╣реВрдВ рддрд╛рдХрд┐ рдпрд╣ рд╕рднреА рдХреЗ рд▓рд┐рдП рддрдп рд╣реЛ рдЬрд╛рдП :)

рдзрдиреНрдпрд╡рд╛рдж рдореИрдВ рдХрд░реВрдВрдЧрд╛ред рдореИрдВ рдЕрднреА рднреА рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рдерд╛ рдХрд┐ рдХрд▓ рд░рд╛рдд рдмрд╛рдж рдХреА рддреНрд░реБрдЯрд┐ рдХреНрдпрд╛ рд╣реЛ рд░рд╣реА рдереАред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдиреЗрдЯрдХреЛрд░ 2.1 (рдПрдХ рдмрд╛рд░ рдЬрд╛рд░реА рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж) рдХреЗ рд▓рд┐рдП рдлреНрд░реАрдмреАрдПрд╕рдбреА 11 "рдкреАрдХреЗрдЬреА рдЗрдВрд╕реНрдЯреЙрд▓" рд╕рдорд░реНрдерди рдирд╣реАрдВ рд╣реЛрдЧрд╛, рд╣реИ рдирд╛?

рдЯреАрдПрд▓рдбреАрдЖрд░; рдмрд╣реБрдд рдХрд╛рдо рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рдШрд░ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рдХреА рдЬрд░реВрд░рдд рд╣реИред рдкреЛрд░реНрдЯ рдореЗрдХрдлрд╛рдЗрд▓ рд▓рд┐рдЦрдирд╛ рдЖрд╕рд╛рди рд╣рд┐рд╕реНрд╕рд╛ рд╣реИред

@wfurt рд╕реАрдПрд▓рдЖрд░ рдФрд░ рдПрдлрдПрдХреНрд╕ рдХреЛ рд▓рд┐рдирдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмрдирд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛ рд▓реЗрдХрд┐рди рдпрд╣ рдХрд╛рдлреА рд╣рдж рддрдХ

рдЕрд▓рдЧ рд╕реЗ [email protected] рдореЗрд▓рд┐рдВрдЧ рд╕реВрдЪреА рдкрд░, @dragonsa рдиреЗ рд▓рд┐рдирдХреНрд╕ рдПрдореБрд▓реЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдорд┐рдВрдЯреЛрд╕ рд╕реЗ рдбреЙрдЯ рдиреЗрдЯ рдХреЛрд░ 1 рдФрд░ рд╕рднреА рдЯреВрд▓рдЪреЗрди (msbuild, nuget рдЖрджрд┐) рдХрд╛ рдПрдХ рдмрд╛рдЗрдирд░реА рд╕рдВрд╕реНрдХрд░рдг рдЖрдпрд╛рдд рдХрд┐рдпрд╛ рд╣реИред рдореИрдВ рдЙрдирдХреЗ рдкреИрдЪ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдФрд░ рдХреБрдЫ рдЯреВрд▓реНрд╕ рдЪрд▓рд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реВрдВ рд▓реЗрдХрд┐рди рдХреБрдЫ рднреА рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрднреА рдирд╣реАрдВ рдорд┐рд▓рд╛ред рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдпреЗ рдкреИрдЪ рдЕрднреА рддрдХ рдкреНрд░рддрд┐рдмрджреНрдз рд╣реИрдВ; рдореИрдВ рдЙрдирдХреА рд╕рдореАрдХреНрд╖рд╛ рдХрд░рдиреЗ рдХреЗ рдмреАрдЪ рдореЗрдВ рдерд╛ рдФрд░ рдореИрдВрдиреЗ рдиреМрдХрд░реА рдмрджрд▓ рджреАред рдореЗрд░реА рд╡рд░реНрддрдорд╛рди рднреВрдорд┐рдХрд╛ рдореЗрдВ рдХреЛрдИ рдбреЙрдЯрдиреЗрдЯ рдирд╣реАрдВ рд╣реИ рдФрд░ рдореИрдВ рдЕрднреА рдЕрдиреНрдп рдЪреАрдЬреЛрдВ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реВрдВред

рдЗрд╕ рд╕рдм рдХрд╛ рдХреНрдпрд╛ рдорддрд▓рдм рд╣реИ? рдЕрдЧрд░ рдХреЛрдИ @dragonsa рдХреЗ рдкреИрдЪ рдХреЛ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ рддреЛ рд╡рд╣ рдЙрдиреНрд╣реЗрдВ рдмрдВрджрд░рдЧрд╛рд╣реЛрдВ рдХреЗ рдкреЗрдбрд╝ рдХреЛ рдзрдХреНрдХрд╛ рджреЗ рд╕рдХрддрд╛ рд╣реИ, рдлрд┐рд░ рдореВрд▓ рд░реВрдк рд╕реЗ рдлреНрд░реАрдмреАрдПрд╕рдбреА рдкрд░ рдХреЛрд░ 2 рдмрдирд╛рдирд╛ рддрдХрдиреАрдХреА рд░реВрдк рд╕реЗ рд╕рдВрднрд╡ рд╣реИред рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐, рдмрд╣реБрдд рд╕реЗ рдЫреЛрдЯреЗ рд╣рд┐рд╕реНрд╕реЗ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдПрдХ рд╕рд╛рде рд▓рд╛рдиреЗ рдФрд░ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдореИрдВрдиреЗ рдЙрд╕ рдкрд░ рдЧреЗрдВрдж рдЧрд┐рд░рд╛ рджреА рд╣реИ рдЗрд╕рд▓рд┐рдП рдХрд┐рд╕реА рдХреЛ рдЗрд╕реЗ рд▓реЗрдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИред рдореЗрд░рд╛ рд╕реБрдЭрд╛рд╡ рд╣реИ рдХрд┐ рдЖрдк [email protected] рдореЗрд▓рд┐рдВрдЧ рд╕реВрдЪреА рдкрд░ https://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/eresources-mail.html

@russellhadley рд░рд╛рдЗрдЯрдЕрдк рд░рд╕реЗрд▓ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред

рдирдорд╕реНрддреЗ,

рдпрд╣рд╛рдВ рдПрдХ .NET рджреЗрд╡ рдХреЗ рд╕рд╛рде рдЗрд╕ рдкрд░ рдЪрд░реНрдЪрд╛ рдХрд░рддреЗ рд╣реБрдП, рдореИрдВ рдПрдХ рдлреНрд░реАрдмреАрдПрд╕рдбреА рдкреЛрд░реНрдЯ/рдкреИрдХреЗрдЬ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдореЗрдВ рд╕рд╣рд╛рдпрддрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реВрдВред

рдкреВрд░реНрдг рдкреНрд░рдХрдЯреАрдХрд░рдг: рдореИрдВ .NET рдбреЗрд╡рд▓рдкрд░ рдирд╣реАрдВ рд╣реВрдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореИрдВ рдЗрд╕реЗ рдЯреНрд░реА рдореЗрдВ рд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рдХреЗ рднреА рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЛ рддреИрдпрд╛рд░ рд╣реВрдВред

~ рд╕рд╛рдЗ

@cschuber рдореИрдВ рдЪреАрдЬреЛрдВ рдХреА рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐ рдкрд░ рдирдЬрд░ рд░рдЦрдиреЗ рдореЗрдВ рдмрд╣реБрдд рд╡реНрдпрд╕реНрдд рд╣реВрдВ, рд▓реЗрдХрд┐рди рдХрд┐рд╕реА рдРрд╕реЗ рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд░реВрдк рдореЗрдВ рдЬрд┐рд╕рдиреЗ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдлреНрд░реАрдмреАрдПрд╕рдбреА-рдкреИрдЪ рдЬрдорд╛ рдХрд┐рдП рдФрд░ рд▓рдЧрднрдЧ 3 рд╕рд╛рд▓ рдкрд╣рд▓реЗ рд╣реИрд▓реЛ рд╡рд░реНрд▓реНрдб рдЪрд▓рд╛рдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рд░рд╣реЗ, рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдЕрдЧрд░ рд╣рдо рдЕрдВрдд рдореЗрдВ рджреЗрдЦреЗрдВ рдХрд┐ рдпрд╣ рдЪреАрдЬ рдареАрдХ рд╕реЗ рдЙрддрд░ рд░рд╣реА рд╣реИред рдЖрдкрдХреЛ рдореЗрд░рд╛ рдкреВрд░рд╛ рд╕рдорд░реНрдерди рд╣реИ :)

@cschuber , рд╡рд░реНрддрдорд╛рди рд╕рдХреНрд░рд┐рдп рдореБрджреНрджреЗ https://github.com/dotnet/coreclr/issues/18067 рд╣реИрдВред рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдЗрди рдЪрд╛рд░ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЛ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ https://github.com/dotnet/corefx/issues?q=is :open+ рд▓реЗрдмрд▓:os-freebsd+label :up-for-grabs+is:issue, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рд╡рд╛рдЪрд░ рд▓рдЧрддрд╛ рд╣реИ рд╕рдмрд╕реЗ рдореБрд╢реНрдХрд┐рд▓/рдордЬрд╝реЗрджрд╛рд░ рдПрдХ https://github.com/dotnet/corefx/issues/2046ред

@cschuber рдСрдлрд╝рд░ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рд╣рдо рд▓рдЧрднрдЧ рдЙрд╕ рдмрд┐рдВрджреБ рдкрд░ рд╣реИрдВ рдЬрдм рдпрд╣ рд╕рдВрднрд╡ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
рд╣рдо рд╣рд╛рд▓ рд╣реА рдореЗрдВ @mateusrodrigues рдХреЗ рд╕рд╛рде .net рдХреЛ FreeBSD рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рд╡рд╣ PowerShell рдХреЛ рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реИред рд╕реВрдЪреА @ kasper3 рднреЗрдЬреА рдЧрдИ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдЕрдиреБрдкрд▓рдмреНрдз рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рд╣реИрдВред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдо рдЕрднреА рдХреЗ рд▓рд┐рдП PNSP рдлреЗрдВрдХ рд╕рдХрддреЗ рд╣реИрдВред рдореЗрд░реЗ рд╕рдВрднрд╛рд╡рд┐рдд рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рджрдмрд╛рд╡ рд╡рд╛рд▓реЗ рдореБрджреНрджреЗ рд╣реИрдВ dotnet/corefx#30698 рдФрд░ https://github.com/dotnet/coreclr/issues/18481ред рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рд╕рдореБрджрд╛рдп рдХрд╛ рдХреЛрдИ рд╡реНрдпрдХреНрддрд┐ рдЙрдирдореЗрдВ рдЦреБрджрд╛рдИ рдХрд░ рд╕рдХреЗред рдореИрдВрдиреЗ рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдкрд░реАрдХреНрд╖рдг рдирд╣реАрдВ рдХрд┐рдП, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдбрд░ рд╣реИ рдХрд┐ рд╡рд┐рдлрд▓рддрд╛рдУрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдмрдврд╝ рдЧрдИ рд╣реИред
рд╣рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдирдП рдЕрд╕рдлрд▓ рд╕рдореВрд╣ рдХреЗ рд▓рд┐рдП рдЕрдВрдХ рдЦреЛрд▓рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдореИрдВ рд╕реЛрд░реНрд╕-рдмрд┐рд▓реНрдб рдХреЛ рдареАрдХ рдХрд░рдирд╛ рднреА рд╢реБрд░реВ рдХрд░рддрд╛ рд╣реВрдВ рд▓реЗрдХрд┐рди рдЕрднреА рднреА рдХреБрдЫ рдЪреБрдиреМрддрд┐рдпрд╛рдВ рд╣реИрдВред
рд╕реА # рдХрдВрдкрд╛рдЗрд▓рд░ рд╕реА # рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИред рд╡рд░реНрддрдорд╛рди .net рдмрд┐рд▓реНрдб рдкреНрд░рдмрдВрдзрд┐рдд рдЕрд╕реЗрдВрдмрд▓реА рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП .net рдХреЗ рдкрд┐рдЫрд▓реЗ рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдпрд╣ Nuget рдХреЗ рдкреИрдХреЗрдЬ рдкрд░ рднреА рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред
рдЕрднреА, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдкрд░реНрдпрд╛рдкреНрдд рдмреВрдЯрд╕реНрдЯреНрд░реИрдк рдХреНрд▓реА рд╣реИ рдЬрд┐рд╕рд╕реЗ рд╣рдо FreeBSD рдкрд░ coreclr, corefx рдФрд░ рдХреБрдЫ рдЕрдиреНрдп рд░реЗрдкреЛ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред рдореИрдВрдиреЗ 2.1 рдкрд░рд┐рд╡рд░реНрддрди рдФрд░ рд╕реНрд░реЛрдд-рдмрд┐рд▓реНрдб рдХреЛ рдкреНрд░рддрд┐рдмрд┐рдВрдмрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрднреА рддрдХ рдмрд┐рд▓реНрдбрд┐рдВрдЧ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЛ рдЕрдкрдбреЗрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИред

+1 рдХрд╣рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╕ рдПрдХ рдиреЛрдЯ рдореБрдЭреЗ рдЦреБрд╢реА рд╣реИ рдХрд┐ рдЗрд╕рдореЗрдВ рдЕрднреА рднреА рдХреБрдЫ рдЧрддрд┐ рд╣реИред рдЗрддрдиреЗ рд╕рд╛рд░реЗ рдЧрддрд┐рд╢реАрд▓ рднрд╛рдЧреЛрдВ рдХрд╛ рдЕрдиреБрд╕рд░рдг рдХрд░рдирд╛ рдХрдард┐рди рд╣реИ рд▓реЗрдХрд┐рди рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд▓реЛрдЧ рдкреНрд░рдЧрддрд┐ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдореИрдВрдиреЗ рдХреБрдЫ рд╕рдордп рдкрд╣рд▓реЗ https://github.com/dotnet/coreclr/issues/6115 рдмрдирд╛рдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдЬрд┐рд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдкрд░ рдореИрдВ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рдерд╛, рдЙрд╕реЗ рд░реЛрдХ рджрд┐рдпрд╛ рдЧрдпрд╛ред рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЖрд╢рд╛ рдХрд░рддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ pkg install dotnet && dotnet build рдПрдХ рджрд┐рди (рд▓рд┐рдирдХреНрд╕ рдХреЙрдореНрдкреИрдЯ рдХреЗ рдмрд┐рдирд╛) рдЬрд┐рддрдирд╛ рдЖрд╕рд╛рди рд╣реЛред

рдЗрд╕рдХреЗ рд▓рд┐рдП рднреА рддрддреНрдкрд░ рд╣реИрдВ

рд╣рдореЗрдВ рдЕрдм рджреИрдирд┐рдХ рдирд┐рд░реНрдорд╛рдг рдорд┐рд▓ рд░рд╣реЗ рд╣реИрдВред рдХреЛрдИ рдпрд╣рд╛рдВ рд░рдирдЯрд╛рдЗрдо рдпрд╛ рдПрд╕рдбреАрдХреЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ: https://dotnetcli.blob.core.windows.net/dotnet/Runtime/master/dotnet-runtime-latest-freebsd-x64.tar.gz рдФрд░
https://dotnetcli.blob.core.windows.net/dotnet/Sdk/master/dotnet-sdk-latest-freebsd-x64.tar.gz

рдХреНрд░реЙрд╕-рдЯрд╛рд░рдЧреЗрдЯ рдХрд░рдирд╛ рднреА рд╕рдВрднрд╡ рд╣реИ рдЬреИрд╕реЗ рдХрд┐ рд▓рд┐рдирдХреНрд╕ рдпрд╛ рд╡рд┐рдВрдбреЛрдЬ рдкрд░ рдХреЛрдИ dotnet publish -r freebsd-x64 рдФрд░ рдпрд╣ рд╕реНрд╡-рдирд┐рд╣рд┐рдд рдлреНрд░реАрдмреАрдПрд╕рдбреА рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдПрдЧрд╛ред

рдпрд╣ рдЕрднреА рднреА рдЕрдзреВрд░рд╛ рдФрд░ рдЕрд╕рдорд░реНрдерд┐рдд рд╣реИ рд▓реЗрдХрд┐рди рдЗрд╕реЗ рдХрд┐рд╕реА рдХреЗ рд▓рд┐рдП рднреА рдпреЛрдЧрджрд╛рди рдХрд░рдирд╛ рдЖрд╕рд╛рди рдмрдирд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рд▓реЛрдЧ рдЗрд╕реЗ рдЖрдЬрдорд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдореБрджреНрджреЛрдВ рдХреА рд░рд┐рдкреЛрд░реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рд╕рд╛рде рд╣реА рдлреАрдЪрд░ рдЧреИрдк рдХреЛ рдмрдВрдж рдХрд░рдиреЗ рдФрд░ рдмрдЧреНрд╕ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдВрддрд┐рдо рдкреБрд╢ рдХреЗ рд▓рд┐рдП рдпрд╣ рдЕрдЪреНрдЫрд╛ рд╕рдордп рд╣реЛрдЧрд╛ред

cc: @mateusrodrigues

рдЕрдЪреНрдЫрд╛ рдХрд╛рдо, @wfurt рдФрд░ @bartonjsред

рдЬрдм рдореИрдВрдиреЗ рд▓рдЧрднрдЧ 2-3 рд╕рд╛рд▓ рдкрд╣рд▓реЗ рдЕрдкрдирд╛ рдкрд╣рд▓рд╛ рдлреНрд░реАрдмреАрдПрд╕рдбреА рдХрдорд┐рдЯ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рджрд┐рдпрд╛, рддреЛ рдореБрдЭреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдирд╣реАрдВ рдерд╛

рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдПрдХ рдмрдбрд╝рд╛ рдореАрд▓ рдХрд╛ рдкрддреНрдерд░ рд╣реИ рдФрд░ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдирдП рдпреЛрдЧрджрд╛рдирдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдмрдВрджрд░рдЧрд╛рд╣ рдХреЛ рдЦрддреНрдо рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдорд┐рд▓реЗрдЧреАред

рдЙрди рд╕рднреА рдХрд╛ рдмрд╣реБрдд-рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж рдЬрд┐рдиреНрд╣реЛрдВрдиреЗ рд╣рдореЗрдВ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдкрд╣реБрдВрдЪрд╛рдиреЗ рдореЗрдВ рдорджрдж рдХреА

рдЬрдмрд░рджрд╕реНрдд рдкреНрд░рдЧрддрд┐! рдореИрдВ рдЕрднреА рднреА рдЯреВрд▓рдЪреЗрди рдХреЗ рд╕рд╛рде рд▓рдбрд╝ рд░рд╣рд╛ рд╣реВрдВ (рдПрд▓рдПрд▓рдбреАрдмреА рдФрд░ рдПрд▓рдПрд▓рдбреА рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдЕрдзрд┐рдХрд╛рдВрд╢ рдПрд▓рдПрд▓рд╡реАрдПрдо рдкрд░рд┐рдпреЛрдЬрдирд╛рдПрдВ рд╕рдорд╛рдкреНрдд рд╣реЛ рдЪреБрдХреА рд╣реИрдВ) рдФрд░ рдиреЗрдЯрдмреАрдПрд╕рдбреА рдХреЗ рд▓рд┐рдП рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рд╕рд╣рд╛рдпрддрд╛ рдкреНрд░рд╛рдкреНрдд рд╡рд░реНрдЪреБрдЕрд▓рд╛рдЗрдЬреЗрд╢рди (рд▓рд┐рдирдХреНрд╕/рдмреАрдПрд╕рдбреА рдЕрдм рд╡реАрдЯреАрдПрдХреНрд╕ рдШрд╛рддрдХ рдЕрдкрд╡рд╛рдж рддрдХ рдмреВрдЯ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗрддрд╛ рд╣реИ, рдлреНрд░реАрдбреЙрд╕ рдЬреИрд╕реЗ рд╕рд░рд▓ рдУрдПрд╕ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ) .. рдЗрд╕рд▓рд┐рдП рдореИрдВ рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рдХрд░реВрдВрдЧрд╛ рдореЗрд░реА рдиреЗрдЯрдмреАрдПрд╕рдбреА рдкреЛрд░реНрдЯрд┐рдВрдЧ, рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдЬрд▓реНрдж рд╕реЗ рдЬрд▓реНрджред рдмреЗрд╣рддрд░ рдлреНрд░реАрдмреАрдПрд╕рдбреА рд╕рдкреЛрд░реНрдЯ рдПрдХ рдЖрд╕рд╛рди рд░рд┐рдЬреНрдпреВрдореЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдЧрд╛ред

рдмрд╣реБрдд рдмрдврд╝рд┐рдпрд╛ :)

рд╣рдо рдирд╢реЗ рдХрд╛ рдЬрд╢реНрди рдордирд╛рддреЗ рд╣реИрдВ рддреЛ рдмрдо рдХреНрдпреЛрдВ рдмрд░рд╕рддреЗ рд╣реИрдВ ??

@krytarowski рдХреНрдпрд╛ рдЖрдк 'рдлреНрд░реАрдмреАрдПрд╕рдбреА рд╕рдкреЛрд░реНрдЯ' рдмреЗрд╣рддрд░ рддрд░реАрдХреЗ рд╕реЗ рд╡рд┐рдХрд╕рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдЕрдЧрд░ рдХреБрдЫ рдлреНрд░реАрдмреАрдПрд╕рдбреА рдЧреБрд░реБ https://github.com/dotnet/coreclr/issues/22124 рдкрд░ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдореИрдВ рдЙрдореНрдореАрдж рдХрд░рддрд╛ рд╣реВрдВ рдХрд┐ рдмрд╛рдЗрдирд░реА 11 рдХреЗ рд▓рд┐рдП 12 рдкрд░ рдЪрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрдорд╛рдг рдХрд░реЗрдЧреА рд▓реЗрдХрд┐рди рдРрд╕рд╛ рдирд╣реАрдВ рд▓рдЧрддрд╛ рд╣реИ ;(
рд╕рд░рд▓ рдРрдк рдХреЗ рд╕рд╛рде рдкреБрди: рдкреЗрд╢ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИ рдФрд░ 12.0 рд░рд┐рд▓реАрдЬ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХреБрдЫ рдбреЙрдЯрдиреЗрдЯ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред

рдирдорд╕реНрддреЗ, рдореИрдВ рдХреЛрдИ рдЧреБрд░реБ рдирд╣реАрдВ рд╣реВрдВ, рд▓реЗрдХрд┐рди рд╣рдо Lua53 рдкреЛрд░реНрдЯ рдореЗрдВ 12-рд░рд┐рд▓реАрдЬ рдореЗрдВ рдПрдХ рдереНрд░реЗрдбрд┐рдВрдЧ рд░рд┐рдЧреНрд░реЗрд╢рди рдореЗрдВ рднрд╛рдЧреЗред
рдореВрд▓ рдмрдЧ рдХреЗ рд▓рд┐рдП рдпрд╣рд╛рдВ рджреЗрдЦреЗрдВ: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=235158
рдФрд░ рдпрд╣рд╛рдВ рдмреЗрд╕ рд╕рд┐рд╕реНрдЯрдо рдмрдЧ рдХреА рдкрд╣рдЪрд╛рди рдХреА рдЧрдИ рдереА: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=235211 (рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдмреЗрд╕ рд╕рд┐рд╕реНрдЯрдо рдмрдЧ рдЙрд╕ рдХреЛрдб рдХреА рдкрд╣рдЪрд╛рди рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рддреБрд▓рдирд╛ рдХреЗ рд▓рд┐рдП рд╕рдорд╕реНрдпрд╛ рдХреЛ рдкреБрди: рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ)ред

рд▓реБрдЖ рдХреЗ рд▓рд┐рдП рдлрд┐рдХреНрд╕ -рдкрдереНрд░реЗрдб рдХреЗ рдЦрд┐рд▓рд╛рдл рд▓рд┐рдВрдХ рдХрд░рдирд╛ рд╣реИ, рднрд▓реЗ рд╣реА рд▓реБрдЖ рд╕реЗ -рдкреНрдереНрд░реЗрдб рдХреЗ рд▓рд┐рдП рд╢реВрдиреНрдп рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рдзрдиреНрдпрд╡рд╛рдж @RussellHaleyред рдпрд╣ рдЖрд╢рд╛рдЬрдирдХ рдиреЗрддреГрддреНрд╡ рдХреА рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИред

рдореБрдЭреЗ рдЦреБрд╢реА рд╣реИ рдХрд┐ рдореБрдЭрд╕реЗ рдорджрдж рд╣реЛ рд╕рдХреАред рдореБрдЭреЗ рд╕рд╛рде рдЦреЗрд▓рдирд╛ рдЕрдЪреНрдЫрд╛ рд▓рдЧреЗрдЧрд╛ рд▓реЗрдХрд┐рди рд▓реБрдЖ рдмрдВрджрд░рдЧрд╛рд╣ рдХреЛ рдмрдирд╛рдП рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдореЗрд░реЗ рдкрд╛рд╕ рдореБрд╢реНрдХрд┐рд▓ рд╕реЗ рдХреБрдЫ рдШрдВрдЯреЗ рд╣реИрдВред рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдХрд░рддреЗ рд░рд╣реЛ!

рдХреЛрд░рдХреНрд▓рд░ рдореЗрдВ рдлреНрд░реАрдмреАрдПрд╕рдбреА рдереНрд░реЗрдбрд┐рдВрдЧ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ рдареАрдХ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдХреЗ рд░реВрдк рдореЗрдВ , рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐

рдЙрд╕ рдиреЗ рдХрд╣рд╛, рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рд▓реЗрдХрд┐рди рдЯреБрдХрдбрд╝реЗ рдФрд░ рдЯреБрдХрдбрд╝реЗ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдореБрдЭреЗ рдХрднреА рдЫреВрдирд╛ рдирд╣реАрдВ рдкрдбрд╝рд╛ рдЬреЛ "рдирд┐рдпрдорд┐рдд" рдзрд╛рдЧреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ ...

рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдХреЛрдИ рдФрд░ рдЬреЛ рд╕рд╛рдорд╛рдиреНрдп рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирддрд╛ рд╣реЛ, рд╡рд╣ рдЗрд╕рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ? @рдЬрд╛рдирд╡рд░реНрд▓реА ?

рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдареАрдХ рдХрд░рддрд╛ рд╣реИ:

[furt<strong i="6">@daemon</strong> ~]$ LD_PRELOAD=/usr/lib/libpthread.so ./dotnet-3.x/dotnet --info
.NET Core SDK (reflecting any global.json):
 Version:   3.0.100-preview-010021
 Commit:    d5c97b7c2a

Runtime Environment:
 OS Name:     FreeBSD
 OS Version:  12
 OS Platform: FreeBSD
 RID:         freebsd-x64
 Base Path:   /usr/home/furt/dotnet-3.x/sdk/3.0.100-preview-010021/

Host (useful for support):
  Version: 3.0.0-preview-27218-01
  Commit:  d40b87f29d

.NET Core SDKs installed:
  3.0.100-preview-010021 [/usr/home/furt/dotnet-3.x/sdk]

.NET Core runtimes installed:
  Microsoft.NETCore.App 3.0.0-preview-27218-01 [/usr/home/furt/dotnet-3.x/shared/Microsoft.NETCore.App]

To install additional .NET Core runtimes or SDKs:
  https://aka.ms/dotnet-download

рдореИрдВрдиреЗ рдХреЛрдИ рд╡реНрдпрд╛рдкрдХ рдкрд░реАрдХреНрд╖рдг рдирд╣реАрдВ рдХрд┐рдпрд╛ рд▓реЗрдХрд┐рди рдХрдо рд╕реЗ рдХрдо рдореИрдВ dotnet рдлрд┐рд░ рд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред

рдареАрдХ рд╣реИ, рдореИрдВ рджреЗрдЦ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдбреЙрдЯрдиреЗрдЯ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рд▓рд┐рдирдХреНрд╕ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдЕрдиреНрдп рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП pthreads рд╕реЗ рдЬреБрдбрд╝рд╛ рдирд╣реАрдВ рд╣реИред
https://github.com/dotnet/core-setup/blob/2ef0b64810530961f492c33d37fc7509128e0a9b/src/corehost/cli/exe.cmake#L59 -L61

рдХреНрдпрд╛ рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реИ рдХрд┐ рдЗрд╕реЗ рдареАрдХ рдХрд░рдиреЗ рдХрд╛ рдЙрддреНрддрд░ рдЙрддрдирд╛ рдЖрд╕рд╛рди рд╣реИ рдЬрд┐рддрдирд╛ рд▓рдЧрддрд╛ рд╣реИ? рдпрд╛рдиреА рдЗрддрдирд╛ рдЖрд╕рд╛рди? https://github.com/josteink/core-setup/commit/25657ba2e181cce401acd7f4bf9d27a08a668470

рдЕрдЧрд░ рдРрд╕рд╛ рд╣реИ, рддреЛ рдореБрдЭреЗ рдЗрд╕реЗ рдкреАрдЖрд░ рдмрдирд╛рдиреЗ рдореЗрдВ рдЦреБрд╢реА рд╣реЛрдЧреАред

рд╣рд╛рдВ рдореБрдЭреЗ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИред рдореИрдВ рдкреБрд╖реНрдЯрд┐ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП @joperator рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд░рд╣рд╛ рдерд╛ред
рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╣рдореЗрдВ "рдбреАрдПрд▓" рдХреА рднреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЬрдм рдЖрдк рдкреАрдЖрд░ рдЬрдорд╛ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдЗрд╕реЗ рд╣рд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ @josteink

рд╕рд╣реАред рдореЗрд░рд╛ рдмреБрд░рд╛ред рддреЛ рдЗрд╕ рддрд░рд╣ рдФрд░ рдЕрдзрд┐рдХ: https://github.com/josteink/core-setup/commit/a08f38e25a98c25f59c8ed8c8567a0cb08b1c1c6

рдореИрдВрдиреЗ рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдкреАрдЖрд░ рдмрдирд╛рдпрд╛ рд╣реИред рдореБрдЭреЗ рдмрддрд╛рдПрдВ рдХрд┐ рдХреНрдпрд╛ рдЗрд╕рдореЗрдВ рдХрд┐рд╕реА рд╕рдВрд╢реЛрдзрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ: https://github.com/dotnet/core-setup/pull/5072

рд╕рд╣реАред рдореЗрд░рд╛ рдмреБрд░рд╛ред рддреЛ рдЗрд╕ рддрд░рд╣ рдФрд░ рдЕрдзрд┐рдХ: josteink/ core-setup@a08f38e

рдореИрдВрдиреЗ рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдкреАрдЖрд░ рдмрдирд╛рдпрд╛ рд╣реИред рдореБрдЭреЗ рдмрддрд╛рдПрдВ рдХрд┐ рдХреНрдпрд╛ рдЗрд╕рдореЗрдВ рдХрд┐рд╕реА рд╕рдВрд╢реЛрдзрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ: dotnet/core-setup#5072

рд╕рд┐рд░реНрдл рдПрдХ FYI рдХрд░реЗрдВ, рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЖрдзрд╛рд░ рдкреНрд░рдгрд╛рд▓реА рдореЗрдВ рдкреИрдЪ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ: https://reviews.freebsd.org/D18988

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ dotnet/coreclr#22124 рдореЗрдВ рдореБрдЦреНрдп рд╕рдорд╕реНрдпрд╛
рдлреНрд░реАрдмреАрдПрд╕рдбреА 12.0 рдкрд░ рдПрдХ рд╕реНрд╡-рдирд┐рд╣рд┐рдд рдРрдк рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╕рдордп рдореБрдЭреЗ рдХреЗрд╡рд▓ рдПрдХ рд╕рдорд╕реНрдпрд╛ рд╣реИред

freebsd-x64 рдЖрдзрд┐рдХрд╛рд░рд┐рдХ NuGet рдкреИрдХреЗрдЬ .NET Core 3.0 рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди 2 рдХреЗ рдмрд╛рдж рд╕реЗ рд╣рдЯрд╛ рджрд┐рдП рдЧрдП рд╣реИрдВ рдФрд░ рддрдм рд╕реЗ рд╣рдо FreeBSD рдХреЗ рд▓рд┐рдП рдРрдкреНрд╕ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдЕрд╕рдорд░реНрде рдереЗред рдХреНрдпрд╛ рдЙрдиреНрд╣реЗрдВ 3.0 рдореЗрдВ рдкреБрди: рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рдХреА рдХреЛрдИ рдпреЛрдЬрдирд╛ рд╣реИ?

рдЕрдлрд╕реЛрд╕ рдХреА рдмрд╛рдд рд╣реИ рдХрд┐ рд╣рдореЗрдВ рдлреНрд░реАрдмреАрдПрд╕рдбреА рд▓рд╛рдиреЗ рдХреЛ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рджреЗрдирд╛ рдкрдбрд╝рд╛ (рд╡рд┐рднрд┐рдиреНрди рдХрд╛рд░рдгреЛрдВ рдФрд░ рдПрдВрдб-рдЯреВ-рдПрдВрдб рдПрдЬрд╝реВрд░ рд╕рдорд░реНрдерди рдореЗрдВ рдХрдард┐рдирд╛рдЗрдпреЛрдВ рдХреЗ рдХрд╛рд░рдг) рдФрд░ рдпрд╣ .NET рдХреЛрд░ 3.0 рдореЗрдВ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдирд╣реАрдВ рд╣реЛрдЧреАред
рд╣рдо рдЗрд╕реЗ рдЙрд╕ рд░рд╛рдЬреНрдп рдореЗрдВ рдЕрд░реНрдз-рдХрд╛рд░реНрдпрд╢реАрд▓ рд░рдЦрдирд╛ рдкрд╕рдВрдж рдХрд░реЗрдВрдЧреЗ рдЬрд╣рд╛рдВ рдпрд╣ рдЕрднреА рд╣реИ, рд▓реЗрдХрд┐рди рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЕрднреА рдирд┐рд╡реЗрд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬреНрдпрд╛рджрд╛ рд╕рдордп рдирд╣реАрдВ рд╣реИ :(ред

@karelz рдЖрдкрдХреЗ рдЙрддреНрддрд░ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж рдФрд░ рдореИрдВ .NET Core 3.0 рдХреЗ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рд╡рд╛рд▓реЗ рдХрд╛рд░реНрдп рдХреЛ рд╕рдордЭрддрд╛ рд╣реВрдВред рдореИрдВ рддрдм рдЕрдкрдиреЗ рдРрдкреНрд╕ рдХреЛ рдлреНрд░реАрдмреАрдПрд╕рдбреА рд▓рд┐рдирдХреНрд╕ рдПрдореБрд▓реЗрд╢рди рдХреЗ рд╕рд╛рде рд▓рд╛рдиреЗ рдкрд░ рдзреНрдпрд╛рди рджреВрдВрдЧрд╛ред :)

@ hjc4869 рдпрд╛ рдЖрдк рдореЛрдиреЛ рдЖрдЬрд╝рдорд╛ рд╕рдХрддреЗ рд╣реИрдВред рдЖрдИрдЖрдИрдЖрд░рд╕реА, рдпрд╣ .NET рдорд╛рдирдХ 3.0 рдХрд╛ рд╕рдорд░реНрдерди рдХрд░реЗрдЧрд╛

рдореИрдВ рдЗрд╕реЗ рдПрдХ рдФрд░ рдХреЛрд╢рд┐рд╢ рджреЗрдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛ рд░рд╣рд╛ рд╣реВрдВ рд▓реЗрдХрд┐рди рдЬреИрд╕рд╛ рдХрд┐ @karelz рдиреЗ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рд╣реИ рдХрд┐ рдпрд╣ 3.0 рдХреЗ рд▓рд┐рдП рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдирд╣реАрдВ рд╣реИ

@newsash рдореЛрдиреЛ рдореЗрд░реЗ рд▓рд┐рдП рдПрдХ рд╕реНрд╡реАрдХрд╛рд░реНрдп рд╡рд┐рдХрд▓реНрдк рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореБрдЭреЗ рдореМрдЬреВрджрд╛ .NET рдХреЛрд░ csproj рдлрд╛рдЗрд▓реЛрдВ рдореЗрдВ рдЬреЛрдбрд╝реЗ рдЧрдП рдореЛрдиреЛ рд▓рдХреНрд╖реНрдпреЛрдВ рдХреЗ рд╕рд╛рде рдЕрдкрдирд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд▓рдЧрд╛ред

рдПрдХ рд▓рд┐рдирдХреНрд╕ рдорд╢реАрди рдкрд░ рдореИрдВрдиреЗ net472 рдХреЛ рдЯрд╛рд░рдЧреЗрдЯрдлреНрд░реЗрдорд╡рд░реНрдХ рдореЗрдВ рдЬреЛрдбрд╝рдиреЗ рдФрд░ рдлреНрд░реЗрдорд╡рд░реНрдХрдкрд╛рдердСрд╡рд░рд░рд╛рдЗрдб рд╡реИрд░рд┐рдПрдмрд▓ рдХреЛ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рд▓реЗрдХрд┐рди рдпрд╣ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдирд╣реАрдВ рдХрд┐рдпрд╛ред рдЕрдЧрд░ рдореИрдВ рдПрдХ рдПрдкреАрдЖрдИ рдХрд╛ рдЙрдкрднреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ рдЬреЛ рдореЛрдиреЛ рдФрд░ .NET рдХреЛрд░ рджреЛрдиреЛрдВ рдореЗрдВ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдирд╣реАрдВ рд╣реИ, рддреЛ рдпрд╣ рдореЛрдиреЛ рдХреЗ рд╕рд╛рде рдирд┐рд░реНрдорд╛рдг рдХрд░рдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓ рд░рд╣реЗрдЧрд╛ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореЛрдиреЛ .NET рдорд╛рдирдХ 2.1 рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ, рдлрд┐рд░ рднреА рдореИрдВ net472 csproj рдореЗрдВ .NET рдорд╛рдирдХ 2.1 dll рдХрд╛ рд╕рдВрджрд░реНрдн рдирд╣реАрдВ рдЬреЛрдбрд╝ рд╕рдХрд╛ред

рдХреНрдпрд╛ рдореБрдЭреЗ рдПрдХ рдЕрд▓рдЧ csproj рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдбреЙрдЯрдиреЗрдЯ рдЯреВрд▓реНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп рдореЛрдиреЛ рдПрдордПрд╕рдмрд┐рд▓реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдпрд╛ рдХреНрдпрд╛ рдЖрдкрдХреЗ рдкрд╛рд╕ рд╕рдорд╕реНрдпрд╛ рдкрд░ рдХреЛрдИ рд╕реБрдЭрд╛рд╡ рд╣реИ?

рдмрд╕ рдПрдХ рддреНрд╡рд░рд┐рдд рдЯрд┐рдкреНрдкрдгреАред

рд╣рд╛рд▓ рдХреА рдШреЛрд╖рдгрд╛ [1] рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдореЛрдиреЛ рдХреЛ .NET 5 рджреНрд╡рд╛рд░рд╛ рдирд┐рдЧрд▓ рд▓рд┐рдпрд╛ рдЬрд╛рдирд╛ рд╣реИ, рдлреНрд░реАрдмреАрдПрд╕рдбреА рдХреЗ рд▓рд┐рдП рдЙрдЪрд┐рдд рд╕рдорд░реНрдерди рдкреНрд░рджрд╛рди рдХрд░рдирд╛ рдЕрддреНрдпрд╛рд╡рд╢реНрдпрдХ рд╣реЛ рдЧрдпрд╛ рд╣реИред

рдореЛрдиреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрдЪреНрдЫрд╛ рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рд╕рдорд░реНрдерди рд╕рд╛рдмрд┐рдд рд╣реБрдЖ рд╣реИ рдФрд░ рдЗрд╕реЗ рдлреНрд░реАрдмреАрдПрд╕рдбреА рдмрдВрджрд░рдЧрд╛рд╣реЛрдВ рд╕реЗ рдмрд┐рдирд╛ рдХрд┐рд╕реА рд╕рдорд╕реНрдпрд╛ рдХреЗ рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдХрдИ рджреБрдХрд╛рдиреЗрдВ рдлреНрд░реАрдмреАрдПрд╕рдбреА рдкрд░ рдЕрдкрдирд╛ рдиреЗрдЯ рд▓реЛрдб рдЪрд▓рд╛рддреА рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕ рдУрдПрд╕ рдореЗрдВ рдХрдИ рдЕрдиреВрдареА рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рд╣реИрдВред рдЕрдм рддрдХ, рдореЛрдиреЛ рдЗрд╕ рдЕрдВрддрд░ рдХреЛ рдкрд╛рдЯрддрд╛ рд░рд╣рд╛ рд╣реИ, рд▓реЗрдХрд┐рди .NET 5 рдХреЗ рд╕рд╛рде рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдирд┐рдХрдЯ рднрд╡рд┐рд╖реНрдп рдореЗрдВ, рдореЛрдиреЛ рдХреЛ NET 5 рдореЗрдВ рдорд┐рд▓рд╛ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдФрд░ FreeBSD рд╕рдореБрджрд╛рдп .NET рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХреА рддрдВрддреНрд░ рд╕реЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд▓рдЧ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред

рдРрд╕рд╛ рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдбреЙрдЯрдиреЗрдЯ рдХреЗ рдкрд╛рд╕ рдкрд░рд┐рдкрдХреНрд╡ рдлреНрд░реАрдмреАрдПрд╕рдбреА рд╕рдорд░реНрдерди рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ рдХреЛ рдЗрд╕ рд╕рдордп рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рддреМрд░ рдкрд░ рдлреНрд░реАрдмреАрдПрд╕рдбреА рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдЗрд╕ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкрд░ рд╕рднреА рдбреЙрдЯрдиреЗрдЯ рдЯреВрд▓рд┐рдВрдЧ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рд╣реЛред

@jasonpugsley рдиреЗ рдирд┐рд░реНрджреЗрд╢ рджрд┐рдП рд╣реИрдВ https://github.com/jasonpugsley/core-sdk/wiki/.Net-Core-3.0.0-for-FreeBSD рдФрд░ @joperator рд╕реНрд░реЛрдд-рдирд┐рд░реНрдорд╛рдг рдХрд╛рд░реНрдп https://github рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд░рд╣рд╛ рд╣реИ

рд╣рдорд╛рд░реЗ рдкрд╛рд╕ corefx рдХреЗ рд▓рд┐рдП рдкрд┐рдЫрд▓реЗ ~ 30 рдкрд░реАрдХреНрд╖рдг рд╡рд┐рдлрд▓ рд░рд╣реЗ рд╣реИрдВред

System.Diagnostics.Tests.ProcessTests.TestPeakWorkingSet64
System.Diagnostics.Tests.ProcessTests.TestPrivateMemorySize
System.Diagnostics.Tests.ProcessTests.Kill_ExitedNonChildProcess_DoesNotThrow(killTree: True)
System.Diagnostics.Tests.ProcessTests.TotalProcessorTime_PerformLoop_TotalProcessorTimeValid
System.Diagnostics.Tests.ProcessTests.Kill_EntireProcessTree_True_EntireTreeTerminated
System.Diagnostics.Tests.ProcessTests.TestPeakVirtualMemorySize
System.Diagnostics.Tests.ProcessTests.ProcessNameMatchesScriptName
System.Diagnostics.Tests.ProcessTests.TestPrivateMemorySize64
System.Diagnostics.Tests.ProcessTests.LongProcessNamesAreSupported
System.Diagnostics.Tests.ProcessTests.TestPeakWorkingSet
System.Diagnostics.Tests.ProcessTests.TestPeakVirtualMemorySize64
System.Diagnostics.Tests.ProcessTests.Kill_ExitedChildProcess_DoesNotThrow(killTree: True)
System.Diagnostics.Tests.ProcessTests.Kill_EntireProcessTree_True_CalledOnTreeContainingCallingProcess_ThrowsInvalidOperationException
System.IO.Tests.DirectoryInfo_MoveTo.MoveDirectory_FailToMoveLowerCaseDirectoryWhenUpperCaseDirectoryExists
System.IO.Tests.FileInfo_Exists.LockedFileExists
System.IO.Tests.FileStream_LockUnlock.OverlappingRegionsFromOtherProcess_ThrowsException(fileLength: 10, firstPosition: 0, firstLength: 10, secondPosition: 1, secondLength: 2)
System.IO.Tests.FileStream_LockUnlock.OverlappingRegionsFromOtherProcess_ThrowsException(fileLength: 10, firstPosition: 3, firstLength: 5, secondPosition: 3, secondLength: 5)
System.IO.Tests.FileStream_LockUnlock.OverlappingRegionsFromOtherProcess_ThrowsException(fileLength: 10, firstPosition: 3, firstLength: 5, secondPosition: 3, secondLength: 4)
System.IO.Tests.FileStream_LockUnlock.OverlappingRegionsFromOtherProcess_ThrowsException(fileLength: 10, firstPosition: 3, firstLength: 5, secondPosition: 4, secondLength: 5)
System.IO.Tests.FileStream_LockUnlock.OverlappingRegionsFromOtherProcess_ThrowsException(fileLength: 10, firstPosition: 3, firstLength: 5, secondPosition: 2, secondLength: 6)
System.IO.Tests.FileStream_LockUnlock.OverlappingRegionsFromOtherProcess_ThrowsException(fileLength: 10, firstPosition: 3, firstLength: 5, secondPosition: 2, secondLength: 4)
System.IO.Tests.FileStream_LockUnlock.OverlappingRegionsFromOtherProcess_ThrowsException(fileLength: 10, firstPosition: 3, firstLength: 5, secondPosition: 4, secondLength: 6)
System.IO.Tests.Directory_Move.MoveDirectory_FailToMoveLowerCaseDirectoryWhenUpperCaseDirectoryExists
System.Net.NameResolution.Tests.GetHostEntryTest.Dns_GetHostEntry_HostString_Ok(hostName: \&quot;\&quot;)
System.Net.NameResolution.Tests.GetHostEntryTest.Dns_GetHostEntryAsync_HostString_Ok(hostName: \&quot;\&quot;)
System.Net.NameResolution.Tests.GetHostByNameTest.DnsObsoleteBeginEndGetHostByName_EmptyString_ReturnsHostName
System.Net.NameResolution.Tests.GetHostByNameTest.DnsObsoleteGetHostByName_EmptyString_ReturnsHostName
System.Net.NetworkInformation.Tests.PingTest.SendPingAsyncWithIPAddressAndTimeoutAndBufferAndPingOptions_Unix(addressFamily: InterNetwork)
System.Net.NetworkInformation.Tests.PingTest.SendPingWithIPAddressAndTimeoutAndBufferAndPingOptions_Unix(addressFamily: InterNetwork)
System.Net.Sockets.Tests.DualModeAcceptAsync.AcceptAsyncV4BoundToSpecificV4_Success
System.Tests.AppDomainTests.MonitoringIsEnabled
System.Tests.GCExtendedTests.GetGCMemoryInfo

@am11 System.Diagnostics.Tests.ProcessTests рдХреЛ рджреЗрдЦ рд░рд╣рд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд▓реЙрдХрд┐рдВрдЧ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдореЗрдВ рд╡рд┐рдлрд▓ рд╣реЛрдирд╛ рд╕рдмрд╕реЗ рдмрдбрд╝рд╛ рд╢реЗрд╖ рдЕрдВрддрд░ рд▓рдЧрддрд╛ рд╣реИред рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рдХреЛрдИ dotnet/corefx#30899 рджреЗрдЦ рд╕рдХреЗред

рдмрд╕ рд╕реЛрдЪ рд░рд╣рд╛ рдерд╛ рдХрд┐ рдХреНрдпрд╛ рдЗрд╕ рдкрд░ рдХреЛрдИ рдЕрдкрдбреЗрдЯ рд╣реИ рдпрд╛ рдЗрд╕реЗ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ?

@elfalem , рдЗрди рджрд┐рдиреЛрдВ рдлреНрд░реАрдмреАрдПрд╕рдбреА рд╕реАрдЖрдИ рд▓реЗрдЧ (рдЙрдмрдВрдЯреВ рд╕реЗ рдХреНрд░реЙрд╕- https://github.com/dotnet/dotnet-buildtools-prereqs-docker/ рд╕реЗ рдПрдХ рдбреЙрдХрд░ рдЫрд╡рд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рд╕рднреА рдкреНрд░реАрд░реЗрдХ рд╕реНрдерд╛рдкрд┐рдд рд╣реИрдВред рд╣рдо рд╕реНрдерд╛рдиреАрдп рдпрд╛ рджреВрд░рд╕реНрде рдорд╢реАрди рд░рдирдЯрд╛рдЗрдо рдкреИрдХреЗрдЬ (рдореВрд▓ рд░реВрдк рд╕реЗ рдПрдХ tar.gz) рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрд╕реА рдбреЙрдХрдЯрд░ рдХрдВрдЯреЗрдирд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рдо рдЕрдкрдиреА рдХрд╛рдВрдЯрд╛ рд╢рд╛рдЦрд╛ рдореЗрдВ рд╕реЗ рдПрдХ рдореЗрдВ рдЧрд┐рдЯрд╣рдм рдПрдХреНрд╢рди рд╕реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреИрд╕реЗ рдХреБрдЫ: https://github.com/am11/runtime/blob/feature/freebsd/ci/.github/workflows/main.yml , рдЬреЛ рдХрд▓рд╛рдХреГрддрд┐рдпреЛрдВ рдХреЛ рдЕрдкрд▓реЛрдб рдХрд░рддрд╛ рд╣реИ рдЯреИрдЧ рдкреБрд╢ рдкрд░ рдЧрд┐рдЯрд╣рдм рд░рд┐рд▓реАрдЬ рдХреЗ рд▓рд┐рдП https://github.com/am11/runtime/releases/tag/6.0.0-dev.freebsd.1ред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ dotnet-runtime-6.0.0-dev-freebsd-x64.tar.gz рд╕рдВрдЧреНрд░рд╣ рдореЗрдВ рдПрдХ рдкреНрд░рдХрд╛рд╢рд┐рдд рдбреЙрдЯрдиреЗрдЯ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдмрд┐рдЯреНрд╕ рд╣реИрдВ (рдПрдХ рдЕрд▓рдЧ рд▓рд┐рдирдХреНрд╕/рдореИрдХ рд╕рд┐рд╕реНрдЯрдо рд╕реЗ, рдЬрд┐рд╕рдореЗрдВ рдбреЙрдЯрдиреЗрдЯ рдПрд╕рдбреАрдХреЗ рд╣реИ)ред рдореИрдВрдиреЗ рдПрдХ рдирдпрд╛ 12.2 рд╡реАрдПрдо (рдЖрд╡рд╛рд░рд╛) рдмрдирд╛рдХрд░ рдЗрд╕рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛, рдореИрдХ рд╕реЗ рд╡реАрдПрдо рдореЗрдВ рдПрдХ рдкреНрд░рдХрд╛рд╢рд┐рдд рдРрдк рдирд┐рдХрд╛рд▓рд╛ рдФрд░ рдХреЙрдкреА рдХрд┐рдпрд╛, рдЗрд╕рдиреЗ рдХрд╛рдо рдХрд┐рдпрд╛:

#!/usr/bin/env tcsh

$ sudo pkg install libunwind icu libinotify

$ fetch https://github.com/am11/runtime/releases/download/6.0.0-dev.freebsd.1/dotnet-runtime-6.0.0-dev-freebsd-x64.tar.gz
$ mkdir ~/.dotnet
$ tar xzf dotnet-runtime-6.0.0-dev-freebsd-x64.tar.gz -C ~/.dotnet

$ set PATH=(~/.dotnet:$PATH)
$ setenv PATH "$PATH"

$ dotnet /vagrant/MyPublishedApp.dll
Hello World!

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ @Thefrank рдХрд┐рд╕реА рд╕рдордп рдПрдХ рдЙрдЪрд┐рдд FreeBSD рдкреЛрд░реНрдЯ рдкреИрдХреЗрдЬ рдмрдирд╛рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░ рд░рд╣рд╛ рдерд╛ред

рдмрд╕ рд╕реЛрдЪ рд░рд╣рд╛ рдерд╛ рдХрд┐ рдХреНрдпрд╛ рдЗрд╕ рдкрд░ рдХреЛрдИ рдЕрдкрдбреЗрдЯ рд╣реИ рдпрд╛ рдЗрд╕реЗ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ?

рдЖрдк https://github.com/dotnet/source-build/issues/1139 рдкрд░ рджреЗрдЦрдирд╛ рдЪрд╛рд╣реЗрдВрдЧреЗ
рдореИрдВрдиреЗ рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдХреЛрд╢рд┐рд╢ рдирд╣реАрдВ рдХреА рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рдбреЙрдЯрдиреЗрдЯ 5 рдлрд╛рдЗрдирд▓ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдХреБрдЫ рдорд╣реАрдиреЗ рдкрд╣рд▓реЗ, рдлреНрд░реАрдмреАрдПрд╕рдбреА рд░рдирдЯрд╛рдЗрдо рдХреЗрд╡рд▓ рд▓рд┐рдирдХреНрд╕ рдкрд░ рдХреНрд░реЙрд╕ рдХрдВрдкрд╛рдЗрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рдерд╛ред рдПрдПрд╕рдкреАрдиреЗрдЯ рдФрд░ рдПрд╕рдбреАрдХреЗ рдХреЛ рднреА рд▓рд┐рдирдХреНрд╕ рдХреНрд░реЙрд╕ рдХрдВрдкрд╛рдЗрд▓ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рддрднреА рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм рд╕рд┐рддрд╛рд░реЗ рд╕рдВрд░реЗрдЦрд┐рдд рд╣реЛрдВ (рдЖрд░реНрдХреЗрдб рдЕрдкрдбреЗрдЯ рдпрд╛ рдХреБрдЫ рдЕрдиреНрдп рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдмреЙрдЯ рдиреЗ рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рдирд╣реАрдВ рддреЛрдбрд╝рд╛)

рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: рдФрд░ @ am11 рдиреЗ рдПрдХ рдмреЗрд╣рддрд░ рд▓реЗрдЦрди рдкреЛрд╕реНрдЯ рдХрд┐рдпрд╛, рдЬрдм рдореИрдВ рджреЗрд░ рд░рд╛рдд рдХреА
рд╕рдВрдкрд╛рджрд┐рдд 2: рд╡рд┐рд░рд╛рдо рдЪрд┐рд╣реНрди рднреВрд▓ рдЧрдпрд╛ рдФрд░ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЕрдВрддрд┐рдо 2 рджрд┐рди рдкрд╣рд▓реЗ рдмрд╛рд╣рд░ рд░рдЦрд╛ рдЧрдпрд╛ рдерд╛ред рд▓рдЧрддрд╛ рд╣реИ рдореБрдЭреЗ рдЙрд╕ рдкрд░ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдпрд╛ рдХреБрдЫ рдФрд░

рдЙрдкрд░реЛрдХреНрдд рд╕рднреА рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореИрдВрдиреЗ https://github.com/dotnet/runtimelab/ рдореЗрдВ FreeBSD рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рдпрд╛ рдФрд░ рдореИрдВ рдзреАрд░реЗ-рдзреАрд░реЗ рдкреИрдХреЗрдЬ рдмрдирд╛рдиреЗ рдФрд░ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рдиреЗ рдХреА рджрд┐рд╢рд╛ рдореЗрдВ рдЖрдЧреЗ рдмрдврд╝ рд░рд╣рд╛ рд╣реВрдВред рд▓рдХреНрд╖реНрдп рдлреНрд░реАрдмреАрдПрд╕рдбреА рдкрд░ рдЪрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдРрдк рдХреЗ рдирд┐рд░реНрдорд╛рдг рдФрд░ рдкреНрд░рдХрд╛рд╢рди рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ рдФрд░ рд╕реНрд░реЛрдд-рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП рдмреАрдЬ рд╣реИред

рдореИрдВрдиреЗ рд╕реЛрдЪрд╛ рдХрд┐ рдореИрдВ рдПрдХ рддреНрд╡рд░рд┐рдд рдЕрджреНрдпрддрди рд▓рд┐рдЦреВрдВрдЧрд╛ред рдореИрдВрдиреЗ рдЖрдЦрд┐рд░рдХрд╛рд░ рд╕рднреА рдЧреНрд░рд╣реЛрдВ рдХреЛ рдлреНрд░реАрдмреАрдПрд╕рдбреА рдкрд░ 5.0.0 рдЖрд░рдЯреАрдПрдо рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЧрдардмрдВрдзрди рдХрд┐рдпрд╛ред рдореИрдВрдиреЗ рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди 3 рдХреЗ рдмрд╛рдж рд╕реЗ рдирд╣реАрдВ рд░рдЦрд╛ рдерд╛ рдФрд░ рдПрдХ рд╕рдлрд▓ 5.0 рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрдЧрдд рдмрд┐рд▓реНрдб рдХрд╛ рд╕рд╣реА рд╕рдВрдпреЛрдЬрди рдЦреЛрдЬрдиреЗ рдореЗрдВ рдХреБрдЫ рд╕рдордп (рдФрд░ _many_ рдмрд┐рд▓реНрдб рдкреНрд░рдпрд╛рд╕) рд▓рдЧрд╛ред
рдореИрдВ рдЖрд╢реНрдЪрд░реНрдпрдЬрдирдХ рд░реВрдк рд╕реЗ рдХреБрдЫ рд╣реИрдХреНрд╕ рдХреЗ рд╕рд╛рде рдкрд╛рд╡рд░рд╢реЗрд▓ 7.1.0 рдмрдирд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реВрдВ, рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореИрдВрдиреЗ рдЗрд╕реЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдкрд░реАрдХреНрд╖рдг рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдпрд╣ рдПрд╕рдбреАрдХреЗ рдХреЗ рдПрдХ рдЕрдЪреНрдЫреЗ рдкрд░реАрдХреНрд╖рдг рдХреА рддрд░рд╣ рд▓рдЧрддрд╛ рд╣реИред
рдореИрдВрдиреЗ рдЕрднреА-рдЕрднреА AspNetCore рдмрдирд╛рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдЕрднреА рддрдХ рдЗрд╕рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИред

$ dotnet --info
.NET SDK (reflecting any global.json):
 Version:   5.0.100
 Commit:    5044b93829

Runtime Environment:
 OS Name:     FreeBSD
 OS Version:  11
 OS Platform: FreeBSD
 RID:         freebsd.11-x64
 Base Path:   /tmp/rtm/sdk/5.0.100/

Host (useful for support):
  Version: 5.0.0
  Commit:  cf258a14b7

.NET SDKs installed:
  5.0.100 [/tmp/rtm/sdk]

.NET runtimes installed:
  Microsoft.AspNetCore.App 5.0.0 [/tmp/rtm/shared/Microsoft.AspNetCore.App]
  Microsoft.NETCore.App 5.0.0 [/tmp/rtm/shared/Microsoft.NETCore.App]

To install additional .NET runtimes or SDKs:
  https://aka.ms/dotnet-download
$ dotnet new console
The template "Console Application" was created successfully.

Processing post-creation actions...
Running 'dotnet restore' on /tmp/test/test.csproj...
  Determining projects to restore...
  Restored /tmp/test/test.csproj (in 106 ms).
Restore succeeded.

$ dotnet run
Hello World!
$
$ LANG=en-US ./pwsh
PowerShell 7.1.0
Copyright (c) Microsoft Corporation.

https://aka.ms/powershell
Type 'help' to get help.

PS /tmp/powershell> $PSVersionTable

Name                           Value
----                           -----
PSVersion                      7.1.0
PSEdition                      Core
GitCommitId                    7.1.0
OS                             FreeBSD 11.4-RELEASE FreeBSD 11.4-RELEASE #0 r362094: Fri Jun 12 18:27:15 UTC 2020     [email protected]:/usr/obj/usr/src/sys/GEтАж
Platform                       Unix
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0тАж}
PSRemotingProtocolVersion      2.3
SerializationVersion           1.1.0.1
WSManStackVersion              3.0

PS /tmp/powershell> Get-Host

Name             : ConsoleHost
Version          : 7.1.0
InstanceId       : fa711f95-926c-47e4-9e0c-dff0f518f825
UI               : System.Management.Automation.Internal.Host.InternalHostUserInterface
CurrentCulture   : en-US
CurrentUICulture : en-US
PrivateData      : Microsoft.PowerShell.ConsoleHost+ConsoleColorProxy
DebuggerEnabled  : True
IsRunspacePushed : False
Runspace         : System.Management.Automation.Runspaces.LocalRunspace


PS /tmp/powershell>

рдЗрд╕ рдХрд╛рдо рдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдХрд░рдиреЗ рдХреЗ рд╕рд╛рде рдПрдХрдорд╛рддреНрд░ рд╕рдорд╕реНрдпрд╛ (рдпрд╛рдиреА рд╕реАрдЖрдИ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдмрд╛рд╣рд░) рдПрдХ рд╡рд┐рд╢реЗрд╖ рдмрд┐рд▓реНрдб рдХреЛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдЧрд▓реЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рддреЛрдбрд╝рдиреЗ рдХреЗ рдХрд╛рд░рдг рд╣реЛрдиреЗ рд╡рд╛рд▓реА рдкрд░реЗрд╢рд╛рдиреА рд╣реИред рдпрд╣ рдЕрдХреНрд╕рд░ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рд╕рд╣реА рдкреНрд░рддрд┐рдмрджреНрдзрддрд╛ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдкрд░реАрдХреНрд╖рдг рдФрд░ рддреНрд░реБрдЯрд┐ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рд╕реАрдЖрдИ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рд▓рд┐рдирдХреНрд╕ рдХреНрд░реЙрд╕-рдмрд┐рд▓реНрдб рд╣реЛрдиреЗ рд╕реЗ рдЗрд╕реЗ рдареАрдХ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдЕрднреА рддрдХ рдЙрд╕ рдкрд░ рдзреНрдпрд╛рди рдирд╣реАрдВ рджрд┐рдпрд╛ рд╣реИред рдлрд┐рд░ рднреА рдпрд╣ рдЬрд╛рдирдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реИ рдХрд┐ рдореИрдВ рдПрдХ рдкреВрд░реНрдг рдПрд╕рдбреАрдХреЗ рдмрдирд╛ рд╕рдХрддрд╛ рд╣реВрдВ рдФрд░ рдлрд┐рд░ рдЙрд╕ рдПрд╕рдбреАрдХреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреБрдЫ рдФрд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред

russellh<strong i="5">@freebird</strong>:/www/winlua_net/htdocs/downloads$ pkg search dotnet
linux-dotnet-cli-2.0.7         Cross-platform .NET implementation
linux-dotnet-runtime-2.0.7     Cross-platform .NET implementation
linux-dotnet-sdk-2.1.201       Cross-platform .NET implementation (Software Development Kit)
linux-dotnet10-runtime-1.0.11  Cross-platform .NET implementation
linux-dotnet10-sdk-1.1.9       Cross-platform .NET implementation (Software Development Kit)
linux-dotnet11-runtime-1.1.8   Cross-platform .NET implementation

рдпрд╣ рдЕрдЪреНрдЫреА рдкреНрд░рдЧрддрд┐ рд╣реИ @jasonpugsleyред рдореИрдВ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП рдмреЗрд╣рддрд░ рдЙрддреНрддрд░ рдЦреЛрдЬрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рд▓реЗрдХрд┐рди рдореИрдВ рдкрд┐рдЫрд▓реЗ рдХреБрдЫ рдорд╣реАрдиреЛрдВ рдореЗрдВ рд╕рдордп рдХрд╛ рдХреЛрдИ рдЕрдЪреНрдЫрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдирд╣реАрдВ рд▓рдЧрд╛ рдкрд╛рдпрд╛ ;(
рдХреНрдпрд╛ рдЯрд░реНрдорд┐рдиреЛ рдХреЗ рдХрд╛рд░рдг рдкрд╛рд╡рд░рд╢реЗрд▓ рдиреЗ рдЖрдкрдХреЛ рдХреЛрдИ рджреБрдГрдЦ рджрд┐рдпрд╛ рдпрд╛ рдЖрдкрдиреЗ рдЯрд░реНрдорд┐рдирд▓ рдкрд░рд┐рднрд╛рд╖рд╛ рдХреЛ рдХрд╣реАрдВ рдФрд░ рд╕реЗ рдХреЙрдкреА рдХрд┐рдпрд╛?

рдореИрдВрдиреЗ рдЕрдкрдиреЗ рдореИрдХ рд╕реЗ рдЯрд░реНрдорд┐рдирд▓ рдкрд░рд┐рднрд╛рд╖рд╛ рдХреЛ рдкрдХрдбрд╝ рд▓рд┐рдпрд╛ рдЬрд╣рд╛рдВ рд╕реЗ рдореИрдВ ssh'd рдерд╛ред

@jasonpugsley рддреБрдо рдореБрдЭрд╕реЗ рдмрд╣реБрдд рдЖрдЧреЗ рд╣реЛред рдХреЛрд░ рдФрд░ рдПрд╕рдбреАрдХреЗ рд▓рд┐рдирдХреНрд╕ рдХреНрд░реЙрд╕ рдлреНрд░реАрдмреАрдПрд╕рдбреА рд╕реЗ рдирд┐рд░реНрдорд┐рдд рд╣реЛрддреЗ рд╣реИрдВред рдХрд┐рдП рдЧрдП рд╕реАрдорд┐рдд рдкрд░реАрдХреНрд╖рдг рд╕реЗ рдареАрдХ рдЪрд▓рд╛рдПрдВред рди рддреЛ рд░рдирдЯрд╛рдЗрдо рдФрд░ рди рд╣реА рдПрд╕рдбреАрдХреЗ рдХреНрд░реЙрд╕рдмрд┐рд▓реНрдЯ рд╕реНрд╡рдпрдВ рдлреНрд░реАрдмреАрдПрд╕рдбреА рдкрд░ рдирд┐рд░реНрдорд╛рдг рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИрдВ (рд▓рд┐рдирдХреНрд╕ рдФрд░ рдлреНрд░реАрдмреАрдПрд╕рдбреА рдПрд▓рдПрд▓рд╡реАрдПрдо 9 рдФрд░ рдХреНрд▓реИрдВрдЧ 9 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ)ред
ld: error: /root/runtime/artifacts/obj/coreclr/FreeBSD.x64.Release/src/dlls/dbgshim/dbgshim.exports:1: unknown directive: V1.0
рдЕрдЧрд░ рдореЗрд░реЗ рдкрд╛рд╕ рдЗрд╕ рд╕рдкреНрддрд╛рд╣ рдХреЗ рдЕрдВрдд рдореЗрдВ рдЕрдзрд┐рдХ рд╕рдордп рд╣реИ рддреЛ рдореИрдВ рдЗрд╕реЗ рдереЛрдбрд╝рд╛ рдФрд░ рдЕрдзрд┐рдХ рдкрд░реЗрд╢рд╛рди рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ рдпрд╣ рднреА рджреЗрдЦрддрд╛ рд╣реВрдВ рдХрд┐ рдХреНрдпрд╛ рдореИрдВ рдХрдо рд╕реЗ рдХрдо рдлреНрд░реАрдмреАрдПрд╕рдбреА рдХреЗ рд▓рд┐рдП рд▓рд┐рдирдХреНрд╕ рдкрд░ рдПрд╕реНрдкрдиреЗрдЯрдХреЛрд░ рдмрдирд╛ рд╕рдХрддрд╛ рд╣реВрдВ

@Thefrank , рдХреНрдпрд╛ рдЖрдкрдХрд╛ рдорддрд▓рдм рд╣реИ:

$ ROOTFS_ENV="ROOTFS_DIR=/crossrootfs/x64"
$ DOTNET_DOCKER_TAG="mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-18.04-cross-freebsd-11-20201109180854-f13d79e"
$ docker run -e $ROOTFS_ENV -v $(pwd):/runtime $DOTNET_DOCKER_TAG /runtime/build.sh -c Release -cross -os freebsd

рд╡рд┐рдлрд▓ рд╣реЛ рд░рд╣рд╛ рд╣реИ рдпрд╛ artifacts/packages/Release/Shipping/dotnet-runtime-5.0.0-dev-freebsd-x64.tar.gz рдореЗрдВ рдмрд╛рдпрдиреЗрд░рд┐рдЬрд╝ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓ рд░рд╣рд╛ рд╣реИ?
рдпрджрд┐ рдЖрдк Ubuntu 18 рдпрд╛ 20 рдкрд░ SDK 5x рдХреЛ рдХреНрд░реЙрд╕рдХрдВрдкрд╛рдЗрд▓ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдЖрдк рдЗрд╕ рдкреИрдЪ рдХреЛ https://github.com/dotnet/sdk/commit/80e42f16422352f725d78be72071781d8365a238 (рдпрд╣ рдорд╛рд╕реНрдЯрд░ рдмреНрд░рд╛рдВрдЪ рдкрд░ рд╣реИ) рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдЪрд╛рд╣ рд╕рдХрддреЗ рд╣реИрдВред

рдЖрдзреА рдиреАрдВрдж рдореЗрдВ рдореБрдЭреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдкреЛрд╕реНрдЯ рдХрд░рдирд╛ рдмрдВрдж рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рд░рдирдЯрд╛рдЗрдо рдФрд░ рдПрд╕рдбреАрдХреЗ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рд▓рд┐рдирдХреНрд╕ рдкрд░ рдкреВрд░рд╛ рд╣реЛрддрд╛ рд╣реИред
рд╡реЗ рдмрд╛рдпрдиреЗрд░рд┐рдЬрд╝ рдлреНрд░реАрдмреАрдПрд╕рдбреА рдкрд░ рдЪрд▓рддреЗ рд╣реИрдВ (рдбреЙрдЯрдиреЗрдЯ --рдЗрдиреНрдлреЛ, рдирдпрд╛ рдХрдВрд╕реЛрд▓, рдФрд░ рд░рди)
рд╡реЗ рдмрд╛рдпрдиреЗрд░рд┐рдЬрд╝ рдлреНрд░реАрдмреАрдПрд╕рдбреА рдкрд░ рд╕реНрд░реЛрдд рд╕реЗ рд░рдирдЯрд╛рдЗрдо рдпрд╛ рдПрд╕рдбреАрдХреЗ рдмрдирд╛рдиреЗ рдореЗрдВ рдЕрд╕рдорд░реНрде рд╣реИрдВ

рдЖрд╣ рдЕрдЪреНрдЫрд╛ред рдореИрдВрдиреЗ рдлреНрд░реАрдмреАрдПрд╕рдбреА рдкрд░ рд╣реЛрд╕реНрдЯрдУрдПрд╕ рдХреЗ рд░реВрдк рдореЗрдВ рд░рдирдЯрд╛рдЗрдо рдХреЛ рдлрд┐рд░ рд╕реЗ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдЯреЗрдЬ 0 рдмрд╛рдпрдиреЗрд░рд┐рдЬрд╝ рдХреЛ рдбреЙрдЧрдлрд╝реЛрдбрд┐рдВрдЧ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдирд╣реАрдВ рдХреА рд╣реИред

рдПрд▓рдбреА: рддреНрд░реБрдЯрд┐: /root/runtime/artifacts/obj/coreclr/FreeBSD.x64.Release/src/dlls/dbgshim/dbgshim. рдирд┐рд░реНрдпрд╛рдд:1 : рдЕрдЬреНрдЮрд╛рдд рдирд┐рд░реНрджреЗрд╢: V1.0

рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдЕрд▓рдЧ рд╕реЗ рд░рд┐рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рд▓рд╛рдпрдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕реЗ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рдХрдИ рддрд░реАрдХреЗ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рдЗрд╕ рдкреИрдЪ рд╕реЗ рдХреЛрдИ рдлрд░реНрдХ рдкрдбрд╝рддрд╛ рд╣реИ:

--- a/eng/native/functions.cmake
+++ b/eng/native/functions.cmake
@@ -211,7 +211,7 @@ function(generate_exports_file)
   list(GET INPUT_LIST -1 outputFilename)
   list(REMOVE_AT INPUT_LIST -1)

-  if(CMAKE_SYSTEM_NAME STREQUAL Darwin)
+  if(CMAKE_SYSTEM_NAME STREQUAL Darwin OR CLR_CMAKE_HOST_FREEBSD)
     set(AWK_SCRIPT generateexportedsymbols.awk)
   else()
     set(AWK_SCRIPT generateversionscript.awk)
@@ -229,7 +229,7 @@ endfunction()

 function(generate_exports_file_prefix inputFilename outputFilename prefix)

-  if(CMAKE_SYSTEM_NAME STREQUAL Darwin)
+  if(CMAKE_SYSTEM_NAME STREQUAL Darwin OR CLR_CMAKE_HOST_FREEBSD)
     set(AWK_SCRIPT generateexportedsymbols.awk)
   else()
     set(AWK_SCRIPT generateversionscript.awk)

рдХреНрдпрд╛ рдЗрд╕ рдкреИрдЪ рд╕реЗ рдХреЛрдИ рдлрд░реНрдХ рдкрдбрд╝рддрд╛ рд╣реИ

рдореИрдВ рдЙрдореНрдореАрдж рдХрд░рддрд╛ рд╣реВрдВ рдХрд┐ рдлреНрд░реАрдмреАрдПрд╕рдбреА рд▓рд┐рдирдХреНрд╕ рдХрд╛ рдкрд╛рд▓рди рдХрд░реЗрдЧрд╛ рдЬрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдкреНрд░рддреАрдХ рд╕рдВрд╕реНрдХрд░рдг рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЬрд╛рддреЗ рд╣реИрдВ, рдбрд╛рд░реНрд╡рд┐рди рдирд╣реАрдВред IMO рдпрд╣ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рдореБрджреНрджрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдХреБрдЫ GNU-awk рд╣реИ рдЬреЛ generateversionscript.awk рдореЗрдВ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╣реИ

рдкреИрдЪ рдиреЗ рддреНрд░реБрдЯрд┐ рдмрджрд▓ рджреА:
ld: error: /root/runtime/artifacts/obj/coreclr/FreeBSD.x64.Release/src/dlls/dbgshim/dbgshim.exports:1: unknown directive: _CreateProcessForLaunch
рдЕрдЧрд░ awk рд╕рдВрд╕реНрдХрд░рдг рдореБрджреНрджрд╛:

awk --version
awk version 20121220 (FreeBSD)

рдпрджрд┐ рдкреНрд░рдпреЛрдЧ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИ, рддреЛ рдХреНрдпрд╛ рдЖрдк рдЧреЙрдХ рдкреИрдХреЗрдЬ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рд╕реАрдПрдордХреЗ рдлрд╛рдЗрд▓реЛрдВ рдореЗрдВ рдЗрдирд╡реЛрдХреЗрд╢рди рдХреЛ рдЧреЙрдХ рдореЗрдВ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ?

рдкреИрдЪ рд╡рд╛рдкрд╕ рдХрд░ рджрд┐рдпрд╛ред рд╕реНрдерд╛рдкрд┐рдд рдЧреЙрдХ рдкреАрдХреЗрдЬреАред
рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЖрд▓рд╕реА рд╣реИ рдХрд┐ рдХреИрд╕реЗ build.sh рд╕реНрдХреНрд░рд┐рдкреНрдЯ cmake args рдкрд╛рд╕ рдХрд░рддреА рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рддреБрд░рдВрдд рд╕рдордЭ рдореЗрдВ рдирд╣реАрдВ рдЖрддрд╛ рд╣реИ рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рд╕рд┐рд░реНрдл gawk-> awk рдХреЛ рд╕рд┐рдореНрд▓рд┐рдВрдХ рдХрд┐рдпрд╛ред
рд╡рд╣реА рдореВрд▓ рддреНрд░реБрдЯрд┐
ld: error: /root/runtime/artifacts/obj/coreclr/FreeBSD.x64.Release/src/dlls/dbgshim/dbgshim.exports:1: unknown directive: V1.0

рджреЗрд░ рд╕реЗ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд▓рд┐рдирдХреНрд╕ рдкрд░ рдмрд╛рдпрдиреЗрд░рд┐рдЬрд╝ рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рдирд╣реАрдВ рдмрдиреЗ рд╣реИрдВ:

# ./dotnet --info
.NET SDK (reflecting any global.json):
 Version:   5.0.101-servicing.20605.0
 Commit:    c3a779b104

Runtime Environment:
 OS Name:     FreeBSD
 OS Version:  12
 OS Platform: FreeBSD
 RID:         osx-x64
 Base Path:   /root/runtime/.dotnet/sdk/5.0.100/

Host (useful for support):
  Version: 5.0.1
  Commit:  2ee13ec8e5

.NET SDKs installed:
  5.0.100 [/root/runtime/.dotnet/sdk]

.NET runtimes installed:
  Microsoft.NETCore.App 5.0.1 [/root/runtime/.dotnet/shared/Microsoft.NETCore.App]

To install additional .NET runtimes or SDKs:
  https://aka.ms/dotnet-download

рдореБрдЦреНрдп рд░реВрдк рд╕реЗ RID: osx-x64 рдХреБрдЫ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рдХрд╛рд░рдг рд╣реЛ рд╕рдХрддрд╛ рд╣реИ

рдореБрдЦреНрдп рд░реВрдк рд╕реЗ RID: osx-x64 рдХреБрдЫ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рдХрд╛рд░рдг рд╣реЛ рд╕рдХрддрд╛ рд╣реИ

рд╡рд╣ рдЖрд░рдЖрдИрдбреА рдПрд╕рдбреАрдХреЗ рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рдмрдирд╛рдо рдЧреИрд░-рд╕рдорд░реНрдерд┐рдд рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдХреЗ рдХреБрдЫ рдкреНрд░рд╕реНрддрд╛рд╡реЛрдВ рдХреЗ рдмрд╛рдж рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рдХрд╛ рдореВрд▓ рд░реВрдк рд╕реЗ рдЖрд╡реЗрджрди рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдкрд░ рдХреЛрдИ рдкреНрд░рднрд╛рд╡ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ рд╣реИред рд░рдирдЯрд╛рдЗрдо рджреНрд╡рд╛рд░рд╛ рдкрддрд╛ рд▓рдЧрд╛рдпрд╛ рдЧрдпрд╛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ RID рд╕рд╣реА рд╣реИ, рдЕрдиреНрдпрдерд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди (рдЬреИрд╕реЗ dotnet(1) ) рдареАрдХ рд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдирд╣реАрдВ рд╣реЛрдВрдЧреЗред
c# using System; using System.Runtime.InteropServices; class Program { static void Main() => Console.WriteLine("Real RID: {0}", RuntimeInformation.RuntimeIdentifier); }
рдореЗрд░реЗ рдмреЙрдХреНрд╕ рдкрд░ Real RID: freebsd.12-x64 рдкреНрд░рд┐рдВрдЯ рдХрд░рддрд╛ рд╣реИред

рдПрд▓рдбреА рдореБрджреНрджреЗ рдХреЛ рдЯреНрд░реИрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП #45663 рдЦреЛрд▓рд╛ рдЧрдпрд╛ред рдореИрдВ рднреА рдкреНрд░рдЬрдирди рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛ред

@Thefrank рдПрд▓рдбреА рддреНрд░реБрдЯрд┐ рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ, рдЗрд╕реЗ рдЖрдЬрдорд╛рдПрдВ:

diff --git a/eng/native/configurecompiler.cmake b/eng/native/configurecompiler.cmake
index 006a180fa0a..2a270572532 100644
--- a/eng/native/configurecompiler.cmake
+++ b/eng/native/configurecompiler.cmake
@@ -594,7 +594,7 @@ else (CLR_CMAKE_HOST_WIN32)
         ERROR_QUIET
         OUTPUT_VARIABLE ldVersionOutput)

-    if("${ldVersionOutput}" MATCHES "GNU ld" OR "${ldVersionOutput}" MATCHES "GNU gold")
+    if("${ldVersionOutput}" MATCHES "GNU ld" OR "${ldVersionOutput}" MATCHES "GNU gold" OR "${ldVersionOutput}" MATCHES "LLD")
         set(LD_GNU 1)
     elseif("${ldVersionOutput}" MATCHES "Solaris Link")
         set(LD_SOLARIS 1)

рдпрд╣ else рдХреНрд▓реЙрдЬ рдХреЛ рдпрд╣рд╛рдВ eng/native/functions.cmake рд╕рдХреНрд░рд┐рдп рдХрд░реЗрдЧрд╛:

function(set_exports_linker_option exports_filename)
    if(LD_GNU OR LD_SOLARIS)
        # Add linker exports file option
        if(LD_SOLARIS)
            set(EXPORTS_LINKER_OPTION -Wl,-M,${exports_filename} PARENT_SCOPE)
        else()
            set(EXPORTS_LINKER_OPTION -Wl,--version-script=${exports_filename} PARENT_SCOPE)
        endif()
    elseif(LD_OSX)
        # Add linker exports file option
        set(EXPORTS_LINKER_OPTION -Wl,-exported_symbols_list,${exports_filename} PARENT_SCOPE)
    endif()
endfunction()

рдХрд╛рдлреА рдИрдорд╛рдирджрд╛рд░ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВ рдХреЛрдИ рд▓рд┐рдВрдХрд░ рд╡рд┐рд╢реЗрд╖рдЬреНрдЮ рдирд╣реАрдВ рд╣реВрдВ, рдЗрд╕рд▓рд┐рдП рдЬрдм рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рддреЛ рдореИрдВрдиреЗ рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЧрд╣рд░рд╛рдИ рд╕реЗ рдирд╣реАрдВ рджреЗрдЦрд╛ рдХрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдлреНрд░реАрдмреАрдПрд╕рдбреА рдкрд░ рдХреНрд▓реИрдВрдЧ рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рдЖрд╡рд╢реНрдпрдХ/рд╡рд┐рд╣рд┐рдд рдерд╛ред

рдЖрд╣, рд▓рд┐рдВрдХрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛-рдПрдЬреЗрдВрдЯ рдореБрджреНрджрд╛ рдлрд┐рд░ рд╕реЗ рд╣рдорд▓рд╛ рдХрд░рддрд╛ рд╣реИред рдПрд▓рдПрд▓рдбреА рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рд╕реНрдЯреНрд░рд┐рдВрдЧ рдореЗрдВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рдЬреАрдПрдирдпреВ рдПрд▓рдбреА рдкрде рдХреЛ рдиреАрдЪреЗ рдЬрд╛рдиреЗ рдХреЗ рдкреНрд░рдпрд╛рд╕ рдореЗрдВ (compatible with GNU linkers) рд╣реИ рд▓реЗрдХрд┐рди рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЗрд╕ рдорд╛рдорд▓реЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдЪрд╛рд▓рд╛рдХ рдирд╣реАрдВ рд╣реИ :)

LLD рдкрд░ рдорд┐рд▓рд╛рди рдпрд╣рд╛рдБ рдЕрдЪреНрдЫрд╛ рд▓рдЧрддрд╛ рд╣реИ, рднрд▓реЗ рд╣реА LD_GNU рдзреНрд╡рдЬ рдХрд╛ рдирд╛рдо рдЕрдм рдХреБрдЫ рдЧрд▓рдд рд╣реЛред

рд╣рд╛рдВ рдЗрд╕реЗ рдФрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИред рдзреНрд╡рдЬ рдХрд╛ рдирд╛рдо рдЕрдм рднреНрд░рдорд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рд╣реИред рдХреГрдкрдпрд╛ рдХреЛрдИ рднреА рдЗрд╕реЗ рдЗрд╕ рд░реВрдк рдореЗрдВ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рди рдХрд░реЗрдВред


рдкреНрд░реЗрд╖рдХ: рдПрдб рдорд╛рд╕реНрдЯ рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com
рднреЗрдЬрд╛ рдЧрдпрд╛: рд╕реЛрдорд╡рд╛рд░, 7 рджрд┐рд╕рдВрдмрд░, 2020 10:26:48 рдкреВрд░реНрд╡рд╛рд╣реНрди
рдкреНрд░рддрд┐: рдбреЙрдЯрдиреЗрдЯ /рд░рдирдЯрд╛рдЗрдо рд░рдирдЯрд╛рдЗрдо
рд╕реАрд╕реА: рдЬреЗрд╕рди рдкрдЧрд╕реНрд▓реЗ [email protected] ; рдЙрд▓реНрд▓реЗрдЦ рдХрд░реЗрдВ @noreply.github.com
рд╡рд┐рд╖рдп: рдкреБрди: [рдбреЙрдЯрдиреЗрдЯ/рд░рдирдЯрд╛рдЗрдо] рдлреНрд░реАрдмреАрдПрд╕рдбреА рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди (#14537)

рдЖрд╣, рд▓рд┐рдВрдХрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛-рдПрдЬреЗрдВрдЯ рдореБрджреНрджрд╛ рдлрд┐рд░ рд╕реЗ рд╣рдорд▓рд╛ рдХрд░рддрд╛ рд╣реИред рдПрд▓рдПрд▓рдбреА рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рд╕реНрдЯреНрд░рд┐рдВрдЧ рдореЗрдВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рдЬреАрдПрдирдпреВ рдПрд▓рдбреА рдкрде рдХреЛ рдиреАрдЪреЗ рдЬрд╛рдиреЗ рдХреЗ рдкреНрд░рдпрд╛рд╕ рдореЗрдВ (рдЬреАрдПрдирдпреВ рд▓рд┐рдВрдХрд░реНрд╕ рдХреЗ рд╕рд╛рде рд╕рдВрдЧрдд) рд╢рд╛рдорд┐рд▓ рд╣реИ рд▓реЗрдХрд┐рди рдЗрд╕ рдорд╛рдорд▓реЗ рдХреЗ рд▓рд┐рдП рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдкрд░реНрдпрд╛рдкреНрдд рдЪрд╛рд▓рд╛рдХ рдирд╣реАрдВ рд╣реИ :)

LLD рдкрд░ рдорд┐рд▓рд╛рди рдпрд╣рд╛рдБ рдЕрдЪреНрдЫрд╛ рд▓рдЧрддрд╛ рд╣реИ, рднрд▓реЗ рд╣реА LD_GNU рдлрд╝реНрд▓реИрдЧ рдХрд╛ рдирд╛рдо рдЕрдм рдХреБрдЫ рдЧрд▓рдд рд╣реЛред

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ, рдЗрд╕реЗ GitHub https://github.com/dotnet/runtime/issues/14537#issuecomment-739583816 рдкрд░ https://github.com/notifications/unsubscribe-auth/AECFDEXKTDFRAX4ZEE6VXZTSTQHLRANCNFSM4TS3XPPA рдХреЛ рдЕрдирд╕рдмреНрд╕рдХреНрд░рд╛рдЗрдм

рдореИрдВрдиреЗ https://github.com/dotnet/runtime/pull/45664 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рд╡рд┐рдХрд▓реНрдк рдЪреБрдирд╛ рд╣реИ
Clr Clr.Tools рд╕рдмрд╕реЗрдЯ рддрдХ рдмрдирд╛рддрд╛ рд╣реИ, рдлрд┐рд░ рдЗрд╕рдХреЗ рд╕рд╛рде рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ

/root/runtime/.dotnet/sdk/5.0.100/Microsoft.Common.CurrentVersion.targets(4818,5): error MSB3030: Could not copy the file "/root/runtime/artifacts/bin/coreclr/FreeBSD.x64.Release/libjitinterface" because it was not found. [/root/runtime/src/coreclr/src/tools/aot/crossgen2/crossgen2.csproj]
/root/runtime/.dotnet/sdk/5.0.100/Microsoft.Common.CurrentVersion.targets(4818,5): error MSB3030: Could not copy the file "/root/runtime/artifacts/bin/coreclr/FreeBSD.x64.Release/libclrjit" because it was not found. [/root/runtime/src/coreclr/src/tools/aot/crossgen2/crossgen2.csproj]

рд╕рдмрд╕реЗрдЯ "рдореЛрдиреЛ" рдФрд░ рд╕рдмрд╕реЗрдЯ "рд▓рд┐рдмрд╛рд╕" рдмрд┐рдирд╛ рдХрд┐рд╕реА рддреНрд░реБрдЯрд┐ рдХреЗ рдкреВрд░рд╛ рд╣реЛрддрд╛ рд╣реИ

@Thefrank рдпрд╣ рдЗрд╕ рдЕрдВрддрд░ рдХрд╛ рджреВрд╕рд░рд╛ рднрд╛рдЧ рд╣реИ рдЬрд┐рд╕реЗ рдЖрдкрдХреЛ рдЙрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:

diff --git a/src/coreclr/src/tools/aot/crossgen2/crossgen2.csproj b/src/coreclr/src/tools/aot/crossgen2/crossgen2.csproj
index 2de5f568214..87242a728f0 100644
--- a/src/coreclr/src/tools/aot/crossgen2/crossgen2.csproj
+++ b/src/coreclr/src/tools/aot/crossgen2/crossgen2.csproj
@@ -12,7 +12,7 @@
     <OutputPath>$(BinDir)/crossgen2</OutputPath>
     <GenerateRuntimeConfigurationFiles>true</GenerateRuntimeConfigurationFiles>
     <EnableDefaultEmbeddedResourceItems>false</EnableDefaultEmbeddedResourceItems>
-    <RuntimeIdentifiers>linux-x64;linux-musl-x64;win-x64</RuntimeIdentifiers>
+    <RuntimeIdentifiers>linux-x64;linux-musl-x64;win-x64;freebsd-x64</RuntimeIdentifiers>
     <Configurations>Debug;Release;Checked</Configurations>
   </PropertyGroup>

@@ -53,6 +53,7 @@
     <LibraryNameExtension Condition="$([MSBuild]::IsOsPlatform('WINDOWS'))">.dll</LibraryNameExtension>
     <LibraryNameExtension Condition="$([MSBuild]::IsOsPlatform('LINUX'))">.so</LibraryNameExtension>
     <LibraryNameExtension Condition="$([MSBuild]::IsOsPlatform('OSX'))">.dylib</LibraryNameExtension>
+    <LibraryNameExtension Condition="$([MSBuild]::IsOsPlatform('FREEBSD'))">.so</LibraryNameExtension>

     <JitInterfaceLibraryName>$(LibraryNamePrefix)jitinterface$(LibraryNameExtension)</JitInterfaceLibraryName>
   </PropertyGroup>

рдЗрд╕реЗ LINUX рд▓рд╛рдЗрди рдореЗрдВ OR рдХреЗ рд░реВрдк рдореЗрдВ рдмреЗрд╣рддрд░ рддрд░реАрдХреЗ рд╕реЗ рдЬреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

@jasonpugsley рдЬрд┐рд╕рдиреЗ рдЪрд╛рд▓
/root/runtime/src/coreclr/src/tools/aot/crossgen2/crossgen2.csproj : error NU1101: Unable to find package Microsoft.AspNetCore.App.Runtime.freebsd-x64. No packages exist with this id in source(s):
рдореБрдЭреЗ рдкрддрд╛ рдерд╛ рдХрд┐ рдореИрдВ рдХреБрдЫ рджрд┐рди рдкрд╣рд▓реЗ рдХреБрдЫ рдХрд░рдирд╛ рднреВрд▓ рдЧрдпрд╛ рдерд╛! рдпрд╣ рджрд┐рд▓рдЪрд╕реНрдк рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП

рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: рдХреНрд░реЙрд╕рдЬреЗрди рдХреЗ рдмрд┐рдирд╛ (рдЙрд░реНрдл рд╕рд┐рд░реНрдл рджреВрд╕рд░реА рдЫрдорд╛рд╣реА)

./build.sh -c Release -bl:buildlog.binlog

Build succeeded.
    0 Warning(s)
    0 Error(s)

Time Elapsed 00:12:05.56

рдЗрд╕ рдкреЛрд╕реНрдЯ рдкрд░ рдЕрдВрддрд┐рдо рд╕рдВрдкрд╛рджрди рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ рдореИрдВ рдХрд╕рдо рдЦрд╛рддрд╛ рд╣реВрдБ:
рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдореЗрдВ рдХреБрдЫ рд╕рдордп рд▓рдЧ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдпрд╣ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдЪрд▓рдиреЗ рд╡рд╛рд▓рд╛ рдкрд░реАрдХреНрд╖рдг рдХрд╣рддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдпрд╣ рдПрдХ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рд╣рд╛рде рд╕реЗ рдирд┐рдХрд▓ рдЬрд╛рддрд╛ рд╣реИ
System.Net.HttpListener.Tests: [Long Running Test] 'System.Net.Tests.HttpListenerResponseTests.AddLongHeader_DoesNotThrow', Elapsed: 00:36:20

2hr рдкреНрд░рддреАрдХреНрд╖рд╛ рдХреЗ рдмрд╛рдж рдкрд░реАрдХреНрд╖рдг рдХреЛ рдорд╛рд░ рджрд┐рдпрд╛ рдЕрдиреНрдп рдкрд░реАрдХреНрд╖рдг рдЕрднреА рднреА рд╡рд┐рдлрд▓ рдереЗ

/root/runtime/eng/testing/tests.targets(117,5): error : One or more tests failed while running tests from 'Microsoft.Extensions.Hosting.Unit.Tests'. Please check /root/runtime/artifacts/bin/Microsoft.Extensions.Hosting.Unit.Tests/net5.0-Release/testResults.xml for details! [/root/runtime/src/libraries/Microsoft.Extensions.Hosting/tests/UnitTests/Microsoft.Extensions.Hosting.Unit.Tests.csproj]
/root/runtime/eng/testing/tests.targets(117,5): error : One or more tests failed while running tests from 'System.Net.NameResolution.Functional.Tests'. Please check /root/runtime/artifacts/bin/System.Net.NameResolution.Functional.Tests/net5.0-Unix-Release/testResults.xml for details! [/root/runtime/src/libraries/System.Net.NameResolution/tests/FunctionalTests/System.Net.NameResolution.Functional.Tests.csproj]
/root/runtime/eng/testing/tests.targets(117,5): error : One or more tests failed while running tests from 'System.Net.NetworkInformation.Functional.Tests'. Please check /root/runtime/artifacts/bin/System.Net.NetworkInformation.Functional.Tests/net5.0-Release/testResults.xml for details! [/root/runtime/src/libraries/System.Net.NetworkInformation/tests/FunctionalTests/System.Net.NetworkInformation.Functional.Tests.csproj]
/root/runtime/eng/testing/tests.targets(117,5): error : One or more tests failed while running tests from 'Microsoft.VisualBasic.Core.Tests'. Please check /root/runtime/artifacts/bin/Microsoft.VisualBasic.Core.Tests/net5.0-Release/testResults.xml for details! [/root/runtime/src/libraries/Microsoft.VisualBasic.Core/tests/Microsoft.VisualBasic.Core.Tests.csproj]
/root/runtime/eng/testing/tests.targets(117,5): error : One or more tests failed while running tests from 'System.Console.Tests'. Please check /root/runtime/artifacts/bin/System.Console.Tests/net5.0-Release/testResults.xml for details! [/root/runtime/src/libraries/System.Console/tests/System.Console.Tests.csproj]
/root/runtime/eng/testing/tests.targets(117,5): error : One or more tests failed while running tests from 'System.Runtime.Extensions.Tests'. Please check /root/runtime/artifacts/bin/System.Runtime.Extensions.Tests/net5.0-Unix-Release/testResults.xml for details! [/root/runtime/src/libraries/System.Runtime.Extensions/tests/System.Runtime.Extensions.Tests.csproj]
/root/runtime/eng/testing/tests.targets(117,5): error : One or more tests failed while running tests from 'System.Net.Sockets.Tests'. Please check /root/runtime/artifacts/bin/System.Net.Sockets.Tests/net5.0-Unix-Release/testResults.xml for details! [/root/runtime/src/libraries/System.Net.Sockets/tests/FunctionalTests/System.Net.Sockets.Tests.csproj]
/root/runtime/eng/testing/tests.targets(117,5): error : One or more tests failed while running tests from 'System.IO.FileSystem.Tests'. Please check /root/runtime/artifacts/bin/System.IO.FileSystem.Tests/net5.0-Unix-Release/testResults.xml for details! [/root/runtime/src/libraries/System.IO.FileSystem/tests/System.IO.FileSystem.Tests.csproj]
/root/runtime/eng/testing/tests.targets(117,5): error : One or more tests failed while running tests from 'System.Net.Ping.Functional.Tests'. Please check /root/runtime/artifacts/bin/System.Net.Ping.Functional.Tests/net5.0-Unix-Release/testResults.xml for details! [/root/runtime/src/libraries/System.Net.Ping/tests/FunctionalTests/System.Net.Ping.Functional.Tests.csproj]
/root/runtime/eng/testing/tests.targets(117,5): error : One or more tests failed while running tests from 'System.Net.Requests.Tests'. [/root/runtime/src/libraries/System.Net.Requests/tests/System.Net.Requests.Tests.csproj]
/root/runtime/eng/testing/tests.targets(117,5): error : One or more tests failed while running tests from 'System.Net.WebSockets.Client.Tests'. [/root/runtime/src/libraries/System.Net.WebSockets.Client/tests/System.Net.WebSockets.Client.Tests.csproj]
/root/runtime/eng/testing/tests.targets(117,5): error : One or more tests failed while running tests from 'System.Security.Cryptography.X509Certificates.Tests'. Please check /root/runtime/artifacts/bin/System.Security.Cryptography.X509Certificates.Tests/net5.0-Unix-Release/testResults.xml for details! [/root/runtime/src/libraries/System.Security.Cryptography.X509Certificates/tests/System.Security.Cryptography.X509Certificates.Tests.csproj]
/root/runtime/eng/testing/tests.targets(117,5): error : One or more tests failed while running tests from 'System.Net.WebClient.Tests'. [/root/runtime/src/libraries/System.Net.WebClient/tests/System.Net.WebClient.Tests.csproj]
/root/runtime/eng/testing/tests.targets(117,5): error : One or more tests failed while running tests from 'System.Net.Security.Tests'. Please check /root/runtime/artifacts/bin/System.Net.Security.Tests/net5.0-Unix-Release/testResults.xml for details! [/root/runtime/src/libraries/System.Net.Security/tests/FunctionalTests/System.Net.Security.Tests.csproj]
/root/runtime/eng/testing/tests.targets(117,5): error : One or more tests failed while running tests from 'System.Diagnostics.Process.Tests'. Please check /root/runtime/artifacts/bin/System.Diagnostics.Process.Tests/net5.0-Unix-Release/testResults.xml for details! [/root/runtime/src/libraries/System.Diagnostics.Process/tests/System.Diagnostics.Process.Tests.csproj]
/root/runtime/eng/testing/tests.targets(117,5): error : One or more tests failed while running tests from 'System.Security.Cryptography.Xml.Tests'. [/root/runtime/src/libraries/System.Security.Cryptography.Xml/tests/System.Security.Cryptography.Xml.Tests.csproj]
/root/runtime/eng/testing/tests.targets(117,5): error : One or more tests failed while running tests from 'System.Runtime.Tests'. Please check /root/runtime/artifacts/bin/System.Runtime.Tests/net5.0-Unix-Release/testResults.xml for details! [/root/runtime/src/libraries/System.Runtime/tests/System.Runtime.Tests.csproj]
/root/runtime/eng/testing/tests.targets(117,5): error : One or more tests failed while running tests from 'System.Net.HttpListener.Tests'. [/root/runtime/src/libraries/System.Net.HttpListener/tests/System.Net.HttpListener.Tests.csproj]
    0 Warning(s)
    18 Error(s)

Time Elapsed 02:11:29.07
Build failed (exit code '1').
рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

jkotas picture jkotas  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

GitAntoinee picture GitAntoinee  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

jchannon picture jchannon  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

omariom picture omariom  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

EgorBo picture EgorBo  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ