Runtime: рдПрдХрд▓-рдлрд╝рд╛рдЗрд▓ рд╡рд┐рддрд░рдг рдХрд╛ рд╕рдорд░реНрдерди рдХрд░реЗрдВ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 5 рдЕрдХреНрддреВре░ 2018  ┬╖  225рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: dotnet/runtime

рдпрд╣ рд╕рдорд╕реНрдпрд╛ .NET Core 3.0 рдПрдХрд▓-рдлрд╝рд╛рдЗрд▓ рд╡рд┐рддрд░рдг рд╕реБрд╡рд┐рдзрд╛ рдкрд░ рдкреНрд░рдЧрддрд┐ рдХреЛ рдЯреНрд░реИрдХ рдХрд░рддреА рд╣реИред
рдпрд╣рд╛рдБ рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдФрд░ рд╕реНрдЯреЗрдЬрд┐рдВрдЧ рдпреЛрдЬрдирд╛ рд╣реИред

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

рдкрд╣рд▓реА рд╢реБрд░реБрдЖрдд рдмрд╣реБрдд рдзреАрдореА рд╣реЛрдиреЗ рдХреА рдЙрдореНрдореАрдж рд╣реИ - рдпрд╣ рдРрдк рдХреЛ рдбрд┐рд╕реНрдХ рдкрд░ рдирд┐рдХрд╛рд▓рддрд╛ рд╣реИ - рдмрд╣реБрдд рд╕рд╛рд░реЗ рдЖрдИрдУред

рдРрд╕рд╛ рдХрднреА рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдерд╛, рдЖрдк рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдЕрдиреБрднрд╡ рдХреЛ рдбрд┐рдЬрд╝рд╛рдЗрди рджреНрд╡рд╛рд░рд╛ рднрдпрд╛рдирдХ рдмрдирд╛рддреЗ рд╣реИрдВ, рднрдпрд╛рдирдХ рд╡рд┐рдХрд▓реНрдк, рдЗрд╕ рддрд░рд╣ рдЖрдк рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдЙрд╕ рддрдХрдиреАрдХ рд╕реЗ рдирдлрд░рдд рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рдбреЗрд╡рд▓рдкрд░ рдЙрдирдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реИ

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

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

рдореЗрд░реА рд░рд╛рдп рдореЗрдВ рдпрд╣ рд╕рдордп рдФрд░ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреА рдмрд░реНрдмрд╛рджреА рд╣реИ, рдПрдУрдЯреА рд╕рдВрдХрд▓рди рдФрд░ рдЯреНрд░реА-рд╢реЗрдХрд┐рдВрдЧ рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░реЗрдВ, рдЕрдкрдиреЗ рд╕рднреА рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЛ рд╡рд╣рд╛рдВ рд░рдЦреЗрдВ, рд╣реИрдХреНрд╕ рдХреЗ рд╕рд╛рде рд░реБрдХреЗрдВ

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

рджрд┐рд▓рдЪрд╕реНрдк рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдЗрд╕ рдкрд╣рд▓ рдХреА рддреБрд▓рдирд╛ CoreRT рд╕реЗ рдХреИрд╕реЗ рдХреА рдЬрд╛рддреА рд╣реИ? рд╡реЗ рд╕рдорд╛рди рдкреНрд░рдпрд╛рд╕реЛрдВ рдХреА рддрд░рд╣ рд▓рдЧрддреЗ рд╣реИрдВ?

рдХреНрдпрд╛ рдпрд╣ ' рд╕рдВрднрд╡рддрдГ рдореВрд▓ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛрдб ' рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИ, рдпрд╛рдиреА рдпрд╣ рдЕрднреА рднреА рдХреЛрдб рдХреЛ рдЬреЗрдЖрдИрдЯреА-рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛, рди рдХрд┐ рдХреЗрд╡рд▓ рдПрдУрдЯреА?

рд╕рд╛рде рд╣реА, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд░рдирдЯрд╛рдЗрдо рдШрдЯрдХ (' рдореВрд▓ рдХреЛрдб (рд░рдирдЯрд╛рдЗрдо, рд╣реЛрд╕реНрдЯ, рдврд╛рдВрдЪреЗ рдХреЗ рдореВрд▓ рднрд╛рдЧ .. ') CoreCLR рд░реЗрдкреЛ рд╕реЗ рд╣реЛрдВрдЧреЗ?

рдЖрдк рдмрд╣реБрдд рдЕрдЪреНрдЫреЗ рдкреНрд░рд╢реНрди рдкреВрдЫ рд░рд╣реЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЪреВрдВрдХрд┐ рдпрд╣ рдЕрднреА рднреА рдбрд┐рдЬрд╛рдЗрди рдореЗрдВ рд╢реБрд░реБрдЖрддреА рд╣реИ, рдореЗрд░реЗ рдкрд╛рд╕ рдЕрднреА рддрдХ рдЕрдЪреНрдЫреЗ рдЙрддреНрддрд░ рдирд╣реАрдВ рд╣реИрдВред

рджрд┐рд▓рдЪрд╕реНрдк рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдЗрд╕ рдкрд╣рд▓ рдХреА рддреБрд▓рдирд╛ CoreRT рд╕реЗ рдХреИрд╕реЗ рдХреА рдЬрд╛рддреА рд╣реИ? рд╡реЗ рд╕рдорд╛рди рдкреНрд░рдпрд╛рд╕реЛрдВ рдХреА рддрд░рд╣ рд▓рдЧрддреЗ рд╣реИрдВ?

рдХреБрдЫ рд╣рдж рддрдХ рд╕рдорд╛рди рдкрд░рд┐рдгрд╛рдо (рдПрдХ рдлрд╝рд╛рдЗрд▓) рд╣реЛрдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд╣реЛрдЧреА, рд▓реЗрдХрд┐рди рдбрд┐рдЬрд╝рд╛рдЗрди рдореЗрдВ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдкреНрд░рджрд░реНрд╢рди рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рдпрд╛ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рд╣реЛ рд╕рдХрддреА рд╣реИрдВ рдЬреЛ рдХрд╛рдо рдХрд░рддреА рд╣реИрдВ/рдирд╣реАрдВ рдХрд░рддреА рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рд╕рдВрднрд╛рд╡рд┐рдд рдбрд┐рдЬрд╝рд╛рдЗрди рдПрдХ .NET рдХреЛрд░ рд╕реНрд╡-рдирд┐рд╣рд┐рдд рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рд╕рднреА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рдПрдХ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕рдВрдпреЛрдЬрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ 10 рдПрдордмреА рд╣реИ рдФрд░ рдЕрдзрд┐рдХ рдзреАрд░реЗ-рдзреАрд░реЗ рд╢реБрд░реВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рджреВрд╕рд░реА рдУрд░, рдпрд╣ рдХреЛрд░рд╕реАрдПрд▓рдЖрд░ рдХреА рдкреВрд░реНрдг рдХреНрд╖рдорддрд╛рдУрдВ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛, рдЬрд┐рд╕рдореЗрдВ рд▓реЛрдбрд┐рдВрдЧ рдкреНрд▓рдЧрдЗрдиреНрд╕, рдкреНрд░рддрд┐рдмрд┐рдВрдм рдЙрддреНрд╕рд░реНрдЬрди рдФрд░ рдЙрдиреНрдирдд рдбрд╛рдпрдЧреНрдиреЛрд╕реНрдЯрд┐рдХреНрд╕ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рдХреЛрд░рдЖрд░рдЯреА тАЛтАЛрдХреЛ рд╕реНрдкреЗрдХреНрдЯреНрд░рдо рдХрд╛ рджреВрд╕рд░рд╛ рдЫреЛрд░ рдорд╛рдирд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ - рдпрд╣ рд╕рд┐рдВрдЧрд▓-рдбрд┐рдЬрд┐рдЯ рдПрдордмреА рд╣реИ рдФрд░ рдЗрд╕рдореЗрдВ рдмрд╣реБрдд рддреЗрдЬ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рд╕рдордп рд╣реИ, рд▓реЗрдХрд┐рди рдЬреЗрдЖрдИрдЯреА рдирд╣реАрдВ рд╣реЛрдиреЗ рд╕реЗ, рдпрд╣ рдкреНрд▓рдЧрдЗрдиреНрд╕ рд▓реЛрдб рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдпрд╛ рдкреНрд░рддрд┐рдмрд┐рдВрдм рдЙрддреНрд╕рд░реНрдЬрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдирд┐рд░реНрдорд╛рдг рд╕рдордп рд╕рдмрд╕реЗ рдзреАрдорд╛ рд╣реИред NET рджреЗрд╡реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдЗрд╕рдХреА рдХреБрдЫ рдЕрдиреНрдп рд╕реАрдорд╛рдПрдБ рд╣реИрдВ рдЬреЛ рд╕рдордп рдХреЗ рд╕рд╛рде рдмреЗрд╣рддрд░ рд╣реЛ рд╕рдХрддреА рд╣реИрдВ, рд▓реЗрдХрд┐рди .NET Core 3.0 рджреНрд╡рд╛рд░рд╛ рдмреЗрд╣рддрд░ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреА рд╣реИрдВ (рд╕рдВрднрд╡рддрдГ рдкреНрд░рддрд┐рдмрд┐рдВрдм рдХреЗ рд▓рд┐рдП рдПрдиреЛрдЯреЗрд╢рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдХреБрдЫ рдЗрдВрдЯрд░рдСрдк рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдХреЛ рдЧрд╛рдпрдм рдХрд░рдирд╛, рд▓рд┐рдирдХреНрд╕ рдкрд░ рд╕реАрдорд┐рдд рдирд┐рджрд╛рди)ред рджреЛрдиреЛрдВ рдХреЗ рдмреАрдЪ рдХрд╣реАрдВ рди рдХрд╣реАрдВ рд╡рд┐рдЪрд╛рд░ рднреА рд╣реИрдВред рдЕрдЧрд░ рд▓реЛрдЧреЛрдВ рдХреЗ рдкрд╛рд╕ рдЯреНрд░реЗрдбрдСрдлрд╝ рд╣реИрдВ рдЬреЛ рд╡реЗ рдмрдирд╛рдирд╛/рд╕реЗ рдмрдЪрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рдЙрдирдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реБрдирдиреЗ рдХреЗ рд▓рд┐рдП рдЙрддреНрд╕реБрдХ рд╣реЛрдВрдЧреЗред

рдХреНрдпрд╛ рдпрд╣ 'рд╕рдВрднрд╡рддрдГ рдореВрд▓ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛрдб' рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИ, рдпрд╛рдиреА рдпрд╣ рдЕрднреА рднреА рдХреЛрдб рдХреЛ рдЬреЗрдЖрдИрдЯреА-рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛, рди рдХрд┐ рдХреЗрд╡рд▓ рдПрдУрдЯреА?

"рдореВрд▓ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛрдб" рд╕реЗ рдореЗрд░рд╛ рдорддрд▓рдм рдерд╛ рдХрд┐ рдЖрдкрдХреЗ рдРрдк рдореЗрдВ рдХреБрдЫ рд╕реА ++ рдореВрд▓ рдХреЛрдб рд╣реЛ рд╕рдХрддрд╛ рд╣реИ (рдпрд╛ рддреЛ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдпрд╛ рдХрд┐рд╕реА рддреГрддреАрдп-рдкрдХреНрд╖ рдШрдЯрдХ рджреНрд╡рд╛рд░рд╛ рд▓рд┐рдЦрд┐рдд)ред рд╣рдо рдЙрд╕ рдХреЛрдб рдХреЗ рд╕рд╛рде рдХреНрдпрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрд╕ рдкрд░ рд╕реАрдорд╛рдПрдВ рд╣реЛ рд╕рдХрддреА рд╣реИрдВ - рдпрджрд┐ рдЗрд╕реЗ .dll рдореЗрдВ рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЗрд╕реЗ рдЪрд▓рд╛рдиреЗ рдХрд╛ рдПрдХрдорд╛рддреНрд░ рддрд░реАрдХрд╛ рдбрд┐рд╕реНрдХ рд╕реЗ рдмрд╛рд╣рд░ рд╣реИ; рдЕрдЧрд░ рдпрд╣ рдПрдХ .lib рд╣реИ, рддреЛ рдЗрд╕реЗ рд▓рд┐рдВрдХ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рд╕реЗ рдЕрдиреНрдп рдЬрдЯрд┐рд▓рддрд╛рдПрдВ рдЖрддреА рд╣реИрдВред

рд╕рд╛рде рд╣реА, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд░рдирдЯрд╛рдЗрдо рдШрдЯрдХ ('рдореВрд▓ рдХреЛрдб (рд░рдирдЯрд╛рдЗрдо, рд╣реЛрд╕реНрдЯ, рдврд╛рдВрдЪреЗ рдХреЗ рдореВрд▓ рднрд╛рдЧ ..') CoreCLR рд░реЗрдкреЛ рд╕реЗ рд╣реЛрдВрдЧреЗ?

рдКрдкрд░ рджреА рдЧрдИ рд╣рд░ рдЪреАрдЬ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рд╣рдо рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдПрдВрдЧреЗ рдХрд┐ рдХреМрди рд╕реЗ рд░реЗрдкреЛ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред "рдврд╛рдВрдЪреЗ рдХреЗ рдореВрд▓ рднрд╛рдЧ" рдореЗрдВ CoreFX рдореВрд▓ рдлрд╝рд╛рдЗрд▓реЗрдВ рдЬреИрд╕реЗ ClrCompression рдФрд░ Unix PAL рд╢рд╛рдорд┐рд▓ рд╣реЛрдВрдЧреАред

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

рдХреБрдЫ рдкрд░рд┐рджреГрд╢реНрдп рдЬреЛ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рд░реБрдЪрд┐рдХрд░ рд╣реИрдВред рдХреНрд░реЙрд╕ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░реЗрдЧрд╛?
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдкреНрд░рддрд┐ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдПрдХ рдЕрд▓рдЧ "рдлрд╛рдЗрд▓" рд╣реЛрдЧреА?

рдореВрд▓ рдХреЛрдб рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ, рдореИрдВ рдордВрдЪ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╡рд┐рднрд┐рдиреНрди рдореВрд▓ рдШрдЯрдХреЛрдВ рдХрд╛ рдЪрдпрди рдХреИрд╕реЗ рдХрд░ рдкрд╛рдКрдВрдЧрд╛?

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

@ayende , рдореИрдВ @morganbr рдЯрд┐рдкреНрдкрдгреА рд╕реЗ рдЙрджреНрдзреГрдд рдХрд░ рд░рд╣рд╛ рд╣реВрдВ:

рдПрдХ рд╕рдВрднрд╛рд╡рд┐рдд рдбрд┐рдЬрд╝рд╛рдЗрди рдПрдХ .NET рдХреЛрд░ рд╕реНрд╡-рдирд┐рд╣рд┐рдд рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рд╕рднреА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рдПрдХ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕рдВрдпреЛрдЬрд┐рдд рдХрд░рдирд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

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

@morganbr рдореИрдВ рдЗрд╕ рддрд░рд╣ рдХреЗ рд╡рд┐рд╕реНрддреГрдд рдЙрддреНрддрд░ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдордп рдирд┐рдХрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреА рд╕рд░рд╛рд╣рдирд╛ рдХрд░рддрд╛ рд╣реВрдВ

рдореБрдЭреЗ рдпрд╣ рджреЗрдЦрдиреЗ рдореЗрдВ рджрд┐рд▓рдЪрд╕реНрдкреА рд╣реЛрдЧреА рдХрд┐ рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд╣рд╛рдБ рдЬрд╛рддрд╛ рд╣реИ, рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк рдкрд╣рд▓ рд╣реИ

рдореЗрд░реЗ рдкрд╛рд╕ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдкреНрд░рд╢реНрди рд╣реИрдВ рдЬреЛ рд╕рд┐рдВрдЧрд▓-рдлрд╛рдЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдЖрдкрдХреЗ рдЙрддреНрддрд░ рд╣рдореЗрдВ рдЕрдкрдиреЗ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЛ рд╕реАрдорд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдВрдЧреЗ:

  1. рдЖрдк рдХрд┐рд╕ рдкреНрд░рдХрд╛рд░ рдХреЗ рдРрдк рдХреЗ рд╕рд╛рде рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд░рдЦрддреЗ рд╣реИрдВ? (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рд╡рд┐рдВрдбреЛрдЬрд╝ рдкрд░ рдбрдмреНрд▓реНрдпреВрдкреАрдПрдл? рдПрдПрд╕рдкреА.рдиреЗрдЯ рдПрдХ рд▓рд┐рдирдХреНрд╕ рдбреЙрдХрд░ рдХрдВрдЯреЗрдирд░ рдореЗрдВ? рдХреБрдЫ рдФрд░?)
  2. рдХреНрдпрд╛ рдЖрдкрдХреЗ рдРрдк рдореЗрдВ (рдЧреИрд░-.NET) C++/рдореВрд▓ рдХреЛрдб рд╢рд╛рдорд┐рд▓ рд╣реИ?
  3. рдХреНрдпрд╛ рдЖрдкрдХрд╛ рдРрдк рдкреНрд▓рдЧрдЗрдиреНрд╕ рдпрд╛ рдЕрдиреНрдп рдмрд╛рд╣рд░реА рдбреАрдПрд▓рдПрд╕ рд▓реЛрдб рдХрд░реЗрдЧрд╛ рдЬрд┐рдиреНрд╣реЗрдВ рдЖрдкрдиреЗ рдореВрд▓ рд░реВрдк рд╕реЗ рдЕрдкрдиреЗ рдРрдк рдмрд┐рд▓реНрдб рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдерд╛?
  4. рдХреНрдпрд╛ рдЖрдк рд╕реБрд░рдХреНрд╖рд╛ рд╕реБрдзрд╛рд░реЛрдВ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рдРрдк рдХрд╛ рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг рдФрд░ рдкреБрдирд░реНрд╡рд┐рддрд░рдг рдХрд░рдиреЗ рдХреЗ рдЗрдЪреНрдЫреБрдХ рд╣реИрдВ?
  5. рдпрджрд┐ рдЖрдкрдХрд╛ рдРрдк 200-500 ms рдЕрдзрд┐рдХ рдзреАрдореА рдЧрддрд┐ рд╕реЗ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ рддреЛ рдХреНрдпрд╛ рдЖрдк рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ? 5 рд╕реЗрдХрдВрдб рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛?
  6. рдЖрдк рдЕрдкрдиреЗ рдРрдк рдХреЗ рд▓рд┐рдП рд╕реНрд╡реАрдХрд╛рд░реНрдп рд╕рдмрд╕реЗ рдмрдбрд╝рд╛ рдЖрдХрд╛рд░ рдХреНрдпрд╛ рдорд╛рдиреЗрдВрдЧреЗ? 5 рдПрдордмреА? 10? 20? 50? 75? 100?
  7. рдХреНрдпрд╛ рдЖрдк рдЖрдХрд╛рд░ рдФрд░/рдпрд╛ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рд╕рдордп рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд▓рдВрдмрд╛ рд░рд┐рд▓реАрдЬрд╝ рдмрд┐рд▓реНрдб рд╕рдордп рд╕реНрд╡реАрдХрд╛рд░ рдХрд░реЗрдВрдЧреЗ? рдЖрдк рд╕рдмрд╕реЗ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдХреНрдпрд╛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░реЗрдВрдЧреЗ? 15 рд╕реЗрдХрдВрдб? 30 рд╕реЗрдХрдВрдб? 1 рдорд┐рдирдЯ? 5 рдорд┐рдирдЯ?
  8. рдХреНрдпрд╛ рдЖрдк рдЕрддрд┐рд░рд┐рдХреНрдд рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рдЗрдЪреНрдЫреБрдХ рд╣реЛрдВрдЧреЗ рдпрджрд┐ рдпрд╣ рдЖрдкрдХреЗ рдРрдк рдХреЗ рдЖрдХрд╛рд░ рдХреЛ рдЖрдзрд╛ рдХрд░ рджреЗрдЧрд╛?
  1. рд╕рднреА рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкрд░ рдХрдВрд╕реЛрд▓/рдпреВрдЖрдИ рдРрдкред
  2. рд╢рд╛рдпрдж рддреАрд╕рд░реЗ рдкрдХреНрд╖ рдХреЗ рдШрдЯрдХ рдХреЗ рд░реВрдк рдореЗрдВред
  3. рд╢рд╛рдпрдж рд╣рд╛рдБред
  4. рд╣рд╛рдВ, рдЦрд╛рд╕рдХрд░ рдЕрдЧрд░ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдХреНрд▓рд┐рдХрдСрди рдЬреИрд╕реА рдкреНрд░рдгрд╛рд▓реА рд╣реИред
  5. рдХреБрдЫ рд╢реБрд░реБрдЖрддреА рдордВрджреА рдХреЛ рд╕рд╣рди рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдХреНрдпрд╛ рдмрд┐рдВрджреБ 3 рдЗрд╕рдореЗрдВ рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИ?
  6. рд╕рдВрдкрддреНрддрд┐ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред рд╣реИрд▓реЛ рд╡рд░реНрд▓реНрдб рдХрд╛ рд╕рд╛рдЗрдЬ рдПрдордмреА рдХреЗ рдСрд░реНрдбрд░ рдкрд░ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
  7. рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ рдЕрдЧрд░ рдпрд╣ рд╕рд┐рд░реНрдл рдЙрддреНрдкрд╛рджрди рд╣реИред
  8. рдкреНрд░рддрд┐рдмрд┐рдВрдм рд╕рд╛рдордЧреНрд░реА рдХреЛ рд╢реНрд╡реЗрддрд╕реВрдЪреА рдореЗрдВ рдбрд╛рд▓рдирд╛ рдкрд╕рдВрдж рд╣реИ? рд╣рд╛рдВред

@morganbr , рдХреНрдпрд╛ рдЖрдкрдХреЛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпреЗ рдкреНрд░рд╢реНрди рд╡реНрдпрд╛рдкрдХ рджрд░реНрд╢рдХреЛрдВ рд╕реЗ рдмреЗрд╣рддрд░ рддрд░реАрдХреЗ рд╕реЗ рдкреВрдЫреЗ рдЬрд╛рддреЗ рд╣реИрдВ; рдпрд╛рдиреА, рд╡реНрдпрд╛рдкрдХ рд░реВрдк рд╕реЗ рдЬреЛ рд▓реЛрдЧ рдЗрд╕ рдЧрд┐рдЯрд╣рдм рдореБрджреНрджреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирддреЗ рд╣реИрдВ?

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рд╕рдВрднрд╛рд╡рд┐рдд рдбрд┐рдЬрд╝рд╛рдЗрди рдПрдХ .NET рдХреЛрд░ рд╕реНрд╡-рдирд┐рд╣рд┐рдд рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рд╕рднреА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рдПрдХ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕рдВрдпреЛрдЬрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

рдЗрд╕реЗ рд╕рдВрдХреБрдЪрд┐рдд рдХрд░рдХреЗ рджреЗрдЦ рд░рд╣реЗ рд╣реИрдВ; рдпрд╛ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕рдВрдкреАрдбрд╝рд┐рдд рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ?

@tpetrina , рдзрдиреНрдпрд╡рд╛рдж! рдмрд┐рдВрджреБ 3 рдореЗрдВ рдХреБрдЫ рдбрд┐рдЬрд╝рд╛рдЗрди рдХреЛрдг рд╢рд╛рдорд┐рд▓ рд╣реИрдВ:

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

@TheBlueSky , рд╣рдордиреЗ рдЕрдиреНрдп рд▓реЛрдЧреЛрдВ рд╕реЗ рднреА рд╕рдВрдкрд░реНрдХ рдХрд┐рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ GitHub рд╕рдореБрджрд╛рдп рдХреЗ рднрд╛рд╡реБрдХ рд▓реЛрдЧреЛрдВ рд╕реЗ рдЗрдирдкреБрдЯ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИред

@benaadams , рд╕рдВрдкреАрдбрд╝рди рдореЗрдЬ рдкрд░ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдЗрд╕реЗ рд╕рдордЧреНрд░ рдбрд┐рдЬрд╛рдЗрди рдХреЗ рд▓рд┐рдП рдСрд░реНрдереЛрдЧреЛрдирд▓ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реЛрдЪ рд░рд╣рд╛ рд╣реВрдВред рд╣рд▓реНрдХреЗ рдкреНрд░рдпреЛрдЧ рд╕реЗ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рд╕рдордп (рдФрд░ рдирд┐рд░реНрдорд╛рдг рд╕рдордп) рдХреЗ рдХрдИ рд╕реЗрдХрдВрдб рдХреА рд▓рд╛рдЧрдд рдкрд░ рдЬрд╝рд┐рдкрд┐рдВрдЧ рдХреЛ рд▓рдЧрднрдЧ 50% рдЖрдХрд╛рд░ рдореЗрдВ рдХрдореА рдорд┐рд▓ рд╕рдХрддреА рд╣реИред рдореЗрд░реЗ рд▓рд┐рдП, рдпрд╣ рдПрдХ рдХрдЯреНрдЯрд░рдкрдВрдереА рдкрд░реНрдпрд╛рдкреНрдд рд╡реНрдпрд╛рдкрд╛рд░-рдмрдВрдж рд╣реИ рдХрд┐ рдЕрдЧрд░ рд╣рдо рдРрд╕рд╛ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рд╡реИрдХрд▓реНрдкрд┐рдХ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

@morganbr рд╕рдВрдкреАрдбрд╝рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рд╕рдордп рдХреЗ рдХрдИ рд╕реЗрдХрдВрдб? рдореБрдЭреЗ рдпрд╣ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпреВрдкреАрдПрдХреНрд╕ рдХрд╛ рджрд╛рд╡рд╛ рд╣реИ рдХрд┐ рдбреАрдХрдВрдкреНрд░реЗрд╕рди рдЧрддрд┐

рдкреНрд░рд╛рдЪреАрди рдкреЗрдВрдЯрд┐рдпрдо 133 рдкрд░ ~10 рдПрдордмреА/рд╕реЗрдХрдВрдб, рдПрдерд▓реЙрди XP 2000+ рдкрд░ ~200 рдПрдордмреА/рд╕реЗрдХрдВрдбред

@morganbr , рдореЗрд░реЗ рд▓рд┐рдП рдЙрддреНрддрд░ рд╣реИрдВ:

1) рд╕реЗрд╡рд╛ (рдореВрд▓ рд░реВрдк рд╕реЗ Kestrel рдЪрд▓рд╛рдиреЗ рд╡рд╛рд▓рд╛ рдХрдВрд╕реЛрд▓ рдРрдк)ред рд╡рд┐рдВрдбреЛрдЬ рд╕рд░реНрд╡рд┐рд╕/рд▓рд┐рдирдХреНрд╕ рдбреЗрдореЙрди рдпрд╛ рдбреЙрдХрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд▓ рд░рд╣рд╛ рд╣реИред
2) рд╣рд╛рдБ
3) рд╣рд╛рдВ, рдЖрдорддреМрд░ рдкрд░ рдкреНрд░рдмрдВрдзрд┐рдд рдЕрд╕реЗрдВрдмрд▓реА AssemblyContext.LoadFrom рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗред рдпреЗ рдЕрдВрддрд┐рдо рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред
4) рд╣рд╛рдБ, рдпрд╣ рдЕрдкреЗрдХреНрд╖рд┐рдд рд╣реИред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рд╣рдо рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкреВрд░реЗ рдврд╛рдВрдЪреЗ рдХреЛ рдмрдВрдбрд▓ рдХрд░ рдЪреБрдХреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЙрд╕ рдкрд░рд┐рдкреНрд░реЗрдХреНрд╖реНрдп рд╕реЗ рдХреЛрдИ рдмрджрд▓рд╛рд╡ рдирд╣реАрдВ рдЖрдпрд╛ рд╣реИред
5) рдПрдХ рд╕реЗрд╡рд╛ рдХреЗ рд░реВрдк рдореЗрдВ, рд╣рдо рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рд╕рдордп рдХреЗ рд▓рд┐рдП рдЗрддрдирд╛ рдЕрдзрд┐рдХ рдкрд░рд╡рд╛рд╣ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред 5 рд╕реЗрдХрдВрдб рдЙрдЪрд┐рдд рд╣реЛрдЧрд╛ред
6) 75 рдПрдордмреА рд╢рд╛рдпрдж рд╕реАрдорд╛ рд╣реИред рдмрд╣реБрдд рдХреБрдЫ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдВрдкреАрдбрд╝рд┐рдд рдЖрдХрд╛рд░ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╕рднреА рдкреИрдХреЗрдЬ рд╕рдВрдкреАрдбрд╝рд┐рдд рд╡рд┐рддрд░рд┐рдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред
7) рд░рд┐рд▓реАрдЬ рдмрд┐рд▓реНрдб рдХреЗ рд▓рд┐рдП, рд▓рдВрдмреЗ рд╕рдордп рддрдХ (рдпрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдХрд┐ рдЕрдзрд┐рдХ рд▓рдВрдмрд╛) рдирд┐рд░реНрдорд╛рдг рд╕рдордп рд╕реНрд╡реАрдХрд╛рд░реНрдп рд╣реИред
8) рд╣рд╛рдБ, рдмрд┐рд▓реНрдХреБрд▓ред рдЖрдХрд╛рд░ рдЗрддрдирд╛ рдорд╛рдпрдиреЗ рдирд╣реАрдВ рд░рдЦрддрд╛, рд▓реЗрдХрд┐рди рдЫреЛрдЯрд╛ рдмреЗрд╣рддрд░ рд╣реИред

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

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

рдзрдиреНрдпрд╡рд╛рдж, @ayende! рдЖрдк рд╕рд╣реА рдХрд╣ рд░рд╣реЗ рд╣реИрдВ рдХрд┐ рдореБрдЭреЗ рдбрд┐рдмрдЧреЗрдмрд┐рд▓рд┐рдЯреА рдХреЛ рдХреЙрд▓ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдерд╛ред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдбрд┐рдмрдЧрд┐рдВрдЧ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рдиреЗ рдХреЗ рдХреБрдЫ рд╣реА рдорд╛рдореВрд▓реА рддрд░реАрдХреЗ рд╣реИрдВ:

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

рдЬрдм рдЖрдк рдХрд╣рддреЗ рд╣реИрдВ "рдкреАрдбреАрдмреА рдлрд╛рдЗрд▓реЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд░реЗрдВ", рдХреНрдпрд╛ рдЖрдк рдЙрди _inside_ рдПрдХрд▓ рдлрд╝рд╛рдЗрд▓ рдпрд╛ рдХреЗрд╡рд▓ рдЙрдиреНрд╣реЗрдВ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдФрд░ рдпрджрд┐ рдЖрдкрдХреЛ рдПрдХрд▓-рдлрд╝рд╛рдЗрд▓ рдмрд┐рд▓реНрдб рдХреЛ рдбреАрдмрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рддреЛ рдЙрди рдкрд░ рд▓рдЯрдХрд╛ рджреЗрдВ?

1) рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдХреЛрдИ рдореБрджреНрджрд╛ рдирд╣реАрдВ рд╣реИред E&C рдпрд╣рд╛рдВ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдирд╣реАрдВ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдХреЗрд╡рд▓ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ, рджрд┐рди-рдкреНрд░рддрд┐рджрд┐рди рдирд╣реАрдВред
2) рдЖрджрд░реНрд╢ рд░реВрдк рд╕реЗ, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдкреАрдбреАрдмреА рд╕рдореЗрдд рд╣рд░ рдЪреАрдЬ рдХреЗ рд▓рд┐рдП рдПрдХ рдлрд╛рдЗрд▓ рд╣реИ, рдПрдХ рдлрд╛рдЗрд▓ рдирд╣реАрдВ рдФрд░ рдкреАрдбреАрдмреАрдПрд╕ рдХрд╛ рдПрдХ рд╕реЗрдЯред рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдореНрдмреЗрдбреЗрдб рдкреАрдбреАрдмреА рд╡рд┐рдХрд▓реНрдк рд╣реИ, рдЕрдЧрд░ рд╡рд╣ рдХрд╛рдо рдХрд░реЗрдЧрд╛, рддреЛ рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ред
3) рдбреАрдмрдЧ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рддреЗ рд╕рдордп, рдореИрдВ рдбреАрдмрдЧрд░ рд▓рд╛рдЗрд╡ рд╕рдВрд▓рдЧреНрди рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп рдЙрддреНрдкрд╛рджрди рд╕рдордп рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдмрд╛рдд рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдЕрдзрд┐рдХ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рд╕реНрдЯреИрдХ рдЯреНрд░реЗрд╕ рдЬрд╛рдирдХрд╛рд░реА рдЬрд┐рд╕рдореЗрдВ рдлрд╝рд╛рдЗрд▓ рдФрд░ рд▓рд╛рдЗрди рдирдВрдмрд░ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ, рдбрдВрдк рдкрдврд╝рддреЗ рд╕рдордп рдкреНрд░рддреАрдХреЛрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЖрджрд┐ред

  1. рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рд╕реЗрд╡рд╛рдПрдВ рд▓реЗрдХрд┐рди рдХреБрдЫ UI
  2. рдХреБрдЫ рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рдЕрддреНрдпрд╛рд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реЛрдЧрд╛
  3. рд╣рд╛рдВ
  4. рд╣рд╛рдВ
  5. рдХреБрдЫ рд╕реЗрдХрдВрдб рдареАрдХ рд╣реИ
  6. рд╣рдореЗрдВ рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ред рдбреАрдПрд▓рдПрд▓ рдЖрдХрд╛рд░ рдХрд╛ рдпреЛрдЧ рдареАрдХ рд╣реИ
  7. рдЖрджрд░реНрд╢ рд░реВрдк рд╕реЗ рдирд╣реАрдВ
  8. рдЖрдХрд╛рд░ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдкреНрд░рд╛рдердорд┐рдХ рдорд╣рддреНрд╡ рдХрд╛ рдирд╣реАрдВ рд╣реИ

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

  1. рд╕реЗрд╡рд╛рдПрдВ рдФрд░ рдХреБрдЫ рдпреВрдЖрдИред
  2. рдЗрд╕ рд╕рдордп рдирд╣реАрдВред
  3. рд╣рд╛рдВред рдЖрджрд░реНрд╢ рд░реВрдк рд╕реЗ рдкреНрд▓рдЧрдЗрдиреНрд╕ рдЬрд┐рдиреНрд╣реЗрдВ рдХрд┐рд╕реА рдлрд╝реЛрд▓реНрдбрд░ рд╕реЗ рд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рд░рдирдЯрд╛рдЗрдо рдкрд░ рдкреБрдирдГ рд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
  4. рд╣рд╛рдВ
  5. рдЬрдм рддрдХ рд╣рдо 10-15+ рдХреЛ рдЖрдЧреЗ рдирд╣реАрдВ рдмрдврд╝рд╛ рд░рд╣реЗ рд╣реИрдВ рддрдм рддрдХ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИред
  6. рдбреАрдПрд▓рдПрд▓ рдЖрдХрд╛рд░ рдХрд╛ рдпреЛрдЧ, рдпрд╛ рд╕рдорд╛рдиред
  7. рд╣рд╛рдВред рдЙрддреНрдкрд╛рджрди рдирд┐рд░реНрдорд╛рдг рд╕рдордп рдХреЗ рд▓рд┐рдП рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИ рдЬрдм рддрдХ рдбреАрдмрдЧ/рдкрд░реАрдХреНрд╖рдг рдирд┐рд░реНрдорд╛рдг рдЙрдЪрд┐рдд рд░реВрдк рд╕реЗ рддреЗрдЬрд╝реА рд╕реЗ рдмрдирд╛рддрд╛ рд╣реИред
  8. рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╡рд┐рдХрд▓реНрдк рдЖрд╕рд╛рди рд╣реЛрдЧрд╛ред
  1. рд╕реЗрд╡рд╛ рдФрд░ рдпреВрдЖрдИред
  2. рдХрднреА - рдХрднреАред
  3. рд╣рд╛рдБ, рдЖрдорддреМрд░ рдкрд░ред
  4. рд╣рд╛рдВред
  5. 5 рд╕реЗрдХрдВрдб рд╕реЗ рдХрдо рд╕рдордп рдХрд╛ рд╣реЛрдирд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╣реИред
  6. UI 5 рд╕реЗрдХрдВрдб рд╕реЗ рдХрдо рдХрд╛ рд╣реИ, рд╕реЗрд╡рд╛ рдХреЛрдИ рдорд╛рдпрдиреЗ рдирд╣реАрдВ рд░рдЦрддреАред
  7. рдирд┐рд░реНрдорд╛рдг рд╕рдордп рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд╣реАрдВ рд╣реИ, рдФрд░ рдЕрдиреБрдХреВрд▓рди рдкреНрд░рднрд╛рд╡ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред
  8. рд╣рд╛рдВред

@tpetrina @ayende @bencyoung @Kosyne @expcat рдЖрдкрдиреЗ рдкреНрд░рд╢реНрди 3 рдХреЗ рд▓рд┐рдП рд╣рд╛рдВ рдореЗрдВ рдЬрд╡рд╛рдм рджрд┐рдпрд╛ ("рдХреНрдпрд╛ рдЖрдкрдХрд╛ рдРрдк рдкреНрд▓рдЧрдЗрдиреНрд╕ рдпрд╛ рдЕрдиреНрдп рдмрд╛рд╣рд░реА рдбреАрдПрд▓рдПрд╕ рд▓реЛрдб рдХрд░реЗрдЧрд╛ рдЬрд┐рдиреНрд╣реЗрдВ рдЖрдкрдиреЗ рдореВрд▓ рд░реВрдк рд╕реЗ рдЕрдкрдиреЗ рдРрдк рдмрд┐рд▓реНрдб рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдерд╛?") - рдХреНрдпрд╛ рдЖрдк рд╣рдореЗрдВ рдЕрдкрдиреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдФрд░ рдмрддрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдорд╛рдорд▓рд╛?

рдПрдХрд▓ рдлрд╝рд╛рдЗрд▓ рд╡рд┐рддрд░рдг рдХрд╛ рдореБрдЦреНрдп рд╡рд┐рдХреНрд░рдп рдмрд┐рдВрджреБ рдпрд╣ рд╣реИ рдХрд┐ рд╡рд┐рддрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЗрд╡рд▓ рдПрдХ рдлрд╝рд╛рдЗрд▓ рд╣реИред рдпрджрд┐ рдЖрдкрдХреЗ рдРрдк рдореЗрдВ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдлрд╛рдЗрд▓реЛрдВ рдореЗрдВ рдкреНрд▓рдЧрдЗрдиреНрд╕ рд╣реИрдВ, рддреЛ рдПрдХ рдлрд╝рд╛рдЗрд▓ рд╡рд┐рддрд░рдг рд╕реЗ рдЖрдкрдХреЛ рдХреНрдпрд╛ рдореВрд▓реНрдп рдорд┐рд▓реЗрдЧрд╛, рдЬрд┐рд╕рдореЗрдВ рд╡реИрд╕реЗ рднреА рдХрдИ рдлрд╛рдЗрд▓реЗрдВ рд╣реИрдВ? "app.exe+plugin1.dll+plugin2.dll" "app.exe+coreclr.dll+clrjit.dll+...+plugin1.dll+plugin2.dll" рд╕реЗ рдмреЗрд╣рддрд░ рдХреНрдпреЛрдВ рд╣реИ?

app.exe + 300+ dlls - рдЬреЛ рдХрд┐ рдЖрдЬ рдХреА рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐ рд╣реИ, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрдЬреАрдм рд╣реИред
app.exe + 1-5 dll рдЬреЛ рдЖрдорддреМрд░ рдкрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рд╕реНрд╡рдпрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реИред

рд╣рдорд╛рд░рд╛ рдкрд░рд┐рджреГрд╢реНрдп рдпрд╣ рд╣реИ рдХрд┐ рд╣рдо рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рдХреБрдЫ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рд╣рдо рдЖрдо рддреМрд░ рдкрд░ рдХреЗрд╡рд▓ рдПрдХ exe рдХреЛ рддреИрдирд╛рдд рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЖрд╡рд╢реНрдпрдХрддрд╛рдиреБрд╕рд╛рд░ рдЕрддрд┐рд░рд┐рдХреНрдд рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдЬреЛрдбрд╝ рд╕рдХрддрд╛ рд╣реИред

рдпрд╣ рдЗрддрдирд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╣рдо рдРрд╕рд╛ рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЬрд░реВрд░рдд рдкрдбрд╝рдиреЗ рдкрд░ рд╣рдо рдРрд╕рд╛ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред

@ayende рд╕рд╣рдордд, рд╣рдорд╛рд░реЗ рд╕рд╛рде рднреАред

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

@ayende рд╕реЗ рд╕рд╣рдордд рд╣реИрдВред

рдЬрд╡рд╛рдмреЛрдВ рдХреЗ рд▓рд┐рдП рдЖрдк рд╕рдмрдХрд╛ рдзрдиреНрдпрд╡рд╛рдж! рдЙрди рд▓реЛрдЧреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЬреЛ рдпрд╛ рддреЛ рдореВрд▓ рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ рдпрд╛ рдкреНрд▓рдЧрдЗрдиреНрд╕ рд▓реЛрдб рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА, рд╣рдореЗрдВ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕рдмрд╕реЗ рд╕рдВрдЧрдд рджреГрд╖реНрдЯрд┐рдХреЛрдг рдЬрд┐рд╕реЗ рд╣рдо рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рд╡рд╣ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд╣реА рдЬрдЧрд╣ рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо "рдкреИрдХ рдПрдВрдб рдПрдХреНрд╕рдЯреНрд░реИрдХреНрдЯ" рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рд╕рд╛рде рдЬрд╛рдПрдВрдЧреЗред

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

рдЗрд╕ рдпреЛрдЬрдирд╛ рдХрд╛ рд╕рдмрд╕реЗ рдкреЗрдЪреАрджрд╛ рд╡рд┐рд╡рд░рдг рдпрд╣ рд╣реИ рдХрд┐ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдХрд╣рд╛рдБ рд╕реЗ рдирд┐рдХрд╛рд▓рд╛ рдЬрд╛рдПред рд╣рдореЗрдВ рдХрдИ рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрдирд╛ рд╣реЛрдЧрд╛:

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

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдо рдЙрди рд╕рднреА рдХреЗ рд▓рд┐рдП рдПрдХ рдкрде рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рд╕рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ:

  1. рдПрдХ рдкреНрд░рд╕рд┐рджреНрдз рдЖрдзрд╛рд░ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рд╡рд┐рдВрдбреЛрдЬрд╝ рдкрд░ %LOCALAPPDATA%\dotnetApps рдФрд░ рдЕрдиреНрдп рдУрдПрд╕ рдкрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓ рд╕реНрдерд╛рди)
  2. рдПрд▓рд┐рд╡реЗрдЯреЗрдб рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ рдЙрдкрдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛
  3. рдЖрд╡реЗрджрди рдкрд╣рдЪрд╛рди (рд╢рд╛рдпрдж рд╕рд┐рд░реНрдл exe рдирд╛рдо)
  4. рдПрдХ рд╕рдВрд╕реНрдХрд░рдг рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ред рд╕рдВрдЦреНрдпрд╛ рд╕рдВрд╕реНрдХрд░рдг рд╢рд╛рдпрдж рдЙрдкрдпреЛрдЧреА рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдкрд░реНрдпрд╛рдкреНрдд рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдореЗрдВ рд╕рдЯреАрдХ рдирд┐рд░реНрднрд░рддрд╛ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХреА рднреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдкреНрд░рддрд┐-рдмрд┐рд▓реНрдб рдЧрд╛рдЗрдб рдпрд╛ рд╣реИрд╢ рдЙрдкрдпреБрдХреНрдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

рд╕рд╛рде рдореЗрдВ, рдпрд╣ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦ рд╕рдХрддрд╛ рд╣реИ c:\users\username\AppData\Local\dotnetApps\elevated\MyCoolApp\1.0.0.0_abc123\MyCoolApp.dll
(рдЬрд╣рд╛рдВ рдРрдк рдХрд╛ рдирд╛рдо MyCoolApp рд╣реИ, рдЗрд╕рдХрд╛ рд╡рд░реНрдЬрди рдирдВрдмрд░ 1.0.0.0 рд╣реИ рдФрд░ рдЗрд╕рдХрд╛ рд╣реИрд╢/рдЧрд╛рдЗрдб abc123 рд╣реИ рдФрд░ рдЗрд╕реЗ рдПрд▓рд┐рд╡реЗрдЯреЗрдб рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛)ред

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

рдЕрдВрдд рдореЗрдВ, рдЗрд╕реЗ рд╣реЛрд╕реНрдЯ рдореЗрдВ рд╕рдорд╛рдпреЛрдЬрди (рдирд┐рдХрд╛рд▓реЗ рдЧрдП рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП) рдФрд░ рдбрд╛рдпрдЧреНрдиреЛрд╕реНрдЯрд┐рдХреНрд╕ (рдбреАрдПрд╕реА рдпрд╛ рдЕрдиреНрдп рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП) рдХреА рднреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИред

рд╕реАрд╕реА @ рд╕реНрд╡рд░реВрдк-рд╢реНрд░реАрдзрд░ @jeffschwMSFT @vitek-karas

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

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

рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рд╕рд┐рд░реНрдл рдореИрдВ рд╣реВрдВ, рдореИрдВ рджреВрд╕рд░реЛрдВ рд╕реЗ рднреА рд╕реБрдирдиреЗ рдХреЗ рд▓рд┐рдП рдЙрддреНрд╕реБрдХ рд╣реВрдВред

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

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

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

рдЙрдкрд░реЛрдХреНрдд рдХреЛ рд╕рдВрддреБрд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореМрдЬреВрджрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рдореЗрдВ рдПрдХ рдЫреЛрдЯреЗ рд╕реЗ рд╕рдВрд╢реЛрдзрди рдХреЗ рд░реВрдк рдореЗрдВ: рдХреНрдпрд╛ рд╣рдо рд╕реНрдореГрддрд┐ рдореЗрдВ рдЕрдирдкреИрдХ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рдФрд░ рд╡рд╣рд╛рдВ рд╕реЗ рднрд╛рдЧ рдирд╣реАрдВ рд╕рдХрддреЗ?

рдмрд╛рдХреА рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рд╕реЗ рд╕рд╣рдордд рд╣реИрдВред рдХрд┐рд╕реА рдЕрдиреНрдп рд╕реНрдерд╛рди рдкрд░ рдЕрдирдЬрд╝рд┐рдк рдХрд░рдирд╛ рдХреБрдЫ рдРрд╕рд╛ рд╣реИ рдЬреЛ _рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЙрдкрд▓рдмреНрдз рд╣реИред
рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рд╕реНрд╡рдпрдВ рдирд┐рдХрд╛рд▓рдиреЗ рд╡рд╛рд▓рд╛ рдЬрд╝рд┐рдк рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рдирд┐рдХрд╛рд▓реЗ рдЧрдП рдореВрд▓реНрдпреЛрдВ рдХреЛ рдХрд╛рдлреА рдЖрд╕рд╛рдиреА рд╕реЗ рдЪрд▓рд╛рдПрдЧрд╛ред рдпрд╣ рдмрд╣реБрдд рд╕рд╛рд░реА рдЪрд┐рдВрддрд╛рдУрдВ рдХрд╛ рдЙрддреНрддрд░ рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЙрддреНрддрд░ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИ рдФрд░ рд╕реНрдерд╛рдкрдирд╛ рдХреЗ рд▓рд┐рдП рд╕рд┐рд░реНрдл рдПрдХ рдФрд░ рдирд╛рдо рд╣реИред

рдлрд╝рд╛рдЗрд▓ рдХрд╛ рд╕реНрдерд╛рди рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реЛрдЧрд╛:

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

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

рдореИрдВ рдорд╛рдирддрд╛ рд╣реВрдВ рдХрд┐ рд╕рдм рдХреБрдЫ рд╕реНрдореГрддрд┐ рдореЗрдВ рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реЛрдЧрд╛ред рдФрд░ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рд╕рдордп рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЪрд┐рдВрддрд╛ рдЗрддрдиреА рдмрдбрд╝реА рдирд╣реАрдВ рд╣реИ, рдореИрдВ рдЗрд╕реЗ рд╣рд░ рдкреБрдирд░рд╛рд░рдВрдн рдХреЗ рд▓рд┐рдП рдареАрдХ рднреБрдЧрддрд╛рди рдХрд░реВрдВрдЧрд╛, рдпрд╛ рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ рддреЛ рдЗрд╕реЗ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдПрдХ рдХрджрдо рдЙрдард╛рдКрдВрдЧрд╛ред

рдпрд╣рд╛рдВ рдПрдХ рдФрд░ рдореБрджреНрджрд╛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЖрдХрд╛рд░ рд╣реИред рдпрджрд┐ рдпрд╣ рд╕рд┐рд░реНрдл (рдкреНрд░рднрд╛рд╡реА рд░реВрдк рд╕реЗ) рдПрдХ рдЗрдВрд╕реНрдЯреЙрд▓рд░ рд╣реИ, рддреЛ рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рд╣рдо рдПрдордмреА рдХреЗ 100 рдХреЗ рджрд╢рдХ рдореЗрдВ рдПрдХ рдЙрдЪрд┐рдд рдРрдк рдХреЗ рд▓рд┐рдП рдлрд╝рд╛рдЗрд▓ рдЖрдХрд╛рд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдирд╣реАрдВ?

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

@GSPP рдпрд╣ рдореВрд▓ рд░реВрдк рд╕реЗ рдХреБрдЫ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдЬреЛ рдореИрдВ рдЖрдЬ 7z-Extra рдХреЗ рд╕рд╛рде рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ, рдореИрдВ рдорд╛рдирддрд╛ рд╣реВрдВ рдХрд┐ рдпрджрд┐ рдРрд╕рд╛ рд╣реИ, рддреЛ рдмреЗрд╣рддрд░ рд╣реЛрдЧрд╛ рдХрд┐ _not_ рдЗрд╕реЗ рдмрд┐рд▓реНрдХреБрд▓ рднреА рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВред

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

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореВрд▓ рд░реВрдк рд╕реЗ рдХреБрдЫ рдРрд╕рд╛ рд╣реИ рдЬреЛ рдореИрдВ рдЖрдЬ 7z-Extra . рдХреЗ рд╕рд╛рде рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ

рдЖрдк рд╕рд╣реА рдХрд╣ рд░рд╣реЗ рд╣реИрдВ рдХрд┐ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдкрд░реНрдпрд╛рд╡рд░рдг рдЕрдЬреНрдЮреЗрдп рд╕рдорд╛рдзрд╛рдиреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдЖрдЬ рднреА рдореМрдЬреВрдж рд╣реИред рдХрдИ рдореЗрдВ рд╕реЗ рдПрдХ рдФрд░ рдЙрджрд╛рд╣рд░рдг: https://www.boxedapp.com/exe_bundle.html

рдпрд╣рд╛рдВ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рдореВрд▓реНрдп рдбреЙрдЯрдиреЗрдЯ рдЯреВрд▓рд┐рдВрдЧ рдореЗрдВ рдПрдХреАрдХрд░рдг рд╣реЛрдЧрд╛ рддрд╛рдХрд┐ рдЧреИрд░-рд╡рд┐рд╢реЗрд╖рдЬреНрдЮ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рднреА рдЗрд╕реЗ рдЖрд╕рд╛рдиреА рд╕реЗ рдХрд░ рд╕рдХреЗрдВред рдЬреИрд╕рд╛ рдХрд┐ рдЖрдкрдиреЗ рдмрддрд╛рдпрд╛ рд╣реИ, рд╡рд┐рд╢реЗрд╖рдЬреНрдЮ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдореМрдЬреВрджрд╛ рдЙрдкрдХрд░рдгреЛрдВ рдХреЛ рдПрдХ рд╕рд╛рде рдЬреЛрдбрд╝рдХрд░ рдЖрдЬ рдРрд╕рд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ, рдореИрдВ рдЖрдкрд╕реЗ рд╕рд╣рдордд рд╣реВрдВ рдХрд┐ рдпрд╣ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╣рдо рдпрд╣рд╛рдВ рд╕рд╣реА рдЪреБрдирд╛рд╡ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдХреЛрд░ рдЯреАрдо рдХреЗ рднреАрддрд░ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рд╣рдорд╛рд░реА рдХрд╛рдлреА рдЪрд░реНрдЪрд╛ рд╣реБрдИред

рдЗрд╕ рдкрд░ рдПрдХ рдЗрдВрдЯрд░реНрди рд░рдЦрдирд╛ рдФрд░ рдПрдХ рд╡реИрд╢реНрд╡рд┐рдХ рдЯреВрд▓ (рдЬрд┐рд╕рдХреА рдЕрдиреБрд╢рдВрд╕рд╛ рдХреА рдЬрд╛рддреА рд╣реИ, рд▓реЗрдХрд┐рди рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ) рдХреЗ рд╕рд╛рде рдЖрдирд╛ рдареАрдХ рд╡реИрд╕рд╛ рд╣реА рд╣реЛрдЧрд╛, рдФрд░ рдЗрд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рднреА рдХрд╛рдлреА рдЖрд╕рд╛рди рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

рдкреНрд░рднрд╛рд╡реА рд░реВрдк рд╕реЗ, рд╣рдо dotnet publish-single-file рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рдпрд╣ рджреГрд╢реНрдп рдХреЗ рдкреАрдЫреЗ рдЖрд╡рд╢реНрдпрдХ рд╕рдм рдХреБрдЫ рдХрд░реЗрдЧрд╛ред

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

рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЬрд┐рддрдирд╛ рдореИрдВ рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреЛ рдкрд╕рдВрдж рдХрд░реВрдВрдЧрд╛, рдореЗрд░реЗ рдкрд╛рд╕ рдРрд╕рд╛ рдХреБрдЫ рдирд╣реАрдВ рд╣реЛрдЧрд╛ (рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдпрд╣ _always_ рд╣реЛрдиреЗ рд╡рд╛рд▓рд╛ рд╣реИ) рдЬреЛ рдХрд┐ рдмрд╛рд╣рд░ рд╕реЗ рднреА рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдореИрдВ рдПрдХ рдЙрдЪреНрдЪ рд╕реНрддрд░реАрдп рдкреНрд░рд╢реНрди рдкреВрдЫрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ: рд╕рд┐рдВрдЧрд▓-рдлрд╛рдЗрд▓ рд╡рд┐рддрд░рдг рдХреЗ рдЗрдЪреНрдЫреБрдХ рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЗ рд▓рд┐рдП рдореБрдЦреНрдп рдкреНрд░реЗрд░рдгрд╛ рдХреНрдпрд╛ рд╣реИ?
рдХреНрдпрд╛ рдпрд╣ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рд╣реИ:

  1. рдкреИрдХреЗрдЬрд┐рдВрдЧ? рдпрджрд┐ рд╣рд╛рдВ, рддреЛ рдЪрд╛рд╣реЗ рд╕рдорд╛рдзрд╛рди рдЗрдирдмреЙрдХреНрд╕ рд╣реЛ рдпрд╛ рдХреЛрдИ рддреГрддреАрдп рдкрдХреНрд╖ рдЯреВрд▓, рдХреМрди рд╕реА рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдБ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИрдВ?
    рдП) рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рд╕рдордп (рдкрд╣рд▓реЗ рд░рди рд╕реЗ рдкрд░реЗ)
    рдмреА) рдЧреИрд░-рд▓рд┐рдЦрдиреЗ рдпреЛрдЧреНрдп рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдЪрд▓рдиреЗ рдХреА рдХреНрд╖рдорддрд╛
    рдЧ) рджреМрдбрд╝рдиреЗ рдХреЗ рдмрд╛рдж рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рдкреАрдЫреЗ рдирд╣реАрдВ рдЫреЛрдбрд╝рдирд╛
    d) рдЗрдВрд╕реНрдЯреЙрд▓рд░ рдЪрд▓рд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ
    2) рдкреНрд░рджрд░реНрд╢рди?
    рдП) рдЧрддрд┐ (рдореВрд▓ рдХреЛрдб рдХреА рд╕реНрдерд┐рд░ рд▓рд┐рдВрдХрд┐рдВрдЧ, рдПрдХрд╛рдзрд┐рдХ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд▓реЛрдб рд╕реЗ рдкрд░рд╣реЗрдЬ, рдХреНрд░реЙрд╕-рдореЙрдбреНрдпреВрд▓ рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝реЗрд╢рди рдЗрддреНрдпрд╛рджрд┐)
    рдмреА) рдХреЛрдб рдЖрдХрд╛рд░ (рдХреЗрд╡рд▓ рдПрдХ рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдХреА рдЬрд░реВрд░рдд рд╣реИ, рдкреЗрдбрд╝ рд╣рд┐рд▓рдирд╛, рдЖрджрд┐)
    3) рдХреЛрдИ рдЕрдиреНрдп?

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

рд╕рдВрдХрд▓рд┐рдд рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП:

  • рд╕рднреА рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдирд┐рд░реНрднрд░рддрд╛рдУрдВ рдХреЛ рдкреИрдХреЗрдЬ рдХрд░реЗрдВ
  • рдХреЛрдИ рдирд┐рд╖реНрдкрд╛рджрди рдХрд▓рд╛рдХреГрддрд┐рдпрд╛рдБ рдирд╣реАрдВ рд╣реИрдВ (рдХреЛрдИ рдбрд┐рд╕реНрдХ рдирд╣реАрдВ рд▓рд┐рдЦрддрд╛ рд╣реИ)

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

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

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

@strich рдПрдореНрдмреЗрдб рдХрд░рдиреЗ рдХреА рдмрд╛рдд рдПрдХ рдЕрдЪреНрдЫреА рд╣реИред рд╣рдо рдЖрдорддреМрд░ рдкрд░ рдорд╛рдЗрдХреНрд░реЛ рд╕рд░реНрд╡рд┐рд╕ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдореЗрдВ рдПрдХ рдШрдЯрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рдФрд░ рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдУрд╡рд░рд╣реЗрдб рдХреЛ рдХрдо рдХрд░рдиреЗ рд╕реЗ рдпрд╣ рдЖрд╕рд╛рди рд╣реЛ рдЬрд╛рдПрдЧрд╛ред

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

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

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

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

рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЗрди-рдореЗрдореЛрд░реА рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛рдо рдХрд░реЗрдЧрд╛ рдХреНрдпреЛрдВрдХрд┐ рд╣рдо рдЗрд╕реЗ рдкреНрд▓рдЧрдЗрди рдбреАрдПрд▓рдПрд╕ рдХреЗ рд▓рд┐рдП рднреА рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ (рдЗрд╕рд▓рд┐рдП рдкреНрд▓рдЧрдЗрди рдЫреЛрдбрд╝рдирд╛ рднреА рдЗрд╕рдХреА рд╕рднреА рдирд┐рд░реНрднрд░рддрд╛рдУрдВ рдХреА рдмрдЬрд╛рдп рдПрдХ рдлрд╝рд╛рдЗрд▓ рд╣реЛрдЧреА), рд▓реЗрдХрд┐рди рдХреЛрдИ рднреА рдкреНрд░рдЧрддрд┐ рд╣реЛрдЧреА рдЕрдЪреНрдЫрд╛ рдмрдиреЛред рд╣рдордиреЗ Fody.Costura рдХреЛ рджреЗрдЦрд╛ рд╣реИ рдФрд░ рдпрд╣ рдХреБрдЫ рд╕рд╛рдорд╛рдиреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░реЗ рдкрд╛рд╕ .NET Core рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛рдПрдБ рд╣реИрдВред

рддреЛ рдПрдХ рдЕрдЪреНрдЫрд╛ рдЙрджрд╛рд╣рд░рдг рд╣реИрд╢рд┐рдХреЙрд░реНрдк рдХреЗ рдХреМрдВрд╕реБрд▓ рдЬреИрд╕реЗ рдЧреЛ рдЯреВрд▓реНрд╕ рдХреЗ рдЕрдиреБрднрд╡ рдХреЛ рджреЗрдЦрдирд╛ рд╣реИ

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

@mikedn рд╡рд╣ рдХреНрдпреЛрдВ рд╣реИ? рдореИрдВ рдирд╣реАрдВ рджреЗрдЦрддрд╛ рдХрд┐ рдПрдУрдЯреА рдпрд╛ рдЬреЗрдЖрдИрдЯреА рд╕рдВрдХрд▓рди рдХрд╛ рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдкрджреНрдзрддрд┐ рд╕реЗ рдХреНрдпрд╛ рд▓реЗрдирд╛-рджреЗрдирд╛ рд╣реИ?

рдореИрдВ @strich рдХреЗ рд╢рдмреНрджреЛрдВ рдХреЛ рджреВрд╕рд░рд╛ рдХрд╣рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рдПрдХрд▓ рдлрд╝рд╛рдЗрд▓ рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдорд╛рдЗрдХреНрд░реЛрд╕рд░реНрд╡рд┐рд╕ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдХреЗ рд▓рд┐рдП рддрд╛рдЬреА рд╣рд╡рд╛ рдХрд╛ рдПрдХ рд╕рд╛рдВрд╕ рд╣реЛрдЧрд╛, рд╕рд╛рде рд╣реА рдХрд┐рд╕реА рднреА рдХрдВрд╕реЛрд▓ рдРрдк рдХреЗ рд▓рд┐рдП - рдпрд╛ рдХрдо рд╕реЗ рдХрдо рдЕрдкрдирд╛ рдЬреАрд╡рди рд╢реБрд░реВ рдХрд░рддрд╛ рд╣реИ - рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдХреЗ рд╕рд╛рде рдПрдХ рдЫреЛрдЯрд╛ рдЙрдкрдХрд░рдг рд╕реНрд╡рд┐рдЪред

рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐? рдореИрдВ рдирд╣реАрдВ рджреЗрдЦрддрд╛ рдХрд┐ рдПрдУрдЯреА рдпрд╛ рдЬреЗрдЖрдИрдЯреА рд╕рдВрдХрд▓рди рдХрд╛ рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдкрджреНрдзрддрд┐ рд╕реЗ рдХреНрдпрд╛ рд▓реЗрдирд╛-рджреЗрдирд╛ рд╣реИ?

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

@mikedn рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди

1) рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрднреА рддрдХ рдПрдХ рдЙрддреНрдкрд╛рджрди рд░реВрдк рдореЗрдВ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИ (рдЬрд╣рд╛рдБ рддрдХ рдореБрдЭреЗ рдкрддрд╛ рд╣реИ)!
2) рд╣рдо рдмрд╣реБрдд рд╕рд╛рд░реА рдЧрддрд┐рд╢реАрд▓ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ (IL рдкреАрдврд╝реА, рдордирдорд╛рдирд╛ рдкреНрд░рддрд┐рдмрд┐рдВрдм)
3) рд╣рдо рдЕрднреА рднреА рдкреНрд▓рдЧрдЗрдиреНрд╕ рдЬреЛрдбрд╝рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ (рдлрд┐рд░ рд╕реЗ рдЖрджрд░реНрд╢ рд░реВрдк рд╕реЗ рд╕рдВрдХреБрдЪрд┐рдд)

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

рдореИрдВ рдирд╣реАрдВ рджреЗрдЦрддрд╛ рдХрд┐ рдПрдУрдЯреА рдпрд╛ рдЬреЗрдЖрдИрдЯреА рд╕рдВрдХрд▓рди рдХрд╛ рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдкрджреНрдзрддрд┐ рд╕реЗ рдХреНрдпрд╛ рд▓реЗрдирд╛-рджреЗрдирд╛ рд╣реИ?

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

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

рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрднреА рддрдХ рдПрдХ рдЙрддреНрдкрд╛рджрди рд░реВрдк рдореЗрдВ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИ (рдЬрд╣рд╛рдБ рддрдХ рдореБрдЭреЗ рдкрддрд╛ рд╣реИ)!

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

рд╣рдо рдмрд╣реБрдд рд╕рд╛рд░реА рдЧрддрд┐рд╢реАрд▓ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ (IL рдкреАрдврд╝реА, рдордирдорд╛рдирд╛ рдкреНрд░рддрд┐рдмрд┐рдВрдм)

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

@MichalStrehovsky рдпрдХреАрди рд╣реИ, рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╡рд┐рдХрд▓реНрдк рд╣реИрдВред рд╣рд╛рд▓рд╛рдБрдХрд┐ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рд╣рдо рдкреНрд░рд╛рдпреЛрдЧрд┐рдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ (рдпрд╣ рдорд╛рдирддреЗ рд╣реБрдП рдХрд┐ .NET рдХреЛрд░ рдореЗрдВ рдЬрд╛рдиреЗ рдХрд╛ рд╕рдордп рдХрд╛рдлреА рдХрдард┐рди рдерд╛) рдФрд░ рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдПрдХ рдЕрд╕реНрдерд╛рдпреА рдлрд╝реЛрд▓реНрдбрд░ рдХреЛ рдирд┐рдХрд╛рд▓рдирд╛ рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рднреА рдХрд╛рдо рдХрд░реЗрдЧрд╛ред рд╣рд╛рд▓рд╛рдБрдХрд┐ рд╕рдмрд╕реЗ рдЦрд░рд╛рдм рд╕реНрдерд┐рддрд┐ рдпрд╣ рд╣реИ рдХрд┐ рд╣рдо рдЬреИрд╕реЗ рд╣реИрдВ рд╡реИрд╕реЗ рд╣реА рдЪрд▓рддреЗ рд░рд╣рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред

рдпрд╣ рдХреБрдЫ рдРрд╕рд╛ рд╣реИ рдЬреЛ рд╣рдо рдЪрд╛рд╣реЗрдВрдЧреЗ рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЕрдЧрд░ рдпрд╣ рд╡реИрд╕реЗ рд╣реА рдЪрд▓рд╛ рдЧрдпрд╛ рдЬреИрд╕рд╛ рд╣рдо рдЪрд╛рд╣рддреЗ рд╣реИрдВ :)

@ рдорд┐рдХреЗрдбрди рдореИрдВ рд╕рд╣рдордд рд╣реВрдВред рдПрдХрд╛рдзрд┐рдХ рд╕рдорд╛рдирд╛рдВрддрд░ рд╕рдорд╛рдзрд╛рди рдФрд░ рднреА рдЕрдзрд┐рдХ рднреНрд░рдорд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд╣реИрдВред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдорд╛рд░рд╛ рдЖрджрд░реНрд╢ рд╕рдорд╛рдзрд╛рди рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХрд╛ рд╕реБрдкрд░ ILLinker/рдмреБрдирдХрд░ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдЗрд╕реЗ рдЦреЗрд▓рдиреЗ рджреЗрдиреЗ рдФрд░ рдпрд╣ рджреЗрдЦрдиреЗ рдореЗрдВ рдкреНрд░рд╕рдиреНрдирддрд╛ рд╣реЛ рд░рд╣реА рд╣реИ рдХрд┐ рд╣рдо рдХрд╣рд╛рдВ рд╕рдорд╛рдкреНрдд рд╣реЛрддреЗ рд╣реИрдВред

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

рдореИрдВ @strich рдФрд░ @ayende . рд╕реЗ рд╕рд╣рдордд рд╣реВрдВ
рд╕рдВрдХрд▓рд┐рдд рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП:
рд╕рднреА рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдирд┐рд░реНрднрд░рддрд╛рдУрдВ рдХреЛ рдкреИрдХреЗрдЬ рдХрд░реЗрдВ
рдХреЛрдИ рдирд┐рд╖реНрдкрд╛рджрди рдХрд▓рд╛рдХреГрддрд┐рдпрд╛рдБ рдирд╣реАрдВ рд╣реИрдВ (рдХреЛрдИ рдбрд┐рд╕реНрдХ рдирд╣реАрдВ рд▓рд┐рдЦрддрд╛ рд╣реИ)

рдбрд┐рд╕реНрдХ рдХреЗ рдмрдЬрд╛рдп рдореЗрдореЛрд░реА рд╕реЗ .dll рд▓реЛрдб рдХрд░рдирд╛ рдЖрд╕рд╛рди рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдЗрд╕ рддрд░рд╣ рдХреА рдХреНрд╖рдорддрд╛ рд╣реИ рдХрд┐ IMO MSFT рдирд┐рдореНрди-рд╕реНрддрд░реАрдп рджреЗрд╡реЛрдВ (рдФрд░ рдлрд┐рд░ CoreClr рдореЗрдВ рд▓реАрд╡рд░реЗрдЬрд┐рдВрдЧ) рдХреА рдЧрд╣рд░реА рд╡рд┐рд╢реЗрд╖рдЬреНрдЮрддрд╛ рдХреЗ рд▓рд╛рдпрдХ рд╣реЛрдЧрд╛, рдЬреЛ рдЙрдкрд░реЛрдХреНрдд рдкреНрд░рд╕реНрддрд╛рд╡ рдХреЗ рд░реВрдк рдореЗрдВ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдПрдХ рдмрд╛рд╣рд░реА рдЙрдкрдХрд░рдг (рдФрд░ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╣реИ, https://github.com/dgiagio/warp рджреЗрдЦреЗрдВ)ред рдпрджрд┐ рдпрд╣ рд╣рд╛рд╕рд┐рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛, рддреЛ рдореБрдЭреЗ рдЖрд╢реНрдЪрд░реНрдп рд╣реИ рдХрд┐ рдкрд╣рд▓реЗ рдФрд░ рдмрд╛рдж рдХреЗ рд░рдиреЛрдВ рдХреЗ рдмреАрдЪ рдХрд┐рддрдирд╛ рд╕рдордп рдЕрдВрддрд░ рд╣реЛрдЧрд╛? рдкреНрд░реЗрд░рдгрд╛/рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд▓рд┐рдирдХреНрд╕ 3.17+ рдореЗрдВ memfd_create рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ dlopen рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

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

@ рд╕реНрд╡рд░реВрдк-рд╢реНрд░реАрдзрд░ @MichalStrehovsky рдХреЛ рдкреАрдЫреЗ рдЫреЛрдбрд╝рддреЗ рд╣реБрдП, рдореИрдВ рджреЛ рд╡реНрдпрд╛рдкрдХ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЛрдВ рдХреЛ рджреЗрдЦ рд╕рдХрддрд╛ рд╣реВрдВ рдЬрд┐рдирдХреЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд▓рдХреНрд╖реНрдп/рдЗрдЪреНрдЫрд╛рдПрдВ рд╣реЛ рд╕рдХрддреА рд╣реИрдВ рддрд╛рдХрд┐ рд╕рднреА рдХреЛ рдПрдХ рд╕рдорд╛рдзрд╛рди рдХреЗ рд╕рд╛рде рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реЛ:

  • рд╕реАрдПрд▓рдЖрдИ рдЯреВрд▓рд┐рдВрдЧ рдЖрджрд░реНрд╢ рд░реВрдк рд╕реЗ рд╣рд░ рдмрд╛рд░ рддреЗрдЬреА рд╕реЗ рдЪрд▓рд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ, рдЫреЛрдЯреЗ рд╡рд┐рддрд░рдг рдпреЛрдЧреНрдп; рд╢рд╛рдпрдж CoreRT рдХреЗ рд▓рд┐рдП рдмреЗрд╣рддрд░ рдлрд┐рдЯ?
  • JIT рдФрд░ рдбрд╛рдпрдиреЗрдорд┐рдХ рдХреЛрдб рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдЬреИрд╕реА рд╕рдореГрджреНрдз рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЗ рдмрджрд▓реЗ рдореЗрдВ microservice рд╢рд╛рдпрдж рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдЪрд▓рдиреЗ рд╡рд╛рд▓реЗ (рдЖрджрд░реНрд╢ рд░реВрдк рд╕реЗ <1s), рдмрдбрд╝реЗ рд╡рд┐рддрд░рдг рдпреЛрдЧреНрдп рдХреЛ рд╕рд╣рди рдХрд░ рд╕рдХрддрд╛ рд╣реИред

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

рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВред
рдореВрд▓ рд░реВрдк рд╕реЗ, рдХреЗрд╡рд▓ рдПрдХ рдЪреАрдЬ рдЬреЛ рдореИрдВ рдЪрд╛рд╣реВрдВрдЧрд╛ рд╡рд╣ рд╣реИ _not_ рдХреЛ Assembly.LoadFrom рдпрд╛ LoadLibrary рдХреЙрд▓ рдкрд░ рдмреНрд▓реЙрдХ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред
рдореБрдЭреЗ рдХрд┐рд╕реА рдФрд░ рдЪреАрдЬ рдХреА рдЬрд░реВрд░рдд рдирд╣реАрдВ рд╣реИ рдФрд░ рдмрд╛рдХреА рдореИрдВ рдЦреБрдж рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред

@ayende рдХреНрдпрд╛ рдЖрдк рдХреГрдкрдпрд╛ рдереЛрдбрд╝рд╛ рдФрд░ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдмрддрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ "рд▓реЛрдбрдлреНрд░реЙрдо рдкрд░ рдЕрд╡рд░реБрджреНрдз рд╣реЛрдиреЗ рдФрд░ рдРрд╕реЗ" рд╕реЗ рдЖрдкрдХрд╛ рдХреНрдпрд╛ рдорддрд▓рдм рд╣реИ?

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЗрд╕рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд╕реБрдЭрд╛рд╡реЛрдВ рдореЗрдВ CoreRT рд╢рд╛рдорд┐рд▓ рдерд╛, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рдерд╛ рдХрд┐ рд╣рдо (рд╢рд╛рдпрдж) рдХреЗрд╡рд▓ рдПрдХ рдкреНрд░рдмрдВрдзрд┐рдд dll рд▓реЛрдб рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реЛрдВрдЧреЗред
рд▓реЗрдХрд┐рди рдЬрдм рддрдХ рдореИрдВ рдПрдХ рдкреНрд░рдмрдВрдзрд┐рдд рдбреАрдПрд▓ рдХреЗ рд▓рд┐рдП рдкрде рдкреНрд░рджрд╛рди рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдФрд░ рдПрдХ рдЕрд╕реЗрдВрдмрд▓реА рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдпрд╛ рдореВрд▓ рдбреАрдПрд▓ рдкрд░ LoadLibrary рдкрд░ рдХреЙрд▓ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ, рддреЛ рдореИрдВ рдкреНрд▓рдЧрдЗрди рддрдВрддреНрд░ рд╣реЛрдиреЗ рдХреЗ рд╕рд╛рде рдареАрдХ рд╣реВрдВред

рдореИрдВ рдпрд╣ рд╕реНрдкрд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдкреНрд▓рдЧрдЗрди рдкрд░рд┐рджреГрд╢реНрдп рдХреБрдЫ рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИ рдЬрд┐рд╕реЗ _рд╡рд┐рдЪрд╛рд░рд┐рдд_ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдмрд▓реНрдХрд┐ рдРрд╕рд╛ рдХреБрдЫ рд╣реИ рдЬреЛ _blockced_ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

рдореИрдВрдиреЗ рдХреЛрдб рдореЗрдВ рдЦреБрджрд╛рдИ рдХрд░рдиреЗ рдореЗрдВ рдХреБрдЫ рд╕рдордп рдмрд┐рддрд╛рдпрд╛ рдФрд░ рдкрд╣рд▓реА рдирдЬрд╝рд░ рдореЗрдВ, рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ _possible_ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП (рдХреЗрд╡рд▓ рдЪреАрдЬреЛрдВ рдХреЛ рд╕рд░рд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рдВрдбреЛрдЬрд╝ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмреЛрд▓рдирд╛):

  • рд╕рдВрдкреВрд░реНрдг CoreCLR рдХреЛ рдПрдХ рдирд┐рд╖реНрдкрд╛рджрди рдореЗрдВ рдкреИрдХ рдХрд░реЗрдВ (рдорд╛рди рд▓реЗрдВ рдХрд┐ рдпрд╣ рдПрдореНрдмреЗрдбреЗрдб рд╕рдВрд╕рд╛рдзрди рдпрд╛ рдРрд╕рд╛ рдХреБрдЫ рд╣реИ)ред
  • рдореВрд▓ рдбреАрдПрд▓рдПрд╕ рдХреА рдЧрдгрдирд╛ рдХрд░реЗрдВ, рдЙрдиреНрд╣реЗрдВ рд╕реНрдореГрддрд┐ рдореЗрдВ рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП MemoryModule (https://github.com/fancycode/MemoryModule) рдЬреИрд╕реЗ рдХреБрдЫ рдХреЙрд▓ рдХрд░реЗрдВ
  • рд░рдирдЯрд╛рдЗрдо рдХреЛ рдЖрдордВрддреНрд░рд┐рдд рдХрд░реЗрдВ рдФрд░ рдореЗрдореЛрд░реА рд╕реЗ рдЕрд╕реЗрдВрдмрд▓реА рд▓реЛрдб рдХрд░реЗрдВред

рдореИрдВ рдпрд╣ рдорд╛рдирдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ _not_ рдЬрд┐рддрдирд╛ рдЖрд╕рд╛рди рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, ICLRRuntimeHost2::ExecuteAssembly рдЗрд╕реЗ рдмрдлрд░ рджреЗрдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рдкреНрд░рджрд╛рди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдХреЗрд╡рд▓ рдбрд┐рд╕реНрдХ рдкрд░ рдПрдХ рдлрд╝рд╛рдЗрд▓ рд╣реИред
рдпрд╣ рдЗрд╕реЗ рдкрд╣рд▓рд╛ рдмрдирд╛рддрд╛ рд╣реИ (рдЬреЛ рдореБрдЭреЗ рдпрдХреАрди рд╣реИ рдХрд┐ рдХрдИ рд╣реЛрдВрдЧреЗ) рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдЯреЙрдкрд░ рджрд┐рдЦрд╛рдПрдВред

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

рдореЗрдореЛрд░реА рдореЙрдбреНрдпреВрд▓ рдХреА рддрд░рд╣ рдХреБрдЫ рдХреЙрд▓ рдХрд░реЗрдВ

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

рдореИрдВ рдпрд╣ рдорд╛рдирдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рдЗрддрдирд╛ рдЖрд╕рд╛рди рдирд╣реАрдВ рд╣реИред

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

рдХреНрдпрд╛ рдпрд╣ рдПрдВрдЯреА рдорд╛рд▓рд╡реЗрдпрд░ рд╕реНрдХреИрди рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрдЪрд┐рдд рдЕрдиреБрд░реЛрдз рд╣реЛ рд╕рдХрддрд╛ рд╣реИ
рдореЗрдореЛрд░реА рдореЙрдбреНрдпреВрд▓ рдкрд░ рд╡рд┐рдВрдбреЛрдЬ рдЗрдВрдЬреАрдирд┐рдпрд░реЛрдВ рджреНрд╡рд╛рд░рд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдЬреИрд╕реЗ рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдерд╛
рдореЗрдо рд╕реЗ рд▓реЛрдб рдХрд┐рдП рдЧрдП рд╕рд╣рд┐рдд рд╕рднреА .net рдЕрд╕реЗрдВрдмрд▓реА?

https://twitter.com/WDSecurity/status/1047380732031762432?s=19

рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: рд╣рдореНрдо рдореЗрдореЛрд░реА рдореЙрдбреНрдпреВрд▓ рджреЗрд╢реА рдореЙрдбреНрдпреВрд▓ рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдУрдПрд╕ рдореЗрдВ рдирд┐рд░реНрдорд┐рдд рдХреБрдЫ рдХреА рддрд░рд╣ рд▓рдЧ рд░рд╣рд╛ рдерд╛ рд▓реЗрдХрд┐рди рдЬрд╛рд╣рд┐рд░ рд╣реИ рдХрд┐ рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИ, рд╢рд╛рдпрдж рдпрд╣ рдореЗрд░реЗ рд╕реБрдЭрд╛рд╡ рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд░рдиреЗ рдХрд╛ рдкрд░реНрдпрд╛рдкреНрдд рдХрд╛рд░рдг рд╣реИ

рдмреБрдзрд╡рд╛рд░ рдХреЛ, 5 рджрд┐рд╕рдВрдмрд░, 2018, 01:46 рдЬрдирд╡рд░реА рдХреЛрдЯреНрд╕ рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com рдиреЗ рд▓рд┐рдЦрд╛:

рдореЗрдореЛрд░реА рдореЙрдбреНрдпреВрд▓ рдХреА рддрд░рд╣ рдХреБрдЫ рдХреЙрд▓ рдХрд░реЗрдВ

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

рдореИрдВ рдпрд╣ рдорд╛рдирдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рдЗрддрдирд╛ рдЖрд╕рд╛рди рдирд╣реАрдВ рд╣реИред

рдареАрдХ рд╣реИ, рдирдП рдПрдкреАрдЖрдИ рдХреА рдЬрд░реВрд░рдд рд╣реЛрдЧреА (рдкреНрд░рдмрдВрдзрд┐рдд рдФрд░ рдЕрдкреНрд░рдмрдВрдзрд┐рдд рджреЛрдиреЛрдВ)
рдПрдХ рдЧреИрд░-рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдПрдХрд▓ рдлрд╝рд╛рдЗрд▓ рдмрдВрдбрд▓ рд╕реЗ рдирд┐рд╖реНрдкрд╛рджрди рдХрд╛ рд╕рдорд░реНрдерди рдХрд░реЗрдВред рд╡рд░реНрддрдорд╛рди
рдХрд╛рд░реНрдпрдХреНрд░рдо рдФрд░ рдкреБрд╕реНрддрдХрд╛рд▓рдп "рдмрд╕ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗ"ред

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдиреЗ рдЗрд╕ рдереНрд░реЗрдб рдХреА рд╕рджрд╕реНрдпрддрд╛ рд▓реА рд╣реИред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/dotnet/coreclr/issues/20287#issuecomment-444314969 ,
рдпрд╛ рдереНрд░реЗрдб рдХреЛ рдореНрдпреВрдЯ рдХрд░реЗрдВ
https://github.com/notifications/unsubscribe-auth/AEBfudvVHxpbeKa-L_vTQjbnNZZsn6Meks5u1xdlgaJpZM4XK-X_
.

рдкреВрд░реА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред
рд╣рдо рд╢реАрдШреНрд░ рд╣реА рдПрдХрд▓-рдлрд╝рд╛рдЗрд▓ рд╡рд┐рддрд░рдг рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрджреНрдпрддрди рдпреЛрдЬрдирд╛ рдкреЛрд╕реНрдЯ рдХрд░реЗрдВрдЧреЗред

@NinoFloris рджреЗрдЦреЗрдВ dotnet/coreclr#21370

рдореБрдЭреЗ рдПрд╣рд╕рд╛рд╕ рд╣реИ рдХрд┐ рдореБрдЭреЗ рдЗрд╕ рдЪрд░реНрдЪрд╛ рдореЗрдВ рджреЗрд░ рд╣реЛ рдЪреБрдХреА рд╣реИ рдЗрд╕рд▓рд┐рдП рдЕрдЧрд░ рдЗрд╕рд╕реЗ рдорджрдж рдирд╣реАрдВ рдорд┐рд▓рддреА рд╣реИ рддреЛ рдХреНрд╖рдорд╛ рдХрд░реЗрдВред

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

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

рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдореБрдЭрд╕реЗ рдЧрд▓рддреА рд╣реБрдИ рд╣реЛ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ CoreCLR рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХрд▓ рдлрд╝рд╛рдЗрд▓ рдкреНрд░рдХрд╛рд╢рд┐рдд рд╣реЛрдиреЗ рд╕реЗ рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЛ CoreRT рд╕реЗ рджреВрд░ рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдЬреЛ рдХрд┐ рдХрдИ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдЙрдирдХреЗ рд▓рд┐рдП рд╕рдВрднрд╛рд╡рд┐рдд рд░реВрдк рд╕реЗ рдмреЗрд╣рддрд░ рд╕рдорд╛рдзрд╛рди рд╣реЛрдЧрд╛ред рдЙрджрд╛. рдЕрдЧрд░ рдЗрд╕реЗ "рдЕрдм рдЖрдк рдЕрдкрдиреЗ .NET рдХреЛрдб рдХреЛ рдПрдХ рдлрд╝рд╛рдЗрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ" рдХреЗ рд░реВрдк рдореЗрдВ рдмреНрд░рд╛рдВрдбреЗрдб рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдлрд┐рд░ рднреА рдпрд╣ рдмрдбрд╝реА рдлрд╛рдЗрд▓реЗрдВ рдмрдирд╛ рд░рд╣рд╛ рд╣реИ, рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдкреНрд░рджрд░реНрд╢рди рдЖрджрд┐ рдореЗрдВ рдиреБрдХрд╕рд╛рди рд╣реЛрдЧрд╛, рддреЛ рдореИрдВ рджреЗрдЦ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рд▓реЛрдЧ рдЗрд╕ "рдмреНрд▓реЛрдЯреЗрдб .NET рд░рдирдЯрд╛рдЗрдо" рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдлрд┐рд░ рд╕реЗ рд╢рд┐рдХрд╛рдпрдд рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗрддреЗ рд╣реИрдВред . рдЬрдмрдХрд┐ .NET рдХреЗ рдкрд╛рд╕ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХреЛрд░рдЖрд░рдЯреА тАЛтАЛрдореЗрдВ рдареАрдХ рдЙрд╕реА рдХреЗ рд▓рд┐рдП рдПрдХ рд╢рд╛рдирджрд╛рд░ рд╕рдорд╛рдзрд╛рди рд╣реИ, рдЬрдмрдХрд┐ рд╕рднреА рддрд░рд╣ рд╕реЗ рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд╕рдорд░реНрдерди/рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдЙрддреНрдкрд╛рдж рдкреНрд░рддрд┐рдмрджреНрдзрддрд╛ рдХреА рдХрдореА рд╣реИред

рд╢рд╛рдпрдж рдореЗрд░реА рдЪрд┐рдВрддрд╛ рдЬреНрдпрд╛рджрд╛рддрд░ рдпрд╣ рд╣реИ рдХрд┐ рдореИрдВ рдХрдо рд╕рдорд╛рдирд╛рдВрддрд░ рдЙрддреНрдкрд╛рджреЛрдВ (рдлрд┐рд░ рд╕реЗ @mikedn рдХреЛ рдЙрджреНрдзреГрдд рдХрд░рддреЗ рд╣реБрдП) рджреЗрдЦрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдФрд░ рдЬреЛ рдпрд╣рд╛рдВ рд╣реИрдВ (рд░реЛрдбрдореИрдк рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рд╕рд╣рд┐рдд) рдЧрд╣рд░рд╛рдИ рд╕реЗ рдкреНрд░рддрд┐рдмрджреНрдз, рд╡рд┐рд╕реНрддрд╛рд░ рдФрд░ рд╕рдорд░реНрдерди рдкрд░ рдЕрдзрд┐рдХ рдЬреЛрд░ рджреЗрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред

рдХрдо рд╕рдорд╛рдирд╛рдВрддрд░ рдЙрддреНрдкрд╛рдж

рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╕рд┐рд░реНрдл рдПрдХ рдЙрддреНрдкрд╛рдж рд╣реИ: .NET рдХреЛрд░ред CoreRT рдПрдХ рдЕрд▓рдЧ рдЙрддреНрдкрд╛рдж рдирд╣реАрдВ рд╣реИ рдФрд░ рдХрднреА рдирд╣реАрдВ рд╣реЛрдЧрд╛ред рдпрд╣ рдЗрд╕ рдПрдХ рдЙрддреНрдкрд╛рдж рдореЗрдВ рд╡рд┐рдХрд▓реНрдк рдЬреЛрдбрд╝рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИред рдЖрдЬ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЗ рдХреБрдЫ рдЙрджрд╛рд╣рд░рдг рд╣реИрдВ: рд╡рд░реНрдХрд╕реНрдЯреЗрд╢рди рдЬреАрд╕реА рдФрд░ рд╕рд░реНрд╡рд░ рдЬреАрд╕реА; рд╕реНрд╡-рдирд┐рд╣рд┐рдд рдРрдк рдкрдмреНрд▓рд┐рд╢ рдмрдирд╛рдо рдлреНрд░реЗрдорд╡рд░реНрдХ-рдбрд┐рдкреЗрдВрдбреЗрдВрдЯ рдРрдк рдкрдмреНрд▓рд┐рд╢ред

@jkotas рдореИрдВ рд╕рдордЭрддрд╛ рд╣реВрдВ, рдФрд░ рдореИрдВ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рд╣рдордд рд╣реВрдВ рдХрд┐ рд╡рд┐рдХрд▓реНрдк рдЬреЛрдбрд╝рдирд╛ рдЖрдорддреМрд░ рдкрд░ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрддрд╛ рд╣реИред рдпрджрд┐ рдЖрдк "рдЙрддреНрдкрд╛рджреЛрдВ" рд╢рдмреНрдж рдХреЗ рдореЗрд░реЗ рдЙрдкрдпреЛрдЧ рдХреЛ "рд╡рд┐рдХрд▓реНрдк/рд╕рдорд╛рдзрд╛рди" рд╕реЗ рдмрджрд▓ рджреЗрддреЗ рд╣реИрдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореИрдВ рдЕрднреА рднреА рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдпрд╣ рдирд╣реАрдВ рдЬрд╛рдирдиреЗ рдХреА рдЕрдкрдиреА рдЪрд┐рдВрддрд╛ рд╕реЗ рдЦрдбрд╝рд╛ рд╣реВрдВ рдХрд┐ .NET рдХреЛрд░ рд╕рдордЧреНрд░ рдЙрддреНрдкрд╛рдж рдХреЗ рдЕрдВрджрд░ рдПрдХ рд╡рд┐рдХрд▓реНрдк/рд╕рдорд╛рдзрд╛рди рдХреЗ рд░реВрдк рдореЗрдВ CoreRT рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░реЗ рдЙрддреНрдкрд╛рдж рдХреА рдкреНрд░рддрд┐рдмрджреНрдзрддрд╛ рдХреБрдЫ рдРрд╕реА рд╣реИ рдЬрд┐рд╕реЗ рд╣рдо рдЖрдиреЗ рд╡рд╛рд▓реЗ рдХрдИ рд╡рд░реНрд╖реЛрдВ рдореЗрдВ рд╕рдорд░реНрдерд┐рдд рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рд╕реБрд░рдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рд╢рд░реНрдд рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдХрд▓реНрдкрдирд╛ рдХреАрдЬрд┐рдП рдХрд┐ рдпрд╣ рдХреИрд╕рд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рдПрдкреАрдЖрдИ рд╕рдордп рдХреЗ рд╕рд╛рде рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рдмреНрд░реЗрдХрд┐рдВрдЧ рдкрд░рд┐рд╡рд░реНрддрди рдХрд░ рджреЗрдЧрд╛ рдФрд░ рдЕрдЪрд╛рдирдХ рдЖрдкрдХреЗ рдмрд┐рдирд╛ рдпрд╣ рдЬрд╛рдиреЗ рдмрд┐рдирд╛ рдХрд┐ рдЖрдк рд╡рд╣рд╛рдВ рд░рд╣рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдкреАрдЖрдИ рдкрд░ рднрд░реЛрд╕рд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдпрд╛ рдирд╣реАрдВред рдПрдХ рдЧреИрд░-рдПрдордПрд╕ рдЗрдХрд╛рдИ рдХреЗ рд▓рд┐рдП, рдЙрддреНрдкрд╛рдж рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рдЙрдкрдХрд░рдг/рд╡рд┐рдХрд▓реНрдк рдЙрд╕реА рддрд░рд╣ рдорд╣рд╕реВрд╕ рдХрд░рддреЗ рд╣реИрдВред рд╣рдо CoreRT рдХреА рдХрдИ рдХреНрд╖рдорддрд╛рдУрдВ рдкрд░ рдирд┐рд░реНрднрд░ рд╣реИрдВ рдЬреЛ рд╣рдо CoreCLR рдХреЗ рд╕рд╛рде (рдХрдо рд╕реЗ рдХрдо рд╡рд░реНрддрдорд╛рди рдореЗрдВ) рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реЛрдВрдЧреЗ (рдЙрдирдореЗрдВ рд╕реЗ рдПрдХ рдкреАрдПрд╕реАрдИ рдХреЗ рд╕рд╛рде рд╣рдорд╛рд░реЗ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдпреЛрдВ рдХреА рд░рдХреНрд╖рд╛ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдФрд░ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдореЗрдЯрд╛рдбреЗрдЯрд╛, рдЖрдИрдПрд▓ рдЗрддреНрдпрд╛рджрд┐ рдХреЛ рд╕реНрдЯреНрд░рд┐рдк рдХрд░рддрд╛ рд╣реИред рдЖрд╕рд╛рди рд╕реНрдерд┐рд░ рд▓рд┐рдВрдХрд┐рдВрдЧ, рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдХреА рдЖрд╕рд╛рди рд╕рдордЭ, рд╕реАрдзреЗ рдХрдВрдкрд╛рдЗрд▓рд░ рдореЗрдВ рдмрд╛рдзрд╛ рдбрд╛рд▓рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдЖрджрд┐)ред рдореВрд▓ рд░реВрдк рд╕реЗ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХреЛрд░рдЖрд░рдЯреА тАЛтАЛрдкрд░ рдЖрдкрдХреЗ рдФрд░ рдорд╛рдЗрдХрд▓ рдФрд░ рдЕрдиреНрдп рд▓реЛрдЧреЛрдВ рдХреЗ рдХрд╛рдо рдХреЛ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рджреА рдЬрд╛рдиреА рдЪрд╛рд╣рд┐рдП рдХреНрдпреЛрдВрдХрд┐ рдЖрдИрдПрдордУ .NET рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХреА рддрдВрддреНрд░ рдореЗрдВ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫреА рдЪреАрдЬреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕реЗ рдкрд╣рд▓реА рдмрд╛рд░ рдбрд┐рдЬрд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдХрд┐рд╕реА рднреА рд╕рдордп рдПрдХ рдирдП рдЙрдкрдХрд░рдг/рд╡рд┐рдХрд▓реНрдк рдХреА рдмрд╛рдд рд╣реЛрддреА рд╣реИ, рдЬрд┐рд╕реЗ рддрдм рдЖрдВрддрд░рд┐рдХ рд░реВрдк рд╕реЗ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬреИрд╕реЗ рдХрд┐ CoreRT рд╡рд┐рдХрд▓реНрдк рдХреЗ рдмрдЬрд╛рдп CoreRT рдХреЗ рд╕рд╛рде рдкреНрд░рддрд┐рд╕реНрдкрд░реНрдзрд╛ рдореЗрдВ рдкреВрд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рд╣реИ рдФрд░ рдореЗрд░реЗ рд▓рд┐рдП рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЗ рдЧрд▓рдд рдЖрд╡рдВрдЯрди рдХреА рддрд░рд╣ рд▓рдЧрддрд╛ рд╣реИред рдХреНрд╖рдорд╛ рдХрд░реЗрдВ рдХрд╛ рдорддрд▓рдм рдЪрд░реНрдЪрд╛ рдХреЛ рдмрд╛рд╣рд░ рдЦреАрдВрдЪрдирд╛ рдирд╣реАрдВ рдерд╛, рдмрд╕ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ рдХрд┐ рдЖрдк рд╕рдордЭ рдЧрдП рд╣реИрдВ рдХрд┐ CoreRT рдХреЗ рдХрд╛рдо рдХреА рдХрд┐рддрдиреА рд╕рд░рд╛рд╣рдирд╛ рдХреА рдЬрд╛рддреА рд╣реИ рдФрд░ рд╣рдо рдореЗрдВ рд╕реЗ рдХреБрдЫ рдХрд╛ рдорд╛рдирдирд╛ тАЛтАЛтАЛтАЛрд╣реИ рдХрд┐ рдпрд╣ рдордВрдЪ рдХрд╛ рднрд╡рд┐рд╖реНрдп рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
рдореИрдВ рдЗрд╕ рдЪрд░реНрдЪрд╛ рдХреЛ рдФрд░ рдкреНрд░рджреВрд╖рд┐рдд рдХрд░рдиреЗ рд╕реЗ рдмрдЪреВрдВрдЧрд╛ред рдЯреАрдореЛрдВ рдХреЗ рд▓рд┐рдП рд╢реБрднрдХрд╛рдордирд╛рдПрдВ рдФрд░ рдЖрдк рдЬреЛ рдХреБрдЫ рднреА рд▓реЗрдХрд░ рдЖрдПрдВрдЧреЗ, рдореБрдЭреЗ рдпрдХреАрди рд╣реИ рдХрд┐ рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ред

@christianscheuer рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рдФрд░ рдХреЛрд░рдЖрд░рдЯреА тАЛтАЛрд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдЕрдиреНрдп рдореБрджреНрджреЛрдВ рдкрд░ рдЖрдкрдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдмрд╣реБрдд рдореВрд▓реНрдпрд╡рд╛рди рд░рд╣реА рд╣реИред рдЖрдк рдЗрд╕ рдЪрд░реНрдЪрд╛ рдХреЛ рдмрд┐рд▓реНрдХреБрд▓ рднреА рджреВрд╖рд┐рдд рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВред

рдПрдХ рдирдП рдЙрдкрдХрд░рдг/рд╡рд┐рдХрд▓реНрдк рдХреА рдмрд╛рдд рд╣реЛ рд░рд╣реА рд╣реИ рдЬрд┐рд╕реЗ рддрдм рдЖрдВрддрд░рд┐рдХ рд░реВрдк рд╕реЗ CoreRT рдХреЗ рд╕рд╛рде рдкреНрд░рддрд┐рд╕реНрдкрд░реНрдзрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ

рдХреЛрд░ рдЯреАрдо рдХреЗ рдмреАрдЪ, рд╣рдордиреЗ рдХрдИ рдЕрд▓рдЧ, рдорд╣рддреНрд╡рд╛рдХрд╛рдВрдХреНрд╖реА рдпрд╛ рдкрд╛рдЧрд▓ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХреА рд╣реИред рдореИрдВ "рдЕрдирдЬрд╝рд┐рдк рдЯреВ рдбрд┐рд╕реНрдХ" рдХреЛ CoreRT рдкреВрд░реНрдг AOT рдХреЗ рд╕рд╛рде рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдкреНрд░рддрд┐рдпреЛрдЧреА рдирд╣реАрдВ рдорд╛рдирддрд╛ред рдкреНрд░рддреНрдпреЗрдХ .NET рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ/рдРрдкреНрд╕ рдХреЗ рдПрдХ рдЕрд▓рдЧ рдЦрдВрдб рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░рддрд╛ рд╣реИред

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

рдореИрдВ рдЖрдкрд╕реЗ рд╡рд╛рджрд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рдХрд┐ рдЗрд╕ рд╕рдордп CoreRT рддрдХрдиреАрдХ рд╕рдорд░реНрдерд┐рдд .NET Core рдЙрддреНрдкрд╛рдж рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд░реВрдк рдореЗрдВ рдХрдм рд╢рд┐рдк рд╣реЛрдЧреАред рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕рдореЗрдВ рдЕрджреНрд╡рд┐рддреАрдп рддрд╛рдХрдд рд╣реИ рдФрд░ рдореБрдЭреЗ рдпрдХреАрди рд╣реИ рдХрд┐ рд╣рдо рдЙрд╕ рддрд░рд╣ рдХреЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг .NET рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдорд░реНрдерд┐рдд рд╕рдорд╛рдзрд╛рди рд╢рд┐рдк рдХрд░рдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ рдЬреЛ рдЕрдВрддрддрдГ рдЗрд╕рд╕реЗ рд▓рд╛рднрд╛рдиреНрд╡рд┐рдд рд╣реЛрддреЗ рд╣реИрдВред

рдПрдХрд▓ рдлрд╝рд╛рдЗрд▓ рд╡рд┐рддрд░рдг рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ рдпрджрд┐:

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

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

рдПрдХ "рд╕рддреНрдп" рдПрдХрд▓ рдлрд╝рд╛рдЗрд▓ рд╕рдорд╛рдзрд╛рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдФрд░ рдпрд╣ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдореВрд▓реНрдп рдкреНрд░рджрд╛рди рдХрд░реЗрдЧрд╛ред

@jkotas рдЖрдкрдХреА рдЯрд┐рдкреНрдкрдгреА рдореЗрд░реЗ рд▓рд┐рдП рд╕рдЪ рд╣реИред рдХреЛрд░рдЖрд░рдЯреА тАЛтАЛрдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореБрдЭреЗ рдЕрдкрдиреА рдХрдВрдкрдиреА рдХреЗ .NET рджреЗрд╡ (рдПрд▓рдУрдмреА/рдмреИрдХрдСрдлрд╝рд┐рд╕/рдПрдХреАрдХрд░рдг) рдХреЛ рд╕рдордЭрд╛рдиреЗ рдореЗрдВ рдореБрд╢реНрдХрд┐рд▓ рд╣реЛрдЧреА рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЙрдирдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЕрдзрд┐рдХ рдЫрд▓рд╛рдВрдЧ рд╣реЛрдЧреА (рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдкреНрд░рд╛рдпреЛрдЧрд┐рдХ рд▓реЗрдмрд▓ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ), рд▓реЗрдХрд┐рди рд╡реЗ рдореВрд▓реНрдп рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ a рдХреЛрд░ рдХреЗ рд▓рд┐рдП рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рд╕рд░рд▓ (рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП) рд╕рдорд╛рдзрд╛рди рдЬреИрд╕реЗ рдпрд╣ рдзрд╛рдЧрд╛ рдЪрд░реНрдЪрд╛ рдХрд░ рд░рд╣рд╛ рд╣реИред рдзрдиреНрдпрд╡рд╛рдж

@ popcatalin81 рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдпрд╣рд╛рдБ рдЖрдкрдХреА рдмрд╛рддреЛрдВ рд╕реЗ рджреГрдврд╝рддрд╛ рд╕реЗ рдЕрд╕рд╣рдордд рд╣реВрдБред

рдХрдИ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рд╕рдордп рд╕рд╛рд░реНрдердХ рдирд╣реАрдВ рд╣реИред рдореИрдВ рдХрд┐рд╕реА рднреА рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдЪрд▓рдиреЗ рд╡рд╛рд▓реА рд╕реЗрд╡рд╛ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреА рдЬрдЯрд┐рд▓рддрд╛ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рдЙрджреНрджреЗрд╢реНрдп рд╕реЗ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рд╕рдордп рдореЗрдВ 50% - 100% рдХреА рд╡реГрджреНрдзрд┐ рдХреЛ рд╕рд╣рд░реНрд╖ рд╕рдорд╛рдкреНрдд рдХрд░ рджреВрдВрдЧрд╛ред

рднрд▓реЗ рд╣реА рд╣рдо рдХрд┐рд╕реА рд╕реЗрд╡рд╛ рдХреЗ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рд╕рдордп рдореЗрдВ 30 рд╕реЗрдХрдВрдб рдЬреЛрдбрд╝ рджреЗрдВ, рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд▓рдВрдмреЗ рд╕рдордп рддрдХ рд╕рд╛рд░реНрдердХ рдирд╣реАрдВ рд╣реИред
рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП, рдпрд╣ рд╕рдВрднрд╡рддрдГ рдПрдХ рд╣рддреНрдпрд╛рд░рд╛ рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рдЬрдм рддрдХ 3.0 рдмрд╛рд╣рд░ рдирд╣реАрдВ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рддрдм рддрдХ рд╕рднреА рдХреЛрд░рд╕реАрдПрд▓рдЖрд░ рдРрдкреНрд╕ рдпрд╛ рддреЛ рдХрдВрд╕реЛрд▓ рдпрд╛ рд╕реЗрд╡рд╛рдПрдВ рд╣реИрдВред

рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ CoreCLR рдХреЗ рдкрд╛рд╕ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ рдРрд╕рд╛ рддрд░реАрдХрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдЖрдк рдЕрдкрдиреЗ рдЖрд╡реЗрджрди (рд╕реНрд╡рдпрдВ рдирд┐рд╣рд┐рдд рдкрд░рд┐рдирд┐рдпреЛрдЬрди) рдХреЗ рд╕рд╛рде рдврд╛рдВрдЪреЗ рдХреЛ рдмрдВрдбрд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ (RavenDB), рд╣рдо рдЙрд╕ рдкрд░ рдХрдИ рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП _rely_ рдХрд░рддреЗ рд╣реИрдВред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╣рдорд╛рд░реЗ рд╕реНрд╡рдпрдВ рдХреЗ рдврд╛рдВрдЪреЗ рдХреЛ рдЪреБрдирдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдЪрд╛рд╣реЗ рдЬреЛ рдХреБрдЫ рднреА рд╣рдорд╛рд░реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реЛрдВред рдпрд╣ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдПрдХ _major_ рд▓рд╛рдн рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рд╣рдореЗрдВ рд╡рд┐рд╢реНрд╡ рд╕реНрддрд░ рдкрд░ рд╕реНрдерд╛рдкрд┐рдд рдврд╛рдВрдЪреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ рдФрд░ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдЬреЛ рдХреБрдЫ рднреА рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдиреЗ рддрдп рдХрд┐рдпрд╛ рд╣реИ рд╡рд╣ рдврд╛рдВрдЪрд╛ рд╣реЛрдЧрд╛ (рд╣рдо рдЗрд╕ рдмрд╛рдд рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рдереЗ рдХрд┐ рд╣рдо рдЪрд▓ рд░рд╣реЗ рд╣реЛрдВрдЧреЗ .NET 4.0 рдХрднреА-рдХрднреА, 4.5 рд╕рд╛рд▓ рдмрд╛рдж рднреА, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдФрд░ рд╡рд╣ рдПрдХ рджрд░реНрдж рдерд╛)ред
рдПрдХ рдФрд░ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдкрд╣рд▓реВ рдпрд╣ рд╣реИ рдХрд┐ рд╣рдо рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ _our own_ рдлреЛрд░реНрдХ рдХреЗ рд╕рд╛рде рдЪрд▓ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рдмрд╣реБрдд рдЙрдкрдпреЛрдЧреА рд╣реИ рдЕрдЧрд░ рд╣рдо рдЙрди рдЪреАрдЬреЛрдВ рдореЗрдВ рднрд╛рдЧ рд▓реЗрддреЗ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рд╣рдореЗрдВ рдмрджрд▓рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдЙрд╕рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд░реВрдк рдореЗрдВ, рд╣рдо рдкреИрдЪ рд╕рд╛рдЗрдХрд┐рд▓ рдХрд╛ рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рд▓реЗрддреЗ рд╣реИрдВ рдФрд░ рдирд╣реАрдВ рдЪрд╛рд╣рддреЗ рдХрд┐ рдХреЛрдИ рдФрд░ рдЙрд╕рдХреЗ рд╕рд╛рде рдЦрд┐рд▓рд╡рд╛рдбрд╝ рдХрд░реЗред

рдореБрдЭреЗ _mind_ VFS рдирд╣реАрдВ рд▓рдЧрддрд╛, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рдФрд░ рдореИрдВ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдмрдВрдбрд▓ рдХрд┐рдП рдЧрдП рдЕрд╕реЗрдВрдмрд▓реА/рджреЗрд╢реА рдбреАрдПрд▓рдПрд╕/рд╕рдВрд╕рд╛рдзрдиреЛрдВ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдкрд┐рдд рдПрдкреАрдЖрдИ/рдХреБрдЫ рд╣реБрдкреНрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХреВрджрдиреЗ рдХреЗ рд╕рд╛рде рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдареАрдХ рд╣реВрдВред

рдореБрдЭреЗ рдЗрд╕ рдореБрджреНрджреЗ рдХреА рдУрд░ рджреЛ рджрд┐рдиреЛрдВ рдХреЗ рд▓рд┐рдП @briacht рджреНрд╡рд╛рд░рд╛ рдЗрдВрдЧрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдЪрд░реНрдЪрд╛ рдореЗрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рджреЗрд░ рд╣реЛ рдЧрдИ рд╣реИред
рдмрд╕ рдореЗрд░реЗ 2-рд╕реЗрдВрдЯ рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ!

рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ @morganbr рдХреЗ рд╕рд╡рд╛рд▓реЛрдВ рдХреЗ рдореЗрд░реЗ рдЬрд╡рд╛рдм:

  1. рд╡рд┐рдВрдбреЛрдЬрд╝ рдРрдк, рдбрдмреНрд▓реНрдпреВрдкреАрдПрдл рдФрд░ рд╡рд┐рдирдлреЙрд░реНрдо рдХреЛ рдорд┐рд▓рд╛рдХрд░ред
  2. рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдирд╣реАрдВ
  3. рд╣рд╛рдВ, рдЕрд╕реЗрдВрдмрд▓реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ред рд╡рд┐рднрд┐рдиреНрди рд░реВрдкреЛрдВ рдореЗрдВ рд▓реЛрдб рдХрд░реЗрдВ
  4. рд╣рд╛рдВ
  5. рдпрд╣ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рдЬреБрд░реНрдорд╛рдирд╛ рд╣реИ рдЬреЛ рд╣рд░ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдкрд░ рд╣реИред рд╣рд╛рдБ рдЕрдЧрд░ рдпрд╣ рдХреБрдЫ рдорд┐рд▓реАрд╕реЗрдХрдВрдб рд╣реИ, рд▓реЗрдХрд┐рди 5 рд╕реЗрдХрдВрдб: рдирд╣реАрдВред рдЕрдЧрд░ рдпрд╣ рдПрдХ рдмрд╛рд░ рд╣реИ, рддреЛ 5 рд╕реЗрдХрдВрдб рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИред
  6. 50MB рдкрд╣рд▓реЗ рд╕реЗ рд╣реА <2MB рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдХрд╛рдлреА рдмрдбрд╝рд╛ рд╣реИ... рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реЛрдЧрд╛ рдХрд┐ рдбреЙрдЯрдиреЗрдЯ рд░рдирдЯрд╛рдЗрдо рд╢рд╛рдорд┐рд▓ рд╣реИ... рдареАрдХ рд╣реИред рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдореИрдВ рд╕рд╛рде рдФрд░ рдмрд┐рдирд╛ рдбрд╛рдЙрдирд▓реЛрдб рдкреНрд░рджрд╛рди рдХрд░ рд╕рдХреВрдВред
  7. рд░рд┐рд▓реАрдЬ рдХрд╛ рд╕рдордп рд╕реАрдзреЗ рддреМрд░ рдкрд░ рдорд╛рдпрдиреЗ рдирд╣реАрдВ рд░рдЦрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рд╕реАрдкреАрдпреВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реАрдЖрдИ рдкреНрд░рджрд╛рддрд╛ рдХреЛ рдкрд░реЗрд╢рд╛рди рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред
  8. рд╣рд╛рдВ!

рдореИрдВ рдЬрд┐рд╕ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рддрд╛ рд╣реВрдВ рд╡рд╣ рдЧреНрд░реАрдирд╢реЙрдЯ рд╣реИ, рд╡рд░реНрддрдорд╛рди рдЬрд╛рд░реА рд╕рдВрд╕реНрдХрд░рдг рдЕрднреА рднреА .NET рдлреНрд░реЗрдорд╡рд░реНрдХ 2.0 (рд╣рд╛рдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ) рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░ рд░рд╣рд╛ рд╣реИ рд▓реЗрдХрд┐рди рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг (рдЕрдЪреНрдЫреА рдкрд┐рдЫрд▓реА рд╕рдВрдЧрддрддрд╛) рдкрд░ рдореБрджреНрджреЛрдВ рдХреЗ рдмрд┐рдирд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ! Zhe рдбрд╛рдЙрдирд▓реЛрдб, рдЗрдВрд╕реНрдЯреЙрд▓рд░ рд╕рд╣рд┐рдд, рд▓реЗрдХрд┐рди .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рдмрд┐рдирд╛, рд▓рдЧрднрдЧ 1,7MB рд╣реИред рдЬрд┐рд╕ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╕реЗ рдЗрд╕реЗ рд╢реБрд░реВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдЙрд╕рдореЗрдВ 1 .exe рдФрд░ 4 .dll рд╣реИрдВ, рдЙрдк-рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ 11 рдРрдб-рдСрди рднреА рд╣реИрдВред

рдореИрдВ рдкрд┐рдЫрд▓реА рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкрдврд╝ рд░рд╣рд╛ рдерд╛, рдФрд░ рдЙрдирдореЗрдВ рд╕реЗ рдмрд╣реБрдд рд╕реЗ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдЬреИрд╕реЗ рдЖрдк рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЗ рд╕рд╛рде рдХреБрдЫ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдореИрдВ рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдЗрдВрд╕реНрдЯреЙрд▓рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реВрдВрдЧрд╛ред рдпрд╣ рдХреБрдЫ рд╣рдж рддрдХ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдХреЛрдИ рдордВрдЪ рд╕реНрд╡рддрдВрддреНрд░ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рд╣реИред

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

рдЧреНрд░реАрдирд╢реЙрдЯ рдХреЗ рдЕрдЧрд▓реЗ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рд╛рде, рдЬреЛ .NET Framework 4.7.1 рдФрд░ dotnet core 3.0 рдХреЛ рд╕рд╛рде-рд╕рд╛рде рд▓рдХреНрд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ, dotnet core 3.0 рдХреЗ рдкрд░рд┐рдгрд╛рдореА рдбрд╛рдЙрдирд▓реЛрдб рдореЗрдВ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд▓рдЧрднрдЧ 103 dll (!!!), рдПрдХ exe рдФрд░ 15 рдРрдб-рдСрди рд╣реИрдВред . рдХреБрд▓ рдЖрдХрд╛рд░ рд▓рдЧрднрдЧ 37MB рд╣реИ рдФрд░ рд╕рдмрд╕реЗ рдмрдбрд╝реА рдлрд╝рд╛рдЗрд▓ MahApps.Metro.IconPacks.dll (12MB !!) рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд╣рдорд╛рд░реЗ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рдЖрдЗрдХрди рд╢рд╛рдорд┐рд▓ рд╣реИрдВ, рдЬреЛ рд╕рдВрднрд╡рддрдГ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рд▓рдЧрднрдЧ 4% рд╣реИред рдХрдИ рдЕрдиреНрдп рдбреАрдПрд▓рдПрд╕ рдХреЗ рд╕рд╛рде рднреА, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдХреЛрдб рдЙрдкрдпреЛрдЧ рдХрд╛ 50% рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╣реИ!

рдпрджрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЗрдВрд╕реНрдЯреЙрд▓ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ, рддреЛ рдмрд╕ рдПрдХ .zip рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ рдФрд░ рд▓рдЧрднрдЧ 118 рдлрд╛рдЗрд▓реЛрдВ рдХреЗ рдмреАрдЪ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдЦреЛрдЬреЗрдВ ... рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рдЕрдЪреНрдЫрд╛ рдЕрдиреБрднрд╡ рдирд╣реАрдВ рд╣реИ! рдЖрдХрд╛рд░ рд▓рдЧрднрдЧ 35MB (17x) рдмрдбрд╝рд╛ рд╣реИ, рддреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рд▓рд╛рдн рдХрд╣рд╛рдБ рд╣реИ?

рдорд╣реАрдиреЛрдВ рдкрд╣рд▓реЗ рдбреЙрдЯрдиреЗрдЯ рдХреЛрд░ 3.0 рдПрдХ рдЪреАрдЬ рдереА, рдореИрдВ Fody.Costura рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рдерд╛ рдЬреЛ рдХрд┐ рдпрд╣рд╛рдВ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдкрд░ рдирд┐рд░реНрдорд╛рдг рдФрд░ рдЕрдирдкреИрдХрд┐рдВрдЧ рдХреЗ рджреМрд░рд╛рди рдкреИрдХрд┐рдВрдЧ! рдпрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдХрд┐ рдЗрд╕рдиреЗ рдПрдХ рднреА рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдмрдирд╛ рджрд┐рдпрд╛, рдмрд┐рдирд╛ рд╣реИрдХрд┐рдВрдЧ рдХреЗ рд╕рдВрднрд╡ рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рдирд┐рдХрд╛рд▓реЗ рдмрд┐рдирд╛ред рд▓реЗрдХрд┐рди рдЗрд╕рдиреЗ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдореБрджреНрджреЛрдВ рдХреЛ рднреА рдЬрдиреНрдо рджрд┐рдпрд╛, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдореЗрд░рд╛ рдкрд╕рдВрджреАрджрд╛ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рд╣реИред

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

Fody.Costury рдХреЗ рд╕рдорд╛рди рд╕рдорд╛рдзрд╛рди рд╣реЛрдирд╛ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдХреБрдЫ рд╕рдордп рд╣реИ рдЬрдм рдореИрдВ рдЧреНрд░реАрдирд╢реЙрдЯ рдХреА рддреИрдирд╛рддреА рдХреЛ рд╕рд░рд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрдореЗрдЬрд┐рдВрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рд╕реАрдзреЗ рдЖрдХрд╛рд░ рдФрд░ рд▓реЛрдбрд┐рдВрдЧ рд╕рдордп рдХреЛ рдХрдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рддреЛ рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдпрд╣рд╛рдБ рднреА рдХреБрдЫ рд╕рдордп рд╡реНрдпрддреАрдд рд╣реЛрдЧрд╛!

@ayende рдХреГрдкрдпрд╛ рдореБрдЭреЗ рднреА рдЖрдкрд╕реЗ рдЕрд╕рд╣рдордд рд╣реЛрдиреЗ рджреЗрдВ :)

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

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

рдЕрдм рд╕рд╡рд╛рд▓ рдпрд╣ рд╣реИ рдХрд┐ рдПрдореНрдмреЗрдбреЗрдб рдЕрд╕реЗрдВрдмрд▓реА рдХрд╛ рдпрд╣ рдореЙрдбрд▓ рдЕрд╕реНрдерд╛рдпреА рдлрд╝реЛрд▓реНрдбрд░реЛрдВ рдореЗрдВ рдХреЙрдкреА рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЕрдЧрд░ рдпрд╣ рдЕрддреНрдпрдзрд┐рдХ рд▓реЛрдХрдкреНрд░рд┐рдп рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рддреЛ рдХреНрдпрд╛ рдпрд╣ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░реЗрдЧрд╛?

рдореЗрд░реЗ рд╡рд┐рдЪрд╛рд░ рдореЗрдВ рд╡рд░реНрддрдорд╛рди рдореЙрдбрд▓ рдХреЗ рд▓рд┐рдП рдпреЗ рдХреБрдЫ рд╕рдВрднрд╛рд╡рд┐рдд рдореБрджреНрджреЗ рд╣реИрдВ:

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

рдореИрдВ рдпрд╣рд╛рдВ рдпрд╣ рдХрд╣рдиреЗ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рд╣реВрдВ рдХрд┐ рдпрд╣ рдореЙрдбрд▓ рд╕рднреА рдкреНрд░рдХрд╛рд░ рдХреЗ рдРрдкреНрд╕ рдХреЗ рд▓рд┐рдП рдЙрдк-рдЗрд╖реНрдЯрддрдо рд╣реИред рдореИрдВрдиреЗ рдЗрд╕реЗ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рдЕрддреАрдд рдореЗрдВ full.Net Framework рдХреЗ рд▓рд┐рдП рд╕реНрд╡рдпрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рд╣реИ, рдФрд░ рдпрд╣ рдХреБрдЫ рдРрдкреНрд╕ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рд╣реИред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╖реНрдЯрддрдо рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╡рд╣ рд╕рдВрд╕реНрдХрд░рдг рд╣реИ рдЬрд╣рд╛рдВ рдПрдХ рд▓рд┐рдВрдХрд░ рд╕рднреА рдЕрд╕реЗрдВрдмрд▓реА рдХреЛ рдПрдХ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╡рд┐рд▓рдп рдХрд░рддрд╛ рд╣реИред

@popcatalin81 рдПрдХрд▓ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╡рд╛рд▓реА рджреБрдирд┐рдпрд╛ рдЧрд░реАрдм рд╣реИред рдФрд░ рдореИрдВ рдЗрддрдирд╛ рдЕрд╣рдВрдХрд╛рд░реА рдирд╣реАрдВ рд╣реВрдВ рдХрд┐ рдпрд╣ рд╕реЛрдЪреВрдВ рдХрд┐ рдореЗрд░рд╛ рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдореЙрдбрд▓ рд╡рд╣рд╛рдВ рдПрдХрдорд╛рддреНрд░ рд╣реИред

рдореЗрд░реЗ рдорди рдореЗрдВ рдЬреЛ рдорд╛рдорд▓рд╛ рд╣реИ рд╡рд╣ рдбрд╛рдЙрдирд▓реЛрдб рдФрд░ рдбрдмрд▓ рдХреНрд▓рд┐рдХ рдкрд░рд┐рджреГрд╢реНрдп рд╣реИред
рдЕрднреА, рд╣рдореЗрдВ рдЦреЛрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рд╢реЗрд▓ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдЦреЛрд▓рдирд╛ рдФрд░ рдХреНрд▓рд┐рдХ рдХрд░рдирд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ 100 рдлрд╛рдЗрд▓реЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдЬрд╛рдирд╛ рдФрд░ рд╕рд╣реА рдЦреЛрдЬрдирд╛ рдПрдХ рдШрд░ рдХрд╛ рдХрд╛рдо рд╣реИред

рдЕрд╕реНрдерд╛рдпреА рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВред рдореИрдВ рдЗрд╕рдХреЗ рдмрд╣реБрдд рдЦрд┐рд▓рд╛рдл рд╣реЛрдЧрд╛ред рдХреЙрдиреНрдлрд┐рдЧ рдлрд╛рдЗрд▓реЗрдВ рдЕрдиреНрдп рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреГрд╢реНрдп рд╕рд╛рдордЧреНрд░реА рд╣реИрдВ _must_ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдлрд╝рд╛рдЗрд▓ рдХреЗ рдареАрдХ рдмрдЧрд▓ рдореЗрдВ рд░рд╣рддреА рд╣реИрдВ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ, рдХрд╣реАрдВ рдЫреБрдкрд╛ рдирд╣реАрдВ рд╣реИред
рд╣рдо рдкрд╣рд▓реЗ рд╣реА рджреЗрдЦ рдЪреБрдХреЗ рд╣реИрдВ рдХрд┐ IsolatedStorage рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд╕рд╛рде рдпрд╣ рдХрд┐рддрдирд╛ рдмреБрд░рд╛ рдерд╛ рдЬрдм рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдЙрдирдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереАред

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

рдХреНрдпрд╛ рдпрд╣ рд╕реБрд╡рд┐рдзрд╛ ILMerge рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдЧреА? рдпрджрд┐ рдирд╣реАрдВ, рддреЛ рдХреНрдпреЛрдВ рдирд╣реАрдВ? рдЕрдЧрд░ рдХреЛрдИ рдиреБрдХрд╕рд╛рди рд╣реИ рддреЛ рдореИрдВ рдЦреБрдж рдХреЛ рд╢рд┐рдХреНрд╖рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред

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

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХреЛрд░рд░реНрдЯ рджреЗрд╢реА рдХрдВрдкрд╛рдЗрд▓рд░ рдпрд╛ рдХреЙрд╕реНрдЯреБрд░рд╛.рдлреЛрдбреА рдЬреИрд╕рд╛ рдХреБрдЫ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

рд╡реИрдХрд▓реНрдкрд┐рдХ рд░реВрдк рд╕реЗ рдЗрд╕реЗ рдмрд╛рдЗрдирд░реА рдЖрдХрд╛рд░ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХрд╛ рднреА рдкреНрд░рдпрд╛рд╕ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП (рдЕрдкреНрд░рдпреБрдХреНрдд рд╕рдВрджрд░реНрднреЛрдВ рдХреЛ рд╣рдЯрд╛ рджреЗрдВ, рдореГрдд рдЖрдИрдПрд▓)ред

рдкреБрдирдГ

рдорд╣реАрдиреЛрдВ рдкрд╣рд▓реЗ рдбреЙрдЯрдиреЗрдЯ рдХреЛрд░ 3.0 рдПрдХ рдЪреАрдЬ рдереА, рдореИрдВ Fody.Costura рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рдерд╛ рдЬреЛ рдХрд┐ рдпрд╣рд╛рдВ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдкрд░ рдирд┐рд░реНрдорд╛рдг рдФрд░ рдЕрдирдкреИрдХрд┐рдВрдЧ рдХреЗ рджреМрд░рд╛рди рдкреИрдХрд┐рдВрдЧ!

рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдХреЙрд╕реНрдЯреБрд░рд╛ рдирд╣реАрдВ (рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ) "рдбрд┐рд╕реНрдХ рдкрд░ рдЕрдирдкреИрдХ рдХрд░реЗрдВ"ред рдпрд╣ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рд╕реЗ рдПрдореНрдмреЗрдбреЗрдб рдЕрд╕реЗрдВрдмрд▓реА рдХреЛ рдирд┐рдХрд╛рд▓рддрд╛ рд╣реИ (рд╕реНрдореГрддрд┐ рдореЗрдВ) рдФрд░ рдЙрдиреНрд╣реЗрдВ рдмрд╛рдЗрдЯреНрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд▓реЛрдб рдХрд░рддрд╛ рд╣реИ

рд╕рдВрджрд░реНрдн рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж @SimonCropp рд╣рдо рдбрд┐рд╕реНрдХ рд╕реЗ рдЕрдирдкреИрдХ рдХрд░рдиреЗ рдФрд░ рд╕реНрдЯреНрд░реАрдо рд╕реЗ рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рджреЛрдиреЛрдВ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреА рдЦреЛрдЬ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рд╢реБрджреНрдз рдЖрдИрдПрд▓ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрдЯреНрд░реАрдо рд╕реЗ рд▓реЛрдбрд┐рдВрдЧ рдХреЛ рдХрд╡рд░ рдХрд░рдирд╛ рд╣рдорд╛рд░реЗ рдкрд╣рд▓реЗ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдореЗрдВ рд╕рдВрднрд╡ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

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

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

рдзрдиреНрдпрд╡рд╛рдж @SimonCropp рдЬреИрд╕реЗ рд╣реА рд╣рдо рдореЛрдиреЛ/рдЗрд▓рд┐рдВрдХрд░ рдХреЛ .NET рдХреЛрд░ рдЯреВрд▓ рдЪреЗрди рдореЗрдВ рдПрдХреАрдХреГрдд рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ, рд╣рдо рдЖрдкрдХреЛ рд╕рдореАрдХреНрд╖рд╛ рдХреЗ рдЖрдкрдХреЗ рдкреНрд░рд╕реНрддрд╛рд╡ рдкрд░ рд▓реЗ рдЬрд╛рдПрдВрдЧреЗред

рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдХреЙрд╕реНрдЯреБрд░рд╛ рдирд╣реАрдВ (рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ) "рдбрд┐рд╕реНрдХ рдкрд░ рдЕрдирдкреИрдХ рдХрд░реЗрдВ"ред рдпрд╣ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рд╕реЗ рдПрдореНрдмреЗрдбреЗрдб рдЕрд╕реЗрдВрдмрд▓реА рдХреЛ рдирд┐рдХрд╛рд▓рддрд╛ рд╣реИ (рд╕реНрдореГрддрд┐ рдореЗрдВ) рдФрд░ рдЙрдиреНрд╣реЗрдВ рдмрд╛рдЗрдЯреНрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд▓реЛрдб рдХрд░рддрд╛ рд╣реИ

рдЗрд╕рд╕реЗ рднреА рдмреЗрд╣рддрд░, рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛтАЛтАЛрд╣реИ рдХрд┐ рдпрд╣ AppDomain.AssemblyResolve рдИрд╡реЗрдВрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдСрди-рдбрд┐рдорд╛рдВрдб рд▓реЛрдб рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдХреЛ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдкреНрд░рднрд╛рд╡рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЬрдм рднреА рдЖрд╡рд╢реНрдпрдХ рд╣реЛ рдХреЗрд╡рд▓ рдЕрд╕реЗрдВрдмрд▓реА (рдореЗрдореЛрд░реА рдореЗрдВ) рд▓реЛрдб рдХрд░реЗрдЧрд╛ред

рдпрд╣рд╛рдБ рдмрд╛рддрдЪреАрдд рдХреЗ рд▓рд┐рдП рджреЗрд░ рд╣реЛ рдЪреБрдХреА рд╣реИред рдХреНрд╖рдорд╛ рдХрд░реЗрдВ рдпрджрд┐ рдпрд╣ рдкрд╣рд▓реЗ рд╣реА рдХрд╡рд░ рдХрд┐рдпрд╛ рдЬрд╛ рдЪреБрдХрд╛ рд╣реИред

рдХреНрдпрд╛ рд╣рдо рдорд╛рди рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣рд╛рдБ рдХреА рдХрд▓рд╛рдХреГрддрд┐ рдирд┐рдпрддрд╛рддреНрдордХ рд╣реЛрдЧреА? рдЗрд╕рд▓рд┐рдП рдПрдХ рд╣реА рдирд┐рд░реНрдорд╛рдг рд╣рдореЗрд╢рд╛ рдПрдХ рд╣реА рдмрд╛рдЗрдирд░реА рдХрд╛ рдЙрддреНрдкрд╛рджрди рдХрд░реЗрдЧрд╛? рдмрд╛рдЗрдЯ-рдлреЙрд░-рдмрд╛рдЗрдЯред рдПрдХ рдХреИрдиреЛрдирд┐рдХрд▓ рдХреЗ рд╕рд╛рде рдПрдХ рдмрд╛рдЗрдирд░реА рд╡рд┐рддрд░рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреЗ рд╕рд╛рде-рд╕рд╛рде рдЪреЗрдХрд╕рдо рднреА рд╕рд╣рд╛рдпрдХ рд╣реЛрдЧрд╛ред

@morganbr рдпрд╣рд╛рдВ рдмрд╣реБрдд рдХреБрдЫ рдкрдврд╝рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдХреНрдпрд╛ рдЕрдм рддрдХ рдХрд┐рдП рдЧрдП рдирд┐рд░реНрдгрдпреЛрдВ рдХреЛ рд▓реЙрдЧ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реЛрдЧрд╛?

@edblackburn рд╣рдо рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдПрдХ рдЕрджреНрдпрддрди рдбрд┐рдЬрд╝рд╛рдЗрди рдХреЛ рдПрдХ рд╕рд╛рде рдЦреАрдВрдЪ рд░рд╣реЗ рд╣реИрдВред @ рд╕реНрд╡рд░реВрдк-рд╢реНрд░реАрдзрд░ рдЕрдм рдбрд┐рдЬрд╛рдЗрди рдЪрд▓рд╛ рд░рд╣реЗ рд╣реИрдВред

рдХреНрдпрд╛ рдпрд╣ рд╕реБрд╡рд┐рдзрд╛ ILMerge рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдЧреА? рдпрджрд┐ рдирд╣реАрдВ, рддреЛ рдХреНрдпреЛрдВ рдирд╣реАрдВ? рдЕрдЧрд░ рдХреЛрдИ рдиреБрдХрд╕рд╛рди рд╣реИ рддреЛ рдореИрдВ рдЦреБрдж рдХреЛ рд╢рд┐рдХреНрд╖рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред

@simplejackcoder ILMerge рдЖрдИрдПрд▓ рдХреЛ рдХрдИ рдЕрд╕реЗрдВрдмрд▓реА рд╕реЗ рдПрдХ рдореЗрдВ рдЬреЛрдбрд╝рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ, рдорд░реНрдЬ рдХрд┐рдП рдЧрдП рдЕрд╕реЗрдВрдмрд▓реА рдХреА рдореВрд▓ рдкрд╣рдЪрд╛рди рдЦреЛ рджреЗрддрд╛ рд╣реИред рддреЛ, рдореВрд▓ рдЕрд╕реЗрдВрдмрд▓реА рдирд╛рдореЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдкреНрд░рддрд┐рдмрд┐рдВрдм рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдЬреИрд╕реА рдЪреАрдЬреЗрдВ рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рдПрдВрдЧреАред

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

рдЖрдИрдПрд▓ рдХреЛ рдорд░реНрдЬ рдХрд░рдирд╛ рдЙрди рдРрдкреНрд╕ рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрдкрдпреЛрдЧреА рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реИ рдЬреЛ рдЗрд╕реЗ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ - рдпрд╣ рдЗрд╕ рдореБрджреНрджреЗ рд╕реЗ рдмрд╕ рдПрдХ рдЕрд▓рдЧ рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реИред

рдПрдХ рдбрд┐рдЬрд╝рд╛рдЗрди рд╕рдореАрдХреНрд╖рд╛ https://github.com/dotnet/designs/pull/52 . рдкрд░ рдкреЛрд╕реНрдЯ рдХреА рдЧрдИ рд╣реИ
рдЖрдЗрдП рдЕрдм рд╕реЗ рдкреАрдЖрд░ рдкрд░ рдЪрд░реНрдЪрд╛ рдЬрд╛рд░реА рд░рдЦреЗрдВред

рдореЗрд░реЗ рдкрд╛рд╕ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдкреНрд░рд╢реНрди рд╣реИрдВ рдЬреЛ рд╕рд┐рдВрдЧрд▓-рдлрд╛рдЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдЖрдкрдХреЗ рдЙрддреНрддрд░ рд╣рдореЗрдВ рдЕрдкрдиреЗ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЛ рд╕реАрдорд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдВрдЧреЗ:

  1. рдЖрдк рдХрд┐рд╕ рдкреНрд░рдХрд╛рд░ рдХреЗ рдРрдк рдХреЗ рд╕рд╛рде рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд░рдЦрддреЗ рд╣реИрдВ? (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рд╡рд┐рдВрдбреЛрдЬрд╝ рдкрд░ рдбрдмреНрд▓реНрдпреВрдкреАрдПрдл? рдПрдПрд╕рдкреА.рдиреЗрдЯ рдПрдХ рд▓рд┐рдирдХреНрд╕ рдбреЙрдХрд░ рдХрдВрдЯреЗрдирд░ рдореЗрдВ? рдХреБрдЫ рдФрд░?)
  2. рдХреНрдпрд╛ рдЖрдкрдХреЗ рдРрдк рдореЗрдВ (рдЧреИрд░-.NET) C++/рдореВрд▓ рдХреЛрдб рд╢рд╛рдорд┐рд▓ рд╣реИ?
  3. рдХреНрдпрд╛ рдЖрдкрдХрд╛ рдРрдк рдкреНрд▓рдЧрдЗрдиреНрд╕ рдпрд╛ рдЕрдиреНрдп рдмрд╛рд╣рд░реА рдбреАрдПрд▓рдПрд╕ рд▓реЛрдб рдХрд░реЗрдЧрд╛ рдЬрд┐рдиреНрд╣реЗрдВ рдЖрдкрдиреЗ рдореВрд▓ рд░реВрдк рд╕реЗ рдЕрдкрдиреЗ рдРрдк рдмрд┐рд▓реНрдб рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдерд╛?
  4. рдХреНрдпрд╛ рдЖрдк рд╕реБрд░рдХреНрд╖рд╛ рд╕реБрдзрд╛рд░реЛрдВ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рдРрдк рдХрд╛ рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг рдФрд░ рдкреБрдирд░реНрд╡рд┐рддрд░рдг рдХрд░рдиреЗ рдХреЗ рдЗрдЪреНрдЫреБрдХ рд╣реИрдВ?
  5. рдпрджрд┐ рдЖрдкрдХрд╛ рдРрдк 200-500 ms рдЕрдзрд┐рдХ рдзреАрдореА рдЧрддрд┐ рд╕реЗ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ рддреЛ рдХреНрдпрд╛ рдЖрдк рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ? 5 рд╕реЗрдХрдВрдб рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛?
  6. рдЖрдк рдЕрдкрдиреЗ рдРрдк рдХреЗ рд▓рд┐рдП рд╕реНрд╡реАрдХрд╛рд░реНрдп рд╕рдмрд╕реЗ рдмрдбрд╝рд╛ рдЖрдХрд╛рд░ рдХреНрдпрд╛ рдорд╛рдиреЗрдВрдЧреЗ? 5 рдПрдордмреА? 10? 20? 50? 75? 100?
  7. рдХреНрдпрд╛ рдЖрдк рдЖрдХрд╛рд░ рдФрд░/рдпрд╛ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рд╕рдордп рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд▓рдВрдмрд╛ рд░рд┐рд▓реАрдЬрд╝ рдмрд┐рд▓реНрдб рд╕рдордп рд╕реНрд╡реАрдХрд╛рд░ рдХрд░реЗрдВрдЧреЗ? рдЖрдк рд╕рдмрд╕реЗ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдХреНрдпрд╛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░реЗрдВрдЧреЗ? 15 рд╕реЗрдХрдВрдб? 30 рд╕реЗрдХрдВрдб? 1 рдорд┐рдирдЯ? 5 рдорд┐рдирдЯ?
  8. рдХреНрдпрд╛ рдЖрдк рдЕрддрд┐рд░рд┐рдХреНрдд рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рдЗрдЪреНрдЫреБрдХ рд╣реЛрдВрдЧреЗ рдпрджрд┐ рдпрд╣ рдЖрдкрдХреЗ рдРрдк рдХреЗ рдЖрдХрд╛рд░ рдХреЛ рдЖрдзрд╛ рдХрд░ рджреЗрдЧрд╛?
  1. рд╣рдорд╛рд░рд╛ dotnet/coreclr#1 рдЕрдм рддрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреЗрд╕ рдХрдВрд╕реЛрд▓ рдРрдкреНрд╕ рд╣реИ рдЬреЛ рдЙрдкрдпреЛрдЧрд┐рддрд╛рдУрдВ рд╣реИрдВред рд╣рдо рд╡рд┐рдВрдбреЛрдЬрд╝ рдпрд╛ рд▓рд┐рдирдХреНрд╕ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рдХрд╛рд╢рди рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдФрд░ рдПрдХ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП --single-file рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рд╡рд┐рдВрдбреЛрдЬрд╝ рдХреЗ рд▓рд┐рдП рд╣рдо рдЙрдореНрдореАрдж рдХрд░реЗрдВрдЧреЗ рдХрд┐ рдпрд╣ .exe рдореЗрдВ рд╕рдорд╛рдкреНрдд рд╣реЛ, рд▓рд┐рдирдХреНрд╕ рдХреЗ рд▓рд┐рдП, рдпрд╣ рдПрдХ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдмрд╛рдЗрдирд░реА рд╣реЛрдЧрд╛ред
  2. рдЖрдорддреМрд░ рдкрд░ рдирд╣реАрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдЕрдЬреНрдЮрд╛рдд NuGet рдкреИрдХреЗрдЬ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ
  3. рд╢реБрд░реБрдЖрдд рдореЗрдВ рдирд╣реАрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рднрд╡рд┐рд╖реНрдп рдХреА рдПрдХ рдмреЗрд╣рддрд░реАрди рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реЛрдЧреА
  4. рд╣рд╛рдВ
  5. рд╣рд╛рдВ
  6. рдЬреЛ рдХреБрдЫ рднреА рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ
  7. рд╣рд╛рдВ, рдЕрдЧрд░ рдпрд╣ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдХреЗ рдкрд░рд┐рдгрд╛рдореА рдЖрдХрд╛рд░ рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рддрд╛ рд╣реИред рдЖрджрд░реНрд╢ рд░реВрдк рд╕реЗ, --optimizing-level=5 . рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрдиреБрдХреВрд▓рди рд╕реНрддрд░ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдзреНрд╡рдЬ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ
  8. рд╣рд╛рдВ, рдПрдХ рд╕реАрдорд╛ рддрдХ

рдзрдиреНрдпрд╡рд╛рдж @BlitzkriegSoftwareред
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣рд╛рдВ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдбрд┐рдЬрд╛рдЗрди рдЖрдкрдХреЗ рдЙрдкрдпреЛрдЧ-рдорд╛рдорд▓реЗ рдХреЛ рдХрд╡рд░ рдХрд░рддрд╛ рд╣реИред рдХреГрдкрдпрд╛ рдбрд┐рдЬрд╝рд╛рдЗрди рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓реЗрдВ -- рд╣рдо рдЖрдкрдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХрд╛ рд╕реНрд╡рд╛рдЧрдд рдХрд░рддреЗ рд╣реИрдВред

рдореЗрд░реЗ рдкрд╛рд╕ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдкреНрд░рд╢реНрди рд╣реИрдВ рдЬреЛ рд╕рд┐рдВрдЧрд▓-рдлрд╛рдЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдЖрдкрдХреЗ рдЙрддреНрддрд░ рд╣рдореЗрдВ рдЕрдкрдиреЗ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЛ рд╕реАрдорд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдВрдЧреЗ:

  1. рдЖрдк рдХрд┐рд╕ рдкреНрд░рдХрд╛рд░ рдХреЗ рдРрдк рдХреЗ рд╕рд╛рде рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд░рдЦрддреЗ рд╣реИрдВ? (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рд╡рд┐рдВрдбреЛрдЬрд╝ рдкрд░ рдбрдмреНрд▓реНрдпреВрдкреАрдПрдл? рдПрдПрд╕рдкреА.рдиреЗрдЯ рдПрдХ рд▓рд┐рдирдХреНрд╕ рдбреЙрдХрд░ рдХрдВрдЯреЗрдирд░ рдореЗрдВ? рдХреБрдЫ рдФрд░?)
  2. рдХреНрдпрд╛ рдЖрдкрдХреЗ рдРрдк рдореЗрдВ (рдЧреИрд░-.NET) C++/рдореВрд▓ рдХреЛрдб рд╢рд╛рдорд┐рд▓ рд╣реИ?
  3. рдХреНрдпрд╛ рдЖрдкрдХрд╛ рдРрдк рдкреНрд▓рдЧрдЗрдиреНрд╕ рдпрд╛ рдЕрдиреНрдп рдмрд╛рд╣рд░реА рдбреАрдПрд▓рдПрд╕ рд▓реЛрдб рдХрд░реЗрдЧрд╛ рдЬрд┐рдиреНрд╣реЗрдВ рдЖрдкрдиреЗ рдореВрд▓ рд░реВрдк рд╕реЗ рдЕрдкрдиреЗ рдРрдк рдмрд┐рд▓реНрдб рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдерд╛?
  4. рдХреНрдпрд╛ рдЖрдк рд╕реБрд░рдХреНрд╖рд╛ рд╕реБрдзрд╛рд░реЛрдВ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рдРрдк рдХрд╛ рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг рдФрд░ рдкреБрдирд░реНрд╡рд┐рддрд░рдг рдХрд░рдиреЗ рдХреЗ рдЗрдЪреНрдЫреБрдХ рд╣реИрдВ?
  5. рдпрджрд┐ рдЖрдкрдХрд╛ рдРрдк 200-500 ms рдЕрдзрд┐рдХ рдзреАрдореА рдЧрддрд┐ рд╕реЗ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ рддреЛ рдХреНрдпрд╛ рдЖрдк рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ? 5 рд╕реЗрдХрдВрдб рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛?
  6. рдЖрдк рдЕрдкрдиреЗ рдРрдк рдХреЗ рд▓рд┐рдП рд╕реНрд╡реАрдХрд╛рд░реНрдп рд╕рдмрд╕реЗ рдмрдбрд╝рд╛ рдЖрдХрд╛рд░ рдХреНрдпрд╛ рдорд╛рдиреЗрдВрдЧреЗ? 5 рдПрдордмреА? 10? 20? 50? 75? 100?
  7. рдХреНрдпрд╛ рдЖрдк рдЖрдХрд╛рд░ рдФрд░/рдпрд╛ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рд╕рдордп рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд▓рдВрдмрд╛ рд░рд┐рд▓реАрдЬрд╝ рдмрд┐рд▓реНрдб рд╕рдордп рд╕реНрд╡реАрдХрд╛рд░ рдХрд░реЗрдВрдЧреЗ? рдЖрдк рд╕рдмрд╕реЗ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдХреНрдпрд╛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░реЗрдВрдЧреЗ? 15 рд╕реЗрдХрдВрдб? 30 рд╕реЗрдХрдВрдб? 1 рдорд┐рдирдЯ? 5 рдорд┐рдирдЯ?
  8. рдХреНрдпрд╛ рдЖрдк рдЕрддрд┐рд░рд┐рдХреНрдд рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рдЗрдЪреНрдЫреБрдХ рд╣реЛрдВрдЧреЗ рдпрджрд┐ рдпрд╣ рдЖрдкрдХреЗ рдРрдк рдХреЗ рдЖрдХрд╛рд░ рдХреЛ рдЖрдзрд╛ рдХрд░ рджреЗрдЧрд╛?
  1. рдбрдмреНрд▓реНрдпреВрдкреАрдПрдлред рдХреЛрд░ 3.0 рдРрдк
  2. рд╢рд╛рдпрдж рдПрдХ рдирдЧреЗрдЯ рдкреИрдХреЗрдЬ рдореЗрдВ
  3. рдирд╣реАрдВ
  4. рд╣рд╛рдВ
  5. рд╣рд╛рдБ рдЕрдзрд┐рдХрддрдо 200-500ms рдХреЗ рд▓рд┐рдП
  6. рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд╣реАрдВ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдореВрд▓ рдкреНрд░рдХрд╛рд╢рд┐рдд рдлрд╝реЛрд▓реНрдбрд░ рдХреЗ рдЖрдХрд╛рд░ рд╕реЗ 2 рдпрд╛ 3 рдЧреБрдирд╛ рдмрдбрд╝рд╛ рдирд╣реАрдВ рд╣реИ
  7. рдпрд╣ рдЙрддреНрдкрд╛рджрди рдХреЗ рд▓рд┐рдП рд╣реИ рдЗрд╕рд▓рд┐рдП рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд╣реАрдВ рд╣реИ
  8. рд╣рд╛рдВ, рд▓реЗрдХрд┐рди рдРрд╕рд╛ рдирд╣реАрдВ рдХрд░рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ, рдпрд╣ рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдпрджрд┐ рдХрд╛рд░реНрдп рдХрд┐рд╕реА рддреАрд╕рд░реЗ рдкрдХреНрд╖ рдХреЗ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИ

рдЖрдкрдХреЛ рдЬреЛ рдлреАрдбрдмреИрдХ рдорд┐рд▓рд╛ рд╡рд╣ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ 2019 рд╕реЗ рдкрд╣рд▓реЗ рд╡рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП рдерд╛, рдЬреЛ рдЖрдорддреМрд░ рдкрд░ рд╡реЗрдмрд╕рд░реНрд╡рд┐рд╕реЗрдЬ, рдХрдВрд╕реЛрд▓ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдФрд░ рдмреИрдХрдЧреНрд░рд╛рдЙрдВрдб рдореЗрдВ рд▓реЙрдиреНрдЪ рдХреА рдЧрдИ рдЕрдиреНрдп рд╕реЗрд╡рд╛рдПрдВ рд╣реИрдВред рд▓реЗрдХрд┐рди рдЕрдм .net core 3.0 рдХреЗ рд╕рд╛рде, рд╣рдореЗрдВ wpf рдФрд░ UI рдРрдкреНрд╕ рдХреЗ рд▓рд┐рдП рд╕рдорд╛рдзрд╛рди рдЪрд╛рд╣рд┐рдПред .Net Framework 4.8 .Net Standard 2.1 рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ рдФрд░ рд╣рдореЗрдВ ILMerge рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдорд╛рдзрд╛рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рд╣рдо рдЕрдм рддрдХ wpf рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рдереЗ рдХреНрдпреЛрдВрдХрд┐ рд╣рдореЗрдВ рдЕрдкрдиреЗ рдРрдкреНрд╕ рдХреЛ .net рдлреНрд░реЗрдорд╡рд░реНрдХ (рдбреЗрдб рдлреНрд░реЗрдорд╡рд░реНрдХ) рд╕реЗ .net рдХреЛрд░ рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдирд╛ рд╣реЛрддрд╛ рд╣реИред

рдЗрд╕ рддрд░рд╣ рдХреЗ рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреЗ рд▓рд┐рдП рдкрд╣рд▓реЗ рдЕрдиреНрдп рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рдмрддрд╛рдП рдЧрдП рдЕрдиреБрд╕рд╛рд░ рдПрдХ рд╕реНрд╡-рдирд┐рдХрд╛рд▓рдиреЗ рд╡рд╛рд▓рд╛ рдкреИрдХреЗрдЬ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рд╣реИред

  1. рдЬреНрдпрд╛рджрд╛рддрд░ рд╕реАрдПрд▓рдЖрдИ рдРрдкреНрд╕ред рдЫреЛрдЯреА рд╡рд┐рдВрдбреЛрдЬрд╝ рд╕реЗрд╡рд╛рдПрдВ рдФрд░ рд╕рд╛рдордпрд┐рдХ рдбрдмреНрд▓реНрдпреВрдкреАрдПрдл рдРрдк рднреА рджрд┐рд▓рдЪрд╕реНрдк рд╣реИрдВред рд╡реЗрдм рд╕рд╛рдордЧреНрд░реА рдХреЗ рд▓рд┐рдП, рдПрдХрд▓ рдлрд╝рд╛рдЗрд▓ рд╡рд┐рддрд░рдг рдореВрд▓ рд░реВрдк рд╕реЗ рдЕрдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд▓рдЧрддрд╛ рд╣реИред рдЗрд╕ рдХрд╛рд░рдг рд╕реЗ, рдЗрд╕рдХрд╛ рд╢реЗрд╖ рднрд╛рдЧ рдЕрдзрд┐рдХрддрд░ рд╡рд┐рдВрдбреЛрдЬрд╝-рдЙрдиреНрдореБрдЦ рд╣реИ; рд╣рдорд╛рд░реА Linux .NET рдореБрдЦреНрдп рд░реБрдЪрд┐ рд╡реЗрдм рд╕рд╛рдордЧреНрд░реА рдХреЗ рдЖрд╕рдкрд╛рд╕ рд╣реИред
  2. рдХрднреА - рдХрднреАред рдЬрдм рдРрд╕рд╛ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдпрд╣ рд▓рдЧрднрдЧ рд╣рдореЗрд╢рд╛ рд╕рдВрдкреАрдбрд╝рди рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╣реЛрддрд╛ рд╣реИред рдпрджрд┐ рджреЗрд╢реА рд╕рд╛рдорд╛рди рдкреИрдХ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛, рддреЛ рдпрд╣ рджреБрдирд┐рдпрд╛ рдХрд╛ рдЕрдВрдд рдирд╣реАрдВ рд╣реЛрддрд╛ред рд╢реБрджреНрдз рдкреНрд░рдмрдВрдзрд┐рдд рд╕рд╛рдордЧреНрд░реА рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдЪреНрдЫрд╛ рд╕рдорд╛рдзрд╛рди рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ рдбреАрдПрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рдореВрд▓ рдирд┐рд░реНрднрд░рддрд╛ рдХреА рддреИрдирд╛рддреА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдЙрд╕рдХреЗ рдкрд╛рд╕ рдЕрднреА рднреА рдореВрд▓реНрдп рд╣реЛрдЧрд╛ред
  3. рдирд╣реАрдВ, рдЙрди рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдирд╣реАрдВ рдЬрд╣рд╛рдВ рд╣рдо рдПрдХрд▓ рдлрд╝рд╛рдЗрд▓ рдХреА рдкрд░рд╡рд╛рд╣ рдХрд░рддреЗ рд╣реИрдВред
  4. рд╣рд╛рдВред
  5. рд╕реАрдПрд▓рдЖрдИ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЪреАрдЬреЛрдВ рдХреЛ рдкрд░реЗрд╢рд╛рди рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ 200ms рдореЛрдЯреЗ рддреМрд░ рдкрд░ рд╕реАрдорд╛ рд╣реИред > 1 рд╕реЗрдХрдВрдб рдФрд░ рд╣рдо рд▓рдЧрднрдЧ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ (ILMerge + ngen) рд╕реЗ рдЪрд┐рдкрдХреЗ рд░рд╣реЗрдВрдЧреЗ рдпрд╛ рдЕрдиреНрдп рднрд╛рд╖рд╛рдУрдВ рдХреЛ рджреЗрдЦреЗрдВрдЧреЗ рдЬреЛ рдХрд┐рд╕реА рднреА рдЖрд╡рд╢реНрдпрдХ рд░рдирдЯрд╛рдЗрдо рдХреЗ рд╕рд╛рде рдПрдХ рджреЗрд╢реА рдмрд╛рдЗрдирд░реА рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рд╕реНрдерд┐рд░ рд░реВрдк рд╕реЗ рдЬреБрдбрд╝реЗ рд╣реБрдП рд╣реИрдВред рдХрдИ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рд╣рдо рд╕рд╛рдорд╛рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рд╕реА # рдореЗрдВ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдХреНрдпреЛрдВрдХрд┐ рдПрдХ ilmerged, ngen-ed C# рдРрдк рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдпрдереЛрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЬрд▓реНрджреА рд╕реЗ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИред рдЗрдирдореЗрдВ рд╕реЗ рдХреБрдЫ рдЪреАрдЬреЗрдВ рдЬрдЯрд┐рд▓рддрд╛-рд╡рд╛рд░, рд╕реНрдХреНрд░рд┐рдкреНрдЯрд┐рдВрдЧ рднрд╛рд╖рд╛ рдореЗрдВ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдЪрд┐рдд рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЙрдирдореЗрдВ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рд▓рд╛рдЧрддреЗрдВ рд╣реЛрддреА рд╣реИрдВ, рдЦрд╛рд╕рдХрд░ рдпрджрд┐ рдЖрдкрдХреЛ рдореЙрдбреНрдпреВрд▓ рдХреЗ рд╕рдореВрд╣ рдХреЛ рдЦреАрдВрдЪрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред
  6. рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред рд╣реИрд▓реЛ рд╡рд░реНрд▓реНрдб рдХреЗ рд▓рд┐рдП 10 рдПрдордмреА рд╕реЗ рдЕрдзрд┐рдХ рдХреА рдмрд┐рдХреНрд░реА рдХрдард┐рди рд╣реЛрдЧреАред рд╡рд┐рд╢рд╛рд▓ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рднреА рдЧреИрд░-рддреБрдЪреНрдЫ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рд▓рд╛рдЧрдд рд░рдЦрддреЗ рд╣реИрдВред рднрд▓реЗ рд╣реА рдУрдПрд╕ рд╕реИрджреНрдзрд╛рдВрддрд┐рдХ рд░реВрдк рд╕реЗ рдкреВрд░реА рдЪреАрдЬ рдХреЛ рдкрдврд╝реЗ рдмрд┐рдирд╛ рдирд┐рд╖реНрдкрд╛рджрди рд╢реБрд░реВ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИ, рдХрдо рд╕реЗ рдХрдо рд╡рд┐рдВрдбреЛрдЬрд╝ рдкрд░, рд▓рдЧрднрдЧ рд╣рдореЗрд╢рд╛ рдХреБрдЫ рдРрд╕рд╛ рд╣реЛрддрд╛ рд╣реИ рдЬреЛ рдкрд╣рд▓реЗ рдХреБрдЫ рд╕реБрд░рдХреНрд╖рд╛-рдЖрд╢ рдЙрджреНрджреЗрд╢реНрдп рдХреЗ рд▓рд┐рдП рд╣реИрд╢ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИред рдЬрд┐рд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмреЛрд▓рддреЗ рд╣реБрдП, рдпрд╣ рдЕрди-рдкреИрдХ рдмрд╛рдпрдиреЗрд░рд┐рдЬрд╝ рдЯреВ рдЯреЗрдореНрдк рдЪреАрдЬрд╝ рдХрд╛ рдПрдХ рдЧреБрдЪреНрдЫрд╛ AV (рдбрд┐рдлреЗрдВрдбрд░ рдмрд┐рд▓реНрдХреБрд▓ рд╢рд╛рдорд┐рд▓) рдирдЯреНрд╕ рдХреЛ рдЪрд▓рд╛рдиреЗ рд╡рд╛рд▓рд╛ рд╣реИ, рд╕рдВрд╕рд╛рдзрди рдЙрдкрдпреЛрдЧ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рдЕрдЧрд░ рдХреБрдЫ рдФрд░ рдирд╣реАрдВ рддреЛ рд╕реНрдХреИрдирд┐рдВрдЧред
  7. рдЬрд╝рд░реВрд░ред рдореБрдЭреЗ рд░рд┐рд▓реАрдЬрд╝ рдмрд┐рд▓реНрдб рдореЗрдВ рдПрдХ рдорд┐рдирдЯ рдпрд╛ рдЕрдзрд┐рдХ рдЬреЛрдбрд╝рдиреЗ рдореЗрдВ рдЦреБрд╢реА рд╣реЛрдЧреА рдЕрдЧрд░ рдЗрд╕рдХрд╛ рдорддрд▓рдм рдХреБрдЫ рдРрд╕рд╛ рд╣реЛ рдЬреЛ рдЙрдЪрд┐рдд рдЖрдХрд╛рд░ рдХрд╛ рд╣реЛ рдФрд░ рдЬрд▓реНрджреА рд╕реЗ рдирд┐рд╖реНрдкрд╛рджрди рд╢реБрд░реВ рд╣реЛ рдЬрд╛рдПред
  8. рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗред

рдкреНрд░рд╕реНрддрд╛рд╡ рдХреЛ рдкрдврд╝рддреЗ рд╣реБрдП, рдпрд╣ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдореМрдЬреВрдж рдХрд┐рд╕реА рднреА рдкрд░рд┐рджреГрд╢реНрдп рдХреЛ рд╕рдВрдмреЛрдзрд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдФрд░ рд╣рдо рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗред рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдХреЛрдИ рдРрд╕рд╛ рд╡реНрдпрдХреНрддрд┐ рд╣реЛ рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдпрд╣ рдХрд┐рд╕реА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдХрд░рддрд╛ рд╣реЛ, рд▓реЗрдХрд┐рди рд╡рд╣ рд╣рдо рдирд╣реАрдВ рд╣реИрдВред

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдорд╛рд░реЗ рдЬреИрд╕реЗ рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рд╕рд╛рд░реА рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдЪреАрдЬреЗрдВ рд╣реИрдВ, рдЬрд┐рд╕ рдкрд░ рдХрд╛рдо рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ, рдмрд╕ рдПрдХ рдЯреВрд▓рдЪреЗрди рдореЗрдВ рдПрдХ рд╕рд╛рде рдирд╣реАрдВ рдЖрдпрд╛ рд╣реИ рдЬреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдкреНрд░рдпреЛрдЧ рдХрд░рдиреЗ рдпреЛрдЧреНрдп/рдХрд╛рдо рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦрдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИред рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдореЗрд░реА рдУрд░ рд╕реЗ рд╕рд┐рд░реНрдл рдЕрдЬреНрдЮрд╛рдирддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рдзреНрдпрд╛рди рджреЗрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИред ILLink, Microsoft.Packaging.Tools.Trimming, CoreRT, .NET рдиреЗрдЯрд┐рд╡ рдФрд░ рдЗрд╕ рдореБрджреНрджреЗ рдореЗрдВ рдЬреЛ рдХреБрдЫ рднреА рд╣реЛрддрд╛ рд╣реИ, рдХреЗ рдмреАрдЪ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдПрдХ рдкреЗрдбрд╝ рдХреЛ рд╣рд┐рд▓рд╛рдиреЗ, рддреНрд╡рд░рд┐рдд рд╢реБрд░реБрдЖрдд (рд╕рдВрднрд╡рддрдГ рдПрдУрдЯреА?), рдЙрдЪрд┐рдд рдЖрдХрд╛рд░ рдХреЗ рдмрд╛рдЗрдирд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред .NET рдХреЛрд░ рд╕реЗ рдмрд╛рд╣рд░ (рдФрд░ UWP рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ)ред

  1. рдПрдХрд▓ рдлрд╝рд╛рдЗрд▓ рд╡рд┐рддрд░рдг https://github.com/AvaloniaUI/Avalonia (Windows, Linux, MacOS) рдФрд░ WPF (Windows) рдРрдкреНрд╕ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧрд╛ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рд╕рд┐рдВрдЧрд▓ рдПрдХреНрд╕рдИ рд╣реЛрдиреЗ рд╕реЗ рдСрдЯреЛрдЕрдкрдбреЗрдЯреНрд╕ рдЖрд╕рд╛рди рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ, рдФрд░ рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░ рд╕реМ рдбреАрдПрд▓рдПрд╕ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рд╕рд┐рдВрдЧрд▓ рдлрд╛рдЗрд▓ рд░рдЦрдирд╛ рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реЛрддрд╛ рд╣реИред
  2. рд╣рд╛рдВ (рдЗрд╕ рдЕрд░реНрде рдореЗрдВ рдХрд┐ рдпрд╣ рд╕реНрдХреНрд▓рд╛рдЗрдЯ рдФрд░ рд╕реНрдХреА рдЬреИрд╕реЗ рджреЗрд╢реА libs рдХреЛ рдкреНрд░реАрдмрд┐рд▓реНрдб рдХрд░рддрд╛ рд╣реИ)
  3. рдирд╣реАрдВ
  4. рд╣рд╛рдВ
  5. 200ms рд╢рд╛рдпрдж рдареАрдХ рд╣реИред GUI рдРрдк рдХреЗ рд▓рд┐рдП 5s рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рд╕рдордп рдареАрдХ рдирд╣реАрдВ рд╣реИред
  6. рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛
  7. рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ред рд╣рдо рдХреЗрд╡рд▓ рдЙрддреНрдкрд╛рджрди рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХрд▓ рдлрд╝рд╛рдЗрд▓ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред
  8. рд╣рд╛рдВ

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

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

рдореИрдВ рдФрд░ рдЕрдзрд┐рдХ рд╕рд╣рдордд рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХрдИ рдЯреВрд▓ рдЙрдкрд▓рдмреНрдз рд╣реИрдВред

рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж @Safirion , @mattpwhite , @x2bool , @thegreatcoред
рдЗрдирдореЗрдВ рд╕реЗ, рдореБрдЭреЗ рдХрдИ рдЙрдкрдпреЛрдЧ рдкрд░рд┐рджреГрд╢реНрдп (рдХрдВрд╕реЛрд▓ рдРрдкреНрд╕, рдбрдмреНрд▓реНрдпреВрдкреАрдПрдл, рдЬреАрдпреВрдЖрдИ рдРрдкреНрд╕ рдЗрддреНрдпрд╛рджрд┐) рджрд┐рдЦрд╛рдИ рджреЗрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╕рдордЧреНрд░ рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдВ рд╕рдорд╛рди рд▓рдЧрддреА рд╣реИрдВ:

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

рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рдпреЗ рд╡реЗ рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдВ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рд╣рдордиреЗ рдбрд┐рдЬрд╝рд╛рдЗрди рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдореЗрдВ рд╕рдВрдмреЛрдзрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ рд╣реИред

рдХреГрдкрдпрд╛ рдкреИрдХ рдПрдВрдб рдПрдХреНрд╕рдЯреНрд░реЗрдХреНрдЯ рдЕрдкреНрд░реЛрдЪ рдХреЗ рд╕рд╛рде рди рдЬрд╛рдПрдВ

рд╣рд╛рдВ, рдЬреИрд╕рд╛ рдХрд┐ рдЗрд╕ рд╕реНрдЯреЗрдЬрд┐рдВрдЧ рдбреЙрдХ рдореЗрдВ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд▓рдХреНрд╖реНрдп рдлрд╝рд╛рдЗрд▓ рдирд┐рд╖реНрдХрд░реНрд╖рдг рдкрд░ рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рдЙрддреНрддрд░реЛрддреНрддрд░ рдХрдо рдХрд░рдирд╛ рд╣реИред

рдкреНрд░рд╕реНрддрд╛рд╡ рдХреЛ рдкрдврд╝рддреЗ рд╣реБрдП, рдпрд╣ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдореМрдЬреВрдж рдХрд┐рд╕реА рднреА рдкрд░рд┐рджреГрд╢реНрдп рдХреЛ рд╕рдВрдмреЛрдзрд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдФрд░ рд╣рдо рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗред

@mattpwhite , рдпрд╣ рд╕реНрдкрд╖реНрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ рдХрд┐ рдХреНрдпрд╛ рдЖрдкрдХреЛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕рдорд╛рдзрд╛рди рдЖрдкрдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ:

  • рдЗрд╕ рдХрд╛рд░реНрдп-рдордж рдореЗрдВ рдкрд╣рд▓реЗ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рд╕реНрд╡-рдирд┐рд╖реНрдХрд░реНрд╖рдг рдЖрдзрд╛рд░рд┐рдд рджреГрд╖реНрдЯрд┐рдХреЛрдг, рдпрд╛
  • рдЗрд╕ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдореЗрдВ рдиреЛрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдбрд┐рдЬрд╝рд╛рдЗрди
    рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛтАЛтАЛрд╣реИ рдХрд┐ рдмрд╛рдж рдХрд╛ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рд╡рд┐рд╕реНрддреГрдд рдкрд░рд┐рджреГрд╢реНрдп рдХреЛ рд╕рдВрдмреЛрдзрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддрд╛ рд╣реИред рдзрдиреНрдпрд╡рд╛рджред

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдорд╛рд░реЗ рдЬреИрд╕реЗ рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рд╕рд╛рд░реА рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдЪреАрдЬреЗрдВ рд╣реИрдВ, рдЬрд┐рд╕ рдкрд░ рдХрд╛рдо рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ, рдмрд╕ рдПрдХ рдЯреВрд▓рдЪреЗрди рдореЗрдВ рдПрдХ рд╕рд╛рде рдирд╣реАрдВ рдЖрдпрд╛ рд╣реИ рдЬреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдкреНрд░рдпреЛрдЧ рдХрд░рдиреЗ рдпреЛрдЧреНрдп/рдХрд╛рдо рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦрдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИред

@mattpwhite , ILLink (рдЯреНрд░реА-рд╢реЗрдХрд┐рдВрдЧ), рдХреНрд░реЙрд╕рдЬреЗрди (рд░реЗрдбреА-рдЯреВ-рд░рди рдиреЗрдЯрд┐рд╡ рдХреЛрдб рдЬрдирд░реЗрдЯ рдХрд░рдирд╛), рдФрд░ рд╕рд┐рдВрдЧрд▓-рдлрд╛рдЗрд▓ рдмрдВрдбрд▓рд┐рдВрдЧ рдкрд╣рд▓реБрдУрдВ рдХреЛ .net рдХреЛрд░ 3 рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реБрд╡реНрдпрд╡рд╕реНрдерд┐рдд рдлреИрд╢рди рдореЗрдВ msbuild/dotnet CLI рдореЗрдВ рдПрдХреАрдХреГрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдЪрд▓ рд░рд╣рд╛ рд╣реИред рдПрдХ рдмрд╛рд░ рдпрд╣ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрди рдЙрдкрдХрд░рдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЖрд╕рд╛рдиреА рд╕реЗ рдкреВрд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ (рдЙрджрд╛: рдХреБрдЫ рдПрдордПрд╕рдмрд┐рд▓реНрдб рдЧреБрдг рд╕реЗрдЯ рдХрд░рдирд╛)ред

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

@ рд╕реНрд╡рд░реВрдк-рд╢реНрд░реАрдзрд░, рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдордп рдирд┐рдХрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред

рд╕реНрдкрд╖реНрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ рдХрд┐ рдХреНрдпрд╛ рдЖрдкрдХреЛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕рдорд╛рдзрд╛рди рдЖрдкрдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ?

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

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

рд╣рд╛рдВ, рд╕рдордЭ рдЧрдпрд╛ рдХрд┐ рдЗрдирдореЗрдВ рд╕реЗ рдХреБрдЫ рджреЛрдзрд╛рд░реА рддрд▓рд╡рд╛рд░реЗрдВ рд╣реИрдВред рдЬрд┐рд╕ рддрд░рд╣ рд╕реЗ рдЬреЗрдЖрдИрдЯреА рдиреЗ рдкрд░рдВрдкрд░рд╛рдЧрдд рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд┐рдпрд╛ рд╣реИ, рдПрдирдЬреАрдПрди рд╣рдореЗрд╢рд╛ рд╕реАрдПрд▓рдЖрдИ/рдЬреАрдпреВрдЖрдИ рдРрдкреНрд╕ рдХреЗ рд▓рд┐рдП рдПрдХ рдЬреАрдд рд░рд╣рд╛ рд╣реИред рдпрд╣ рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рд╕реНрддрд░реАрдп рд╕рдВрдХрд▓рди рдХреЗ рдХреБрдЫ рд╕рдВрдпреЛрдЬрди рдФрд░ рдпрд╣ рддрдереНрдп рдХрд┐ рд░рдирдЯрд╛рдЗрдо рдХреЛ рд▓реЛрдб рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд░реВрдк рд╕реЗ рдЙрд╕реА рдмреЙрдХреНрд╕ рдкрд░ рдЪрд▓ рд░рд╣реА рдЕрдиреНрдп .NET Framework рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рджреНрд╡рд╛рд░рд╛ рдкрд░рд┐рд╢реЛрдзрд┐рдд рдирд╣реАрдВ рд╣реИ, рдХреЛрд░ рдкрд░ рдХрдо рд╕реНрдкрд╖реНрдЯ рдХрдЯреМрддреА рдХрд░рддрд╛ рд╣реИред

@ рд╕реНрд╡рд░реВрдк-рд╢реНрд░реАрдзрд░ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд╕реНрд╡реАрдХреГрдд рдкреНрд░рд╕реНрддрд╛рд╡ рдХреЗ рд╕рд╛рде рдореЗрд░реА рд╕рдмрд╕реЗ рдмрдбрд╝реА рдЪрд┐рдВрддрд╛ рдпрд╣ рдХрджрдо рд╣реИ

рд╢реЗрд╖ 216 рдлрд╛рдЗрд▓реЗрдВ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдкрд░ рдбрд┐рд╕реНрдХ рдкрд░ рдирд┐рдХрд╛рд▓реА рдЬрд╛рдПрдВрдЧреАред

рдЗрд╕ рддрдереНрдп рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХрд┐ "рд╣реИрд▓реЛ рд╡рд░реНрд▓реНрдб" рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП 216 рдлрд╛рдЗрд▓реЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдЙрдиреНрд╣реЗрдВ рдХрд┐рд╕реА рд╕реНрдерд╛рди рдкрд░ рдбрд┐рд╕реНрдХ рдкрд░ рдирд┐рдХрд╛рд▓рдиреЗ рд╕реЗ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рд╣рдЯрд╛рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдЬрдм рд▓реЛрдЧ рдХрд┐рд╕реА рдРрд╕реЗ рдЯреВрд▓ рдХреЛ рд╣рдЯрд╛рддреЗ рд╣реИрдВ рдЬреЛ рдЗрдВрд╕реНрдЯреЙрд▓рд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдирд╣реАрдВ рдЖрдпрд╛ рд╣реИ, рддреЛ рд╡реЗ рдЗрд╕реЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдиреНрдп рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рдЦреЛрдЬ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд░рдЦрддреЗ рд╣реИрдВред

рдЖрдИрдПрдордПрдЪрдУ, рд╣рдореЗрдВ рдЧреЛрд▓рдВрдЧ рдХреЗ рд╕рдорд╛рди рдкреНрд░рдХрд╛рд╢рд┐рдд рдЕрдиреБрднрд╡ рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЧреЛрд▓рдВрдЧ рдЕрдиреБрднрд╡ рд╕реЗ рдкреВрд░реА рддрд░рд╣ рдореЗрд▓ рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ crossgen рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА (рдФрд░ рдХреЛрдИ рддрд░реНрдХ рджреЗ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ 1:1 рдореИрдЪ рдПрдХ _good_ рдЪреАрдЬ рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╣рдо рдЬреЗрдЖрдИрдЯреА рдФрд░ рд╕реНрддрд░реАрдп рд╕рдВрдХрд▓рди рд╕реЗ рд╣рд╛рд░ рдЬрд╛рддреЗ рд╣реИрдВ), рдП рдЗрд╕рдХреЗ рдмрд┐рдирд╛ рдЕрдЪреНрдЫрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣рд╛рд╕рд┐рд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдореИрдВрдиреЗ рдПрдХ рд╕рдорд╛рди рдЕрдиреБрднрд╡ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд░реНрд╖реЛрдВ рдореЗрдВ рдХрдИ рдЙрдкрдХрд░рдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рд╣реИ, рдФрд░ рдЕрд╕реЗрдВрдмрд▓реА рд▓реЛрдбрд░ рдкрд░ рд╣реБрдХ рдХреЗ рд╕рд╛рде рд╕рдмрд╕реЗ рдкреНрд░рднрд╛рд╡реА рдПрдореНрдмреЗрдбреЗрдб рд╕рдВрд╕рд╛рдзрди рдереЗ (ILMerge рдирдХрдЪрдврд╝рд╛ рдерд╛ рдФрд░ рдХреЛрд╕реНрдЯреБрд░рд╛ред рдлреЛрдбреА рдЕрднреА рддрдХ рдореМрдЬреВрдж рдирд╣реАрдВ рдерд╛)ред рдкреНрд░рд╕реНрддрд╛рд╡ рдореЗрдВ рдЬреЛ рд╡рд░реНрдгрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рд╡рд╣ рдЙрд╕ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рджреЛрд╣рд░рд╛рддрд╛ рднреА рдирд╣реАрдВ рд╣реИред .NET Core рдХрд╛ рднрд╡рд┐рд╖реНрдп рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдордЬрдмреВрдд рд╣реИ, рд▓реЗрдХрд┐рди рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдЯреВрд▓реНрд╕ рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рддрдм рддрдХ рд╕реАрдорд┐рдд рд╣реИ рдЬрдм рддрдХ рд╣рдореЗрдВ рд▓рдЧрднрдЧ 100 рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рдЦреЛрдирд╛ рдкрдбрд╝рддрд╛ рд╣реИ рдпрд╛ рдбрд┐рд╕реНрдХ рдкрд░ рдХрд╣реАрдВ рд╣рд╛рде рд╕реЗ рд▓рд╣рд░рд╛рддреЗ рдмреВрдЯрд╕реНрдЯреНрд░реИрдк рдХреЛрдб рдХреЗ рд╕рд╛рде рдереВрдХрдирд╛ рдкрдбрд╝рддрд╛ рд╣реИред

рдореЗрд░рд╛ dotnet/coreclr#1 рдЙрдкрдпреЛрдЧ рдХрд╛ рдорд╛рдорд▓рд╛ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдЙрдкрдпреЛрдЧрд┐рддрд╛рдУрдВ рд╣реИ, рдПрдХ рдлрд╝рд╛рдЗрд▓, рдХреЛрдИ рдирд┐рд╖реНрдХрд░реНрд╖рдг рдореЗрд░реА рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдирд╣реАрдВ рд╣реЛрдЧреАред рд▓реЗрдХрд┐рди рдореИрдВ рдпрд╣ рдмрддрд╛рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ рдХрд┐ рдХрдорд╛рдВрдб рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рд╡рд┐рдХрд▓реНрдк рджреЗрдирд╛ рдСрд▓-рдЗрди-рд╡рди рдмрдирд╛рдо рдСрд▓-рдЗрди-рд╡рди-рд╕реЗрд▓реНрдл-рдПрдХреНрд╕рдЯреНрд░реИрдХреНрдЯрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рд┐рдЪ рдХрд░рддрд╛ рд╣реИред рд╕реНрд╡рдпрдВ рдирд┐рдХрд╛рд▓рдиреЗ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдЗрд╕рдореЗрдВ undo рд╢рд╛рдорд┐рд▓ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреЛ рдЕрдирдкреЕрдХ рдХреА рдЧрдИ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╕рд╛рдлрд╝ рдХрд░рддрд╛ рд╣реИред рдкрд╣рд▓реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХреЛ рд╣рдЯрд╛рдиреЗ рдХрд╛ рдЕрд░реНрде рд╣реИ рдПрдХ рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╣рдЯрд╛рдирд╛ рдЬреЛ рдЗрд╕реЗ рд╕рд╛рдорд╛рдиреНрдп рдЙрдкрдпреЛрдЧрд┐рддрд╛рдУрдВ рдХреЗ рдПрдХ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд░рд╣рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рдмрдирд╛рддрд╛ рд╣реИ, рдЬрд╣рд╛рдВ-рджреВрд╕рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд╛ рдЕрдкрдирд╛ рдлрд╝реЛрд▓реНрдбрд░ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рддрд╛рдХрд┐ рд╕рдлрд╛рдИ рдХреЛ рдЖрд╕рд╛рди рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХреЗ, рдФрд░ рдЗрд╕рд╕реЗ рдмрдЪрд╛ рдЬрд╛ рд╕рдХреЗ рдкрд░рд┐рджреГрд╢реНрдп рдЬрд╣рд╛рдВ рдЕрдирдЗрдВрд╕реНрдЯреЙрд▓ рд╕рд╛рдЭрд╛ рдХреА рдЧрдИ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╣рдЯрд╛ рджреЗрддрд╛ рд╣реИред рдмрд╕ рдХреБрдЫ рд╡рд┐рдЪрд╛рд░ред рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдХрд╣рд╛, рдПрдХ рдлрд╝рд╛рдЗрд▓ рдЙрдкрдпреЛрдЧрд┐рддрд╛ (рдХреЛрдИ рдЗрдВрд╕реНрдЯреЙрд▓ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ), рдореЗрд░рд╛ рдкреНрд░рд╛рдердорд┐рдХ рдЙрдкрдпреЛрдЧ рдорд╛рдорд▓рд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧрд┐рддрд╛рдУрдВ (рдПрдХ рдЙрдкрдХрд░рдг-рд╕реНрдорд┐рде рдХреЗ рд░реВрдк рдореЗрдВ) рдЕрдХреНрд╕рд░ рдмрдирд╛рддрд╛ рд╣реВрдВред рд▓реЗрдХрд┐рди рдореИрдВ рджреЛрдиреЛрдВ рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд╛ рдорд╛рдорд▓рд╛ рджреЗрдЦ рд╕рдХрддрд╛ рд╣реВрдВред рд▓реЗрдХрд┐рди рд╡реЗ рдЕрд▓рдЧ рд╣реИрдВред

рдореЗрд░реЗ рдкрд╛рд╕ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдкреНрд░рд╢реНрди рд╣реИрдВ рдЬреЛ рд╕рд┐рдВрдЧрд▓-рдлрд╛рдЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдЖрдкрдХреЗ рдЙрддреНрддрд░ рд╣рдореЗрдВ рдЕрдкрдиреЗ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЛ рд╕реАрдорд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдВрдЧреЗ:

  1. рдЖрдк рдХрд┐рд╕ рдкреНрд░рдХрд╛рд░ рдХреЗ рдРрдк рдХреЗ рд╕рд╛рде рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд░рдЦрддреЗ рд╣реИрдВ? (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рд╡рд┐рдВрдбреЛрдЬрд╝ рдкрд░ рдбрдмреНрд▓реНрдпреВрдкреАрдПрдл? рдПрдПрд╕рдкреА.рдиреЗрдЯ рдПрдХ рд▓рд┐рдирдХреНрд╕ рдбреЙрдХрд░ рдХрдВрдЯреЗрдирд░ рдореЗрдВ? рдХреБрдЫ рдФрд░?)
  2. рдХреНрдпрд╛ рдЖрдкрдХреЗ рдРрдк рдореЗрдВ (рдЧреИрд░-.NET) C++/рдореВрд▓ рдХреЛрдб рд╢рд╛рдорд┐рд▓ рд╣реИ?
  3. рдХреНрдпрд╛ рдЖрдкрдХрд╛ рдРрдк рдкреНрд▓рдЧрдЗрдиреНрд╕ рдпрд╛ рдЕрдиреНрдп рдмрд╛рд╣рд░реА рдбреАрдПрд▓рдПрд╕ рд▓реЛрдб рдХрд░реЗрдЧрд╛ рдЬрд┐рдиреНрд╣реЗрдВ рдЖрдкрдиреЗ рдореВрд▓ рд░реВрдк рд╕реЗ рдЕрдкрдиреЗ рдРрдк рдмрд┐рд▓реНрдб рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдерд╛?
  4. рдХреНрдпрд╛ рдЖрдк рд╕реБрд░рдХреНрд╖рд╛ рд╕реБрдзрд╛рд░реЛрдВ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рдРрдк рдХрд╛ рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг рдФрд░ рдкреБрдирд░реНрд╡рд┐рддрд░рдг рдХрд░рдиреЗ рдХреЗ рдЗрдЪреНрдЫреБрдХ рд╣реИрдВ?
  5. рдпрджрд┐ рдЖрдкрдХрд╛ рдРрдк 200-500 ms рдЕрдзрд┐рдХ рдзреАрдореА рдЧрддрд┐ рд╕реЗ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ рддреЛ рдХреНрдпрд╛ рдЖрдк рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ? 5 рд╕реЗрдХрдВрдб рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛?
  6. рдЖрдк рдЕрдкрдиреЗ рдРрдк рдХреЗ рд▓рд┐рдП рд╕реНрд╡реАрдХрд╛рд░реНрдп рд╕рдмрд╕реЗ рдмрдбрд╝рд╛ рдЖрдХрд╛рд░ рдХреНрдпрд╛ рдорд╛рдиреЗрдВрдЧреЗ? 5 рдПрдордмреА? 10? 20? 50? 75? 100?
  7. рдХреНрдпрд╛ рдЖрдк рдЖрдХрд╛рд░ рдФрд░/рдпрд╛ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рд╕рдордп рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд▓рдВрдмрд╛ рд░рд┐рд▓реАрдЬрд╝ рдмрд┐рд▓реНрдб рд╕рдордп рд╕реНрд╡реАрдХрд╛рд░ рдХрд░реЗрдВрдЧреЗ? рдЖрдк рд╕рдмрд╕реЗ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдХреНрдпрд╛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░реЗрдВрдЧреЗ? 15 рд╕реЗрдХрдВрдб? 30 рд╕реЗрдХрдВрдб? 1 рдорд┐рдирдЯ? 5 рдорд┐рдирдЯ?
  8. рдХреНрдпрд╛ рдЖрдк рдЕрддрд┐рд░рд┐рдХреНрдд рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рдЗрдЪреНрдЫреБрдХ рд╣реЛрдВрдЧреЗ рдпрджрд┐ рдпрд╣ рдЖрдкрдХреЗ рдРрдк рдХреЗ рдЖрдХрд╛рд░ рдХреЛ рдЖрдзрд╛ рдХрд░ рджреЗрдЧрд╛?
  1. рд╕реАрдПрд▓рдЖрдИ (рд╡рд┐рдВрдбреЛрдЬрд╝, рд▓рд┐рдирдХреНрд╕, рдореИрдХреЛрдЬрд╝), рдбрдмреНрд▓реНрдпреВрдкреАрдПрдл рдФрд░ рд╡рд┐рдирдлреЙрд░реНрдоред
  2. рдХрднреА - рдХрднреАред
  3. рд╣рд╛рдВ, рдХрдИ рдмрд╛рд░ рдФрд░ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рдкрд░рд┐рджреГрд╢реНрдп рдХреЛ рд╕рдВрдмреЛрдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдПрдХ рдкреНрд▓рдЧрдЗрди рдореБрдЦреНрдп рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реЗ рд╕рд╛рдЭрд╛ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдкреБрди: рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реИ!
  4. рд╣рд╛рдВред
  5. 200-500ms рдареАрдХ рд╣реИрдВ!
  6. рдХрдИ рдирд┐рд░реНрднрд░рддрд╛рдУрдВ рдХреЗ рдмрд┐рдирд╛ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рд╕реАрдПрд▓рдЖрдИ рдЖрд╡реЗрджрди рдХреЗ рд▓рд┐рдП, 10 рдПрдордмреА рдкрд░реНрдпрд╛рдкреНрдд (рд╕рдВрдкреАрдбрд╝рд┐рдд) рд╣реИ!
  7. рд╣рд╛рдБ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ! рдмрд┐рд▓реНрдб рдЯрд╛рдЗрдо (рд╡рд┐рд╢реЗрд╖рдХрд░ рд░рд┐рд▓реАрдЬрд╝ рдмрд┐рд▓реНрдб рдХреЗ рд▓рд┐рдП!) рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛! рд╕рдВрдкреАрдбрд╝рди рдЖрдХрд╛рд░ рдФрд░/рдпрд╛ рдПрдХрд▓ рдлрд╝рд╛рдЗрд▓ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рд┐рдЪ рд╡реИрдХрд▓реНрдкрд┐рдХ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП!
  8. рд╣рд╛рдБ рдЬреИрд╕реЗ рдХреЛрд░рдЖрд░рдЯреА!

рдЖрдИрдПрдордПрдЪрдУ, рд╣рдореЗрдВ рдЧреЛрд▓рдВрдЧ рдХреЗ рд╕рдорд╛рди рдкреНрд░рдХрд╛рд╢рд┐рдд рдЕрдиреБрднрд╡ рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

@thegreatco : рд╣рд╛рдВ, рд╕рд┐рдВрдЧрд▓-рдлрд╛рдЗрд▓ рдРрдкреНрд╕ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рджреЗрд╢реА рдХреЛрдб рдХрд╛ рдкреВрд░реНрдг рд╕рдВрдХрд▓рди рдПрдХ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдХрд▓реНрдк рд╣реИред GO рдЬреИрд╕реА рднрд╛рд╖рд╛рдПрдВ рдЙрдирдХреЗ рдкреНрд░рд╛рдердорд┐рдХ рдореЙрдбрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдордп рд╕реЗ рдкрд╣рд▓реЗ (AOT) рд╕рдВрдХрд▓рди рдХреЗ рд╕рд╛рде рдмрдирд╛рдИ рдЧрдИ рд╣реИрдВ - рдЬреЛ JIT рд╕рдВрдХрд▓рди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдЧрддрд┐рд╢реАрд▓ рднрд╛рд╖рд╛ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдкрд░ рдХреБрдЫ рд╕реАрдорд╛рдУрдВ рдХреЗ рд╕рд╛рде рдЖрддреА рд╣реИред

CoreRT AOT рд╕рдВрдХрд▓рд┐рдд рдРрдкреНрд╕ рдХреЗ рд▓рд┐рдП .Net Core рд╕рдорд╛рдзрд╛рди рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЬрдм рддрдХ CoreRT рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реИ, рд╣рдо рдЗрд╕ рдореБрджреНрджреЗ рдореЗрдВ рдЕрдиреНрдп рдорд╛рдзреНрдпрдореЛрдВ рд╕реЗ рдПрдХрд▓-рдлрд╝рд╛рдЗрд▓ рдРрдкреНрд╕ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд░рд╣реЗ рд╣реИрдВред

рдЗрд╕ рддрдереНрдп рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХрд┐ "рд╣реИрд▓реЛ рд╡рд░реНрд▓реНрдб" рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП 216 рдлрд╛рдЗрд▓реЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ,

рд╣реИрд▓реЛрд╡рд░реНрд▓реНрдб рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдлрд╛рдЗрд▓реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд╡рд┐рдХрд▓реНрдк рдЙрдкрд▓рдмреНрдз рд╣реИрдВ"

  • рдПрдХ рдлреНрд░реЗрдорд╡рд░реНрдХ-рдбрд┐рдкреЗрдВрдбреЗрдВрдЯ рдРрдк рдмрдирд╛рдПрдВ, рдЬрд┐рд╕рдореЗрдВ рдХреЗрд╡рд▓ 3-4 рдлрд╛рдЗрд▓реЛрдВ рдХреА рдЬрд░реВрд░рдд рд╣реЛ
  • рдпрджрд┐ рд╣рдореЗрдВ рд╕реНрд╡-рдирд┐рд╣рд┐рдд рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдлрд╝рд╛рдЗрд▓ рдирд┐рд░реНрднрд░рддрд╛ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП ILLinker рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ

рдЙрдиреНрд╣реЗрдВ рдХрд┐рд╕реА рд╕реНрдерд╛рди рдкрд░ рдбрд┐рд╕реНрдХ рдкрд░ рдирд┐рдХрд╛рд▓рдиреЗ рд╕реЗ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдирд┐рдХрд╛рд▓рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред

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

рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг @mattpwhite рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред

рд╣рд╛рдВ, рдлреАрдЪрд░ рдбреЗрд╡рд▓рдкрдореЗрдВрдЯ рдХреЗ рдмрд╛рдж рдХреЗ рдЪрд░рдгреЛрдВ рддрдХ, рд╕реНрд╡-рдирд┐рд╣рд┐рдд рдРрдкреНрд╕ рдбрд┐рд╕реНрдХ рд╕реЗ рдирд┐рдХрд╛рд▓реА рдЧрдИ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рджреЗрдЦреЗрдВрдЧреЗред рдЖрдк рдЙрдкрд░реЛрдХреНрдд рдЯрд┐рдкреНрдкрдгреА рдореЗрдВ рдореЗрд░реЗ рджреНрд╡рд╛рд░рд╛ рд▓рд┐рдЦреА рдЧрдИ рдХреБрдЫ рддрдХрдиреАрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рдЖрдкрдХреЗ рдРрдкреНрд╕ рдХреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╕реБрдзрд╛рд░ рд╣реЛ рд╕рдХреЗред

рдЖрдкрдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж @BlitzkriegSoftwareред

рд▓реЗрдХрд┐рди рдореИрдВ рдпрд╣ рдмрддрд╛рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ рдХрд┐ рдХрдорд╛рдВрдб рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рд╡рд┐рдХрд▓реНрдк рджреЗрдирд╛ рдСрд▓-рдЗрди-рд╡рди рдмрдирд╛рдо рдСрд▓-рдЗрди-рд╡рди-рд╕реЗрд▓реНрдл-рдПрдХреНрд╕рдЯреНрд░реИрдХреНрдЯрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рд┐рдЪ рдХрд░рддрд╛ рд╣реИ

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

<propertygroup>
    <SingleFileExtract> Never | Always | AsNeeded </SingleFileExtract>
</propertygroup>

рдпрд╣рд╛рдБ рд╕рдордЭ рдпрд╣ рд╣реИ: SingleFileExtract=Never рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рддреЗ рд╕рдордп, рдпрджрд┐ рдРрдк рдореЗрдВ рдРрд╕реА рдлрд╝рд╛рдЗрд▓реЗрдВ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдХреЗрд╡рд▓ рдирд┐рд╖реНрдХрд░реНрд╖рдг (рдореВрд▓ рдмрд╛рдпрдиреЗрд░рд┐рдЬрд╝) рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рддреЛ рдПрдХрд▓-рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рдирд╛ рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред

рд╕реНрд╡рдпрдВ рдирд┐рдХрд╛рд▓рдиреЗ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдЗрд╕рдореЗрдВ рдПрдХ рдкреВрд░реНрд╡рд╡рдд рд╢рд╛рдорд┐рд▓ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреЛ рдЕрдирдкреЕрдХ рдХреА рдЧрдИ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╕рд╛рдлрд╝ рдХрд░рддрд╛ рд╣реИред

рдЙрдЪрд┐рдд рд▓рдЧрддрд╛ рд╣реИред рдирд┐рд╖реНрдХрд░реНрд╖рдг рдХрд╛ рд╕рдЯреАрдХ рд╕реНрдерд╛рди (рдпрджрд┐ рдХреЛрдИ рд╣реЛ) рдирд┐рдпрддрд╛рддреНрдордХ рдФрд░ рд╡рд┐рдиреНрдпрд╛рд╕ рдпреЛрдЧреНрдп рд╣реИред рдЗрд╕рд▓рд┐рдП, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдРрдк рдФрд░ рдЙрд╕рдХреА рд╕рднреА рдирд┐рдХрд╛рд▓реА рдЧрдИ рдирд┐рд░реНрднрд░рддрд╛рдУрдВ рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╣реЛ рд╕рдХрддреА рд╣реИред

рдЖрдкрдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж @DoCodeред рдЖрдкрдХрд╛ рдкрд░рд┐рджреГрд╢реНрдп рджрд┐рд▓рдЪрд╕реНрдк рд╣реИ рдХрд┐ рдпрд╣ рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред
рдпрджрд┐ рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХреА рдХреБрдЫ рдирд┐рд░реНрднрд░рддрд╛рдПрдБ рд╣реИрдВ (рдЬреЛ рдореБрдЦреНрдп рдРрдк рдХреЗ рд╕рд╛рде рд╕рд╛рдЭрд╛ рдирд╣реАрдВ рдХреА рдЬрд╛рддреА рд╣реИрдВ), рддреЛ рдХреНрдпрд╛ рдЖрдкрдХреЛ рдкреНрд▓рдЧрдЗрди рдХреЛ рдПрдХрд▓-рдлрд╝рд╛рдЗрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рднреА рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП/рдкрд╕рдВрдж рдХрд░рдирд╛ рд╣реЛрдЧрд╛ (рдирд┐рд░реНрднрд░рддрд╛ рдПрдореНрдмреЗрдбреЗрдб рдХреЗ рд╕рд╛рде)? рдзрдиреНрдпрд╡рд╛рджред

рд╣рд╛рдБ @ рд╕реНрд╡рд░реВрдк-рд╢реНрд░реАрдзрд░, рдпрд╣реА рд▓рдХреНрд╖реНрдп рд╣реИред рд╣рдореЗрдВ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдкреНрд▓рдЧрдЗрди рдХреЛ рдЙрдирдХреА рдирд┐рд░реНрднрд░рддрд╛рдПрдВ рдПрдореНрдмреЗрдб рдХрд░рдиреА рдЪрд╛рд╣рд┐рдПред рдХреЗрд╡рд▓ рд╕рд╛рдЭрд╛ рдирд┐рд░реНрднрд░рддрд╛рдПрдБ рдПрдХрд▓-рдлрд╝рд╛рдЗрд▓ рдореБрдЦреНрдп рдРрдк рд╕реЗ рдмрд╛рд╣рд░ рд░рд╣рдиреА рдЪрд╛рд╣рд┐рдП рдереАрдВред

рдЖрдЬ, @madskristensen рдиреЗ рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рдФрд░ рд▓реЛрдХрдкреНрд░рд┐рдп Newtonsoft.Json NuGet рдкреИрдХреЗрдЬ рдХреЗ рд╕рд╛рде рдПрдХ рдЕрдЪреНрдЫрд╛ рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рд╕рд╛рдЭрд╛ рдХрд┐рдпрд╛ред

рд╣рдо рдПрдХ рд╣реА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдПрдХ рд╣реА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдХрднреА рдХрднреА!

рдзрдиреНрдпрд╡рд╛рдж @DoCodeред рдПрдХ рдмрд╛рд░ рд╕рд┐рдВрдЧрд▓-рдлрд╛рдЗрд▓ рдРрдкреНрд╕ рд▓рд╛рдЧреВ рд╣реЛрдиреЗ рдФрд░ рд╕реНрдерд┐рд░ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдо рд╕рд┐рдВрдЧрд▓-рдлрд╛рдЗрд▓ рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХреА рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рдкрддреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛рддреЗ рд╣реИрдВред рдбрд┐рдЬрд╝рд╛рдЗрди рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдпрд╣рд╛рдБ рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рддрд╛ рд╣реИред

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

  1. рдЖрдк рдХрд┐рд╕ рдкреНрд░рдХрд╛рд░ рдХреЗ рдРрдк рдХреЗ рд╕рд╛рде рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд░рдЦрддреЗ рд╣реИрдВ? (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рд╡рд┐рдВрдбреЛрдЬрд╝ рдкрд░ рдбрдмреНрд▓реНрдпреВрдкреАрдПрдл? рдПрдПрд╕рдкреА.рдиреЗрдЯ рдПрдХ рд▓рд┐рдирдХреНрд╕ рдбреЙрдХрд░ рдХрдВрдЯреЗрдирд░ рдореЗрдВ? рдХреБрдЫ рдФрд░?)
    - рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдЙрдкрдпреЛрдЧрд┐рддрд╛рдУрдВ (рдХрдВрд╕реЛрд▓ рдРрдкреНрд╕)
  2. рдХреНрдпрд╛ рдЖрдкрдХреЗ рдРрдк рдореЗрдВ (рдЧреИрд░-.NET) C++/рдореВрд▓ рдХреЛрдб рд╢рд╛рдорд┐рд▓ рд╣реИ?
    -- рдирд╣реАрдВ
  3. рдХреНрдпрд╛ рдЖрдкрдХрд╛ рдРрдк рдкреНрд▓рдЧрдЗрдиреНрд╕ рдпрд╛ рдЕрдиреНрдп рдмрд╛рд╣рд░реА рдбреАрдПрд▓рдПрд╕ рд▓реЛрдб рдХрд░реЗрдЧрд╛ рдЬрд┐рдиреНрд╣реЗрдВ рдЖрдкрдиреЗ рдореВрд▓ рд░реВрдк рд╕реЗ рдЕрдкрдиреЗ рдРрдк рдмрд┐рд▓реНрдб рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдерд╛?
    -- рдЖрдорддреМрд░ рдкрд░ рдирд╣реАрдВ
  4. рдХреНрдпрд╛ рдЖрдк рд╕реБрд░рдХреНрд╖рд╛ рд╕реБрдзрд╛рд░реЛрдВ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рдРрдк рдХрд╛ рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг рдФрд░ рдкреБрдирд░реНрд╡рд┐рддрд░рдг рдХрд░рдиреЗ рдХреЗ рдЗрдЪреНрдЫреБрдХ рд╣реИрдВ?
    -- рд╣рд╛рдВ
  5. рдпрджрд┐ рдЖрдкрдХрд╛ рдРрдк 200-500 ms рдЕрдзрд┐рдХ рдзреАрдореА рдЧрддрд┐ рд╕реЗ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ рддреЛ рдХреНрдпрд╛ рдЖрдк рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ? 5 рд╕реЗрдХрдВрдб рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛?
    -- <1 рд╕реЗрдХрдВрдб рдореЗрд░реА рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рд╣реЛрдЧреА
  6. рдЖрдк рдЕрдкрдиреЗ рдРрдк рдХреЗ рд▓рд┐рдП рд╕реНрд╡реАрдХрд╛рд░реНрдп рд╕рдмрд╕реЗ рдмрдбрд╝рд╛ рдЖрдХрд╛рд░ рдХреНрдпрд╛ рдорд╛рдиреЗрдВрдЧреЗ? 5 рдПрдордмреА? 10? 20? 50? 75? 100?
    -- рдЖрдХрд╛рд░ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд╣реАрдВ рд╣реИ
  7. рдХреНрдпрд╛ рдЖрдк рдЖрдХрд╛рд░ рдФрд░/рдпрд╛ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рд╕рдордп рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд▓рдВрдмрд╛ рд░рд┐рд▓реАрдЬрд╝ рдмрд┐рд▓реНрдб рд╕рдордп рд╕реНрд╡реАрдХрд╛рд░ рдХрд░реЗрдВрдЧреЗ? рдЖрдк рд╕рдмрд╕реЗ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдХреНрдпрд╛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░реЗрдВрдЧреЗ? 15 рд╕реЗрдХрдВрдб? 30 рд╕реЗрдХрдВрдб? 1 рдорд┐рдирдЯ? 5 рдорд┐рдирдЯ?
    -- 30 рд╕реЗрдХрдВрдб
  8. рдХреНрдпрд╛ рдЖрдк рдЕрддрд┐рд░рд┐рдХреНрдд рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рдЗрдЪреНрдЫреБрдХ рд╣реЛрдВрдЧреЗ рдпрджрд┐ рдпрд╣ рдЖрдкрдХреЗ рдРрдк рдХреЗ рдЖрдХрд╛рд░ рдХреЛ рдЖрдзрд╛ рдХрд░ рджреЗрдЧрд╛?
    - рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЕрдЧрд░ рдЗрд╕реЗ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдпрд╛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ

1 - рдЖрдк рдХрд┐рд╕ рддрд░рд╣ рдХреЗ рдРрдк рдХреЗ рд╕рд╛рде рдЗрд╕рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ? (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рд╡рд┐рдВрдбреЛрдЬрд╝ рдкрд░ рдбрдмреНрд▓реНрдпреВрдкреАрдПрдл? рдПрдПрд╕рдкреА.рдиреЗрдЯ рдПрдХ рд▓рд┐рдирдХреНрд╕ рдбреЙрдХрд░ рдХрдВрдЯреЗрдирд░ рдореЗрдВ? рдХреБрдЫ рдФрд░?)

  • рдЦреЗрд▓
  • рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдЯреВрд▓реНрд╕

2 - рдХреНрдпрд╛ рдЖрдкрдХреЗ рдРрдк рдореЗрдВ (рдЧреИрд░-.NET) C++/рдореВрд▓ рдХреЛрдб рд╢рд╛рдорд┐рд▓ рд╣реИ?

рд╣рд╛рдВ

3 - рдХреНрдпрд╛ рдЖрдкрдХрд╛ рдРрдк рдкреНрд▓рдЧрдЗрдиреНрд╕ рдпрд╛ рдЕрдиреНрдп рдмрд╛рд╣рд░реА рдбреАрдПрд▓рдПрд╕ рд▓реЛрдб рдХрд░реЗрдЧрд╛ рдЬрд┐рдиреНрд╣реЗрдВ рдЖрдкрдиреЗ рдореВрд▓ рд░реВрдк рд╕реЗ рдЕрдкрдиреЗ рдРрдк рдмрд┐рд▓реНрдб рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдерд╛?

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

4 - рдХреНрдпрд╛ рдЖрдк рд╕реБрд░рдХреНрд╖рд╛ рд╕реБрдзрд╛рд░реЛрдВ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рдРрдк рдХрд╛ рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг рдФрд░ рдкреБрдирд░реНрд╡рд┐рддрд░рдг рдХрд░рдиреЗ рдХреЗ рдЗрдЪреНрдЫреБрдХ рд╣реИрдВ?

рд╣рд╛рдВ

5 - рдпрджрд┐ рдЖрдкрдХрд╛ рдРрдк 200-500 ms рдЕрдзрд┐рдХ рдзреАрдореА рдЧрддрд┐ рд╕реЗ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ рддреЛ рдХреНрдпрд╛ рдЖрдк рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ? 5 рд╕реЗрдХрдВрдб рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛?

рдирд╣реАрдВ, рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдереЛрдбрд╝рд╛ рдзреАрдорд╛ рд╣реИ

6 - рд╕рдмрд╕реЗ рдмрдбрд╝рд╛ рдЖрдХрд╛рд░ рдХреНрдпрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдЖрдк рдЕрдкрдиреЗ рдРрдк рдХреЗ рд▓рд┐рдП рд╕реНрд╡реАрдХрд╛рд░реНрдп рдорд╛рдиреЗрдВрдЧреЗ? 5 рдПрдордмреА? 10? 20? 50? 75? 100?

рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдЙрдкрдХрд░рдг рдХреЗ рд▓рд┐рдП, рдореБрдЭреЗ рдЙрдореНрдореАрдж рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХрд▓ рдЕрдВрдХ рдПрдордмреА рд╕реЗ рдмрдбрд╝рд╛ рд╣реЛрдЧрд╛

7 - рдХреНрдпрд╛ рдЖрдк рдЖрдХрд╛рд░ рдФрд░/рдпрд╛ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рд╕рдордп рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд▓рдВрдмрд╛ рд░рд┐рд▓реАрдЬ рдмрд┐рд▓реНрдб рд╕рдордп рд╕реНрд╡реАрдХрд╛рд░ рдХрд░реЗрдВрдЧреЗ? рдЖрдк рд╕рдмрд╕реЗ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдХреНрдпрд╛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░реЗрдВрдЧреЗ? 15 рд╕реЗрдХрдВрдб? 30 рд╕реЗрдХрдВрдб? 1 рдорд┐рдирдЯ? 5 рдорд┐рдирдЯ?

рдЬрдм рддрдХ рдпрд╣ рд╡рд┐рдХрд╛рд╕/рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рд╕рдордп рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдореИрдВ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рд░рд┐рд▓реАрдЬ рдмрд┐рд▓реНрдб рдЯрд╛рдЗрдо рдХреЗ рд╕рд╛рде рдареАрдХ рд╣реВрдВ
рд▓реЗрдХрд┐рди рдпрд╛рдж рд░рдЦреЗрдВ, .net рдХреЛрд░ рдРрдкреНрд╕ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкрд╛рд░рдВрдкрд░рд┐рдХ .net рдлреНрд░реЗрдорд╡рд░реНрдХ рдРрдкреНрд╕ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рд▓рдВрдмреЗ рд╣реЛрддреЗ рд╣реИрдВ

рд╣рд░ рд╕рд╛рд▓ рдзреАрдореЗ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдХреА рд╡рд╣ рдкреНрд░рд╡реГрддреНрддрд┐ рд╕реНрд╡реАрдХрд╛рд░реНрдп рдирд╣реАрдВ рд╣реИ, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдмреЗрд╣рддрд░ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рд╣реИ, рдЙрд╕ рдзреАрдореЗрдкрди рдХрд╛ рдХреЛрдИ рдХрд╛рд░рдг рдирд╣реАрдВ рд╣реИ

8 - рдпрджрд┐ рдЖрдк рдЕрдкрдиреЗ рдРрдк рдХреЗ рдЖрдХрд╛рд░ рдХреЛ рдЖрдзрд╛ рдХрд░ рджреЗрдВ рддреЛ рдХреНрдпрд╛ рдЖрдк рдЕрддрд┐рд░рд┐рдХреНрдд рдХрд╛рдо рдХрд░рдиреЗ рдХреЛ рддреИрдпрд╛рд░ рд╣реЛрдВрдЧреЗ?

рд╣рд╛рдВ!

рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрд┐рд╕реА рджрд┐рди рдХреЛрд░рдЖрд░рдЯреА тАЛтАЛрдХреЗ рд╕рд╛рде рдПрдУрдЯреА рд╕рдВрдХрд▓рди рдХреА рдЙрдореНрдореАрдж рдХрд░рддрд╛ рд╣реВрдВ рддрд╛рдХрд┐ рд╣рдо рдЧреЛрд▓рдВрдЧ рдФрд░ рдЬрдВрдЧ рдФрд░ рдЕрдиреНрдп рдПрдУрдЯреА рд╕рдВрдХрд▓рд┐рдд рд▓реИрдВрдЧ рдЬреИрд╕реЗ рдореВрд▓ рд░реВрдк рд╕реЗ рд╕рдВрдХрд▓рд┐рдд рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХреЗрдВред рдЗрд╕реА рддрд░рд╣ рдпреВрдирд┐рдЯреА3рдбреА рдЗрд╕реЗ IL2CPP рдХреЗ рд╕рд╛рде рдХреИрд╕реЗ рдХрд░рддрд╛ рд╣реИред

@morganbr рдпрд╣рд╛рдВ рдореЗрд░реЗ рдФрд░ рдЙрди рд▓реЛрдЧреЛрдВ рд╕реЗ рдХреБрдЫ рдЗрдирдкреБрдЯ рд╣реИ рдЬрд┐рдирдХреЗ рд╕рд╛рде рдореИрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реВрдВред рдореИрдВ рдмрд╣реБрдд рд╕реА рднрд╛рд╖рд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рд╕реА #, рдЧреЛ рдФрд░ рдкрд╛рдпрдердиред

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

ASP.NET рдХреЛрд░ рдФрд░ рдХрдВрд╕реЛрд▓ рдкреНрд░реЛрдЧреНрд░рд╛рдо, рдЕрдзрд┐рдХрддрд░ Linux рдкрд░, рд╕рдВрднрд╛рд╡рд┐рдд рд░реВрдк рд╕реЗ рдХреБрдЫ Windows рд╡рд░реНрдХрд▓реЛрдб, рдЗрд╕ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ рдХрд┐ ML.NET рд╣рдорд╛рд░реА рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЛ рдкреВрд░рд╛ рдХрд░рддрд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВред

рдХреНрдпрд╛ рдЖрдкрдХреЗ рдРрдк рдореЗрдВ (рдЧреИрд░-.NET) C++/рдореВрд▓ рдХреЛрдб рд╢рд╛рдорд┐рд▓ рд╣реИ?

рдЗрд╕ рдмрд┐рдВрджреБ рдкрд░ рд╕рдВрднрд╛рд╡рдирд╛ рдирд╣реАрдВ рд╣реИред

рдХреНрдпрд╛ рдЖрдкрдХрд╛ рдРрдк рдкреНрд▓рдЧрдЗрдиреНрд╕ рдпрд╛ рдЕрдиреНрдп рдмрд╛рд╣рд░реА рдбреАрдПрд▓рдПрд╕ рд▓реЛрдб рдХрд░реЗрдЧрд╛ рдЬрд┐рдиреНрд╣реЗрдВ рдЖрдкрдиреЗ рдореВрд▓ рд░реВрдк рд╕реЗ рдЕрдкрдиреЗ рдРрдк рдмрд┐рд▓реНрдб рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдерд╛?

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

рдХреНрдпрд╛ рдЖрдк рд╕реБрд░рдХреНрд╖рд╛ рд╕реБрдзрд╛рд░реЛрдВ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рдРрдк рдХрд╛ рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг рдФрд░ рдкреБрдирд░реНрд╡рд┐рддрд░рдг рдХрд░рдиреЗ рдХреЗ рдЗрдЪреНрдЫреБрдХ рд╣реИрдВ?

рдмрд┐рд▓реНрдХреБрд▓ред рдпрд╣ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рд╕рд░реНрд╡реЛрдЪреНрдЪ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рд╣реИред

рдпрджрд┐ рдЖрдкрдХрд╛ рдРрдк 200-500 ms рдЕрдзрд┐рдХ рдзреАрдореА рдЧрддрд┐ рд╕реЗ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ рддреЛ рдХреНрдпрд╛ рдЖрдк рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ? 5 рд╕реЗрдХрдВрдб рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛?

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

рдЖрдк рдЕрдкрдиреЗ рдРрдк рдХреЗ рд▓рд┐рдП рд╕реНрд╡реАрдХрд╛рд░реНрдп рд╕рдмрд╕реЗ рдмрдбрд╝рд╛ рдЖрдХрд╛рд░ рдХреНрдпрд╛ рдорд╛рдиреЗрдВрдЧреЗ? 5 рдПрдордмреА? 10? 20? 50? 75? 100?

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

рдХреНрдпрд╛ рдЖрдк рдЖрдХрд╛рд░ рдФрд░/рдпрд╛ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рд╕рдордп рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд▓рдВрдмрд╛ рд░рд┐рд▓реАрдЬрд╝ рдмрд┐рд▓реНрдб рд╕рдордп рд╕реНрд╡реАрдХрд╛рд░ рдХрд░реЗрдВрдЧреЗ?

рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдЬрдм рддрдХ рдпрд╣ рд╕реА/рд╕реА ++ рдФрд░ рдЬрд╛рд╡рд╛ рд╕реЗ рддреЗрдЬрд╝ рд╣реИ, рддрдм рддрдХ рдпрд╣ рд╕реНрд╡реАрдХрд╛рд░реНрдп рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

рдЖрдк рд╕рдмрд╕реЗ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдХреНрдпрд╛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░реЗрдВрдЧреЗ? 15 рд╕реЗрдХрдВрдб? 30 рд╕реЗрдХрдВрдб? 1 рдорд┐рдирдЯ? 5 рдорд┐рдирдЯ?

рд╕рдВрднрд╛рд╡рд┐рдд рд░реВрдк рд╕реЗ 30-90 рд╕реЗрдХреЗрдВрдб рдЖрджрд░реНрд╢ рд╣реЛрдВрдЧреЗ, рд▓реЗрдХрд┐рди 3 рдорд┐рдирдЯ рд╕реЗ рдХрдо рдХреБрдЫ рднреА рд╕реНрд╡реАрдХрд╛рд░реНрдп рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЫреЛрдЯреА/рдордзреНрдпрдо рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП 3 рдорд┐рдирдЯ рд╕реЗ рдЕрдзрд┐рдХ (1k-500k LOC) рдереЛрдбрд╝рд╛ рдЕрдзрд┐рдХ рд╣реЛрдЧрд╛ред рдмрд╣реБрдд рдмрдбрд╝реА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП 5 рдорд┐рдирдЯ (1M LOC) рд╕реНрд╡реАрдХрд╛рд░реНрдп рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред

рдХреНрдпрд╛ рдЖрдк рдЕрддрд┐рд░рд┐рдХреНрдд рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рдЗрдЪреНрдЫреБрдХ рд╣реЛрдВрдЧреЗ рдпрджрд┐ рдпрд╣ рдЖрдкрдХреЗ рдРрдк рдХреЗ рдЖрдХрд╛рд░ рдХреЛ рдЖрдзрд╛ рдХрд░ рджреЗрдЧрд╛?

рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ рдЕрддрд┐рд░рд┐рдХреНрдд рдХрд╛рдо рдмреЙрдпрд▓рд░рдкреНрд▓реЗрдЯ рдХреЛрдб рдЬреЛрдбрд╝ рд░рд╣рд╛ рд╣реИ рдЬрд┐рд╕реЗ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдареАрдХ рд╣реИред рдпрджрд┐ рдпрд╣ рдЕрд╕реНрдкрд╖реНрдЯ рд╣реИ, рддреЛ рд╕реАрдзрд╛ рдХрд╛рдо рдирд╣реАрдВ рд╣реИ, рд╕рдВрднрд╛рд╡рд┐рдд рд░реВрдк рд╕реЗ рдирд╣реАрдВред

рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж @mxplusb , @dark2201 , @RUSshy , @BlitzkriegSoftware

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

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

@ рд╕реНрд╡рд░реВрдк-рд╢реНрд░реАрдзрд░ рдЙрд╕рдХреЗ рд▓рд┐рдП рд╕рдордпрд░реЗрдЦрд╛ рдХреНрдпрд╛ рд╣реИ?

@ayende рдкрд╣рд▓рд╛ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рд╕рдХреНрд░рд┐рдп рд╡рд┐рдХрд╛рд╕ рдХреЗ рдЕрдзреАрди рд╣реИ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХреБрдЫ рд╣рдлреНрддреЛрдВ рдореЗрдВ рдкрд░рд┐рдгрд╛рдо рд╣реЛрдВрдЧреЗред

@рд╕реНрд╡рд░реВрдк-рд╢реНрд░реАрдзрд░

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

рднрд╛рдЧреЛ: HelloWorld.exe

рдмрдВрдбрд▓ рдХрд┐рдП рдЧрдП рдРрдк рдФрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╕реАрдзреЗ рдмрдВрдбрд▓ рд╕реЗ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рд╢реЗрд╖ 216 рдлрд╛рдЗрд▓реЗрдВ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдкрд░ рдбрд┐рд╕реНрдХ рдкрд░ рдирд┐рдХрд╛рд▓реА рдЬрд╛рдПрдВрдЧреАред

рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдЕрдЧрд░ рдореБрдЭреЗ рдХреЗрд╡рд▓ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП fs рд╕реЗ рдЪрд▓рд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдпрд╣ IoT рдХреЗ рд▓рд┐рдП рд╕рд╛рдорд╛рдиреНрдп рд╣реИ, рдпрд╛ рдпрджрд┐ exe рдПрдХ ro рдХрдВрдЯреЗрдирд░ рдХреЗ рдЕрдВрджрд░ рдЪрд▓ рд░рд╣рд╛ рд╣реИ? рдЗрд╕реЗ рд╕реАрдзреЗ exe рд╕реЗ рдЪрд▓рд╛рдиреЗ рдХрд╛ рд╡рд┐рдХрд▓реНрдк рдХреНрдпреЛрдВ рдирд╣реАрдВ рд╣реИ?

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

рдпрджрд┐ рд╣рдо рд╕реНрдЯреЗрдЬ 4 рдпрд╛ рд╕реНрдЯреЗрдЬ 5 рдореЗрдВ рд╣реИрдВ, рддреЛ рдЙрдкрд░реЛрдХреНрдд рд╕реНрд╡-рдирд┐рд╣рд┐рдд рдРрдк рд╕реАрдзреЗ рдмрдВрдбрд▓ рд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

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

рдореВрд▓ рд░реВрдк рд╕реЗ рдЙрдкрд░реЛрдХреНрдд рд╕рднреАред рдХрдВрд╕реЛрд▓ рдпреВрдЯрд┐рд▓рд┐рдЯреАрдЬ, рдбрдмреНрд▓реНрдпреВрдкреАрдПрдл, рдПрдПрд╕рдкреАрдиреЗрдЯ, рдЧреЗрдореНрд╕

рдХреНрдпрд╛ рдЖрдкрдХреЗ рдРрдк рдореЗрдВ (рдЧреИрд░-.NET) C++/рдореВрд▓ рдХреЛрдб рд╢рд╛рдорд┐рд▓ рд╣реИ?

рд╣рд╛рдВред рд╕реНрдХреНрд▓рд╛рдЗрдЯ рдПрдХ рдЕрдЪреНрдЫрд╛ рдЙрджрд╛рд╣рд░рдг рд╣реИред

рдХреНрдпрд╛ рдЖрдкрдХрд╛ рдРрдк рдкреНрд▓рдЧрдЗрдиреНрд╕ рдпрд╛ рдЕрдиреНрдп рдмрд╛рд╣рд░реА рдбреАрдПрд▓рдПрд╕ рд▓реЛрдб рдХрд░реЗрдЧрд╛ рдЬрд┐рдиреНрд╣реЗрдВ рдЖрдкрдиреЗ рдореВрд▓ рд░реВрдк рд╕реЗ рдЕрдкрдиреЗ рдРрдк рдмрд┐рд▓реНрдб рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдерд╛?

рд╕рдВрднрд╡рддрдГ рдирд╣реАрдБред

рдХреНрдпрд╛ рдЖрдк рд╕реБрд░рдХреНрд╖рд╛ рд╕реБрдзрд╛рд░реЛрдВ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рдРрдк рдХрд╛ рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг рдФрд░ рдкреБрдирд░реНрд╡рд┐рддрд░рдг рдХрд░рдиреЗ рдХреЗ рдЗрдЪреНрдЫреБрдХ рд╣реИрдВ?

рд╣рд╛рдВред

рдпрджрд┐ рдЖрдкрдХрд╛ рдРрдк 200-500 ms рдЕрдзрд┐рдХ рдзреАрдореА рдЧрддрд┐ рд╕реЗ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ рддреЛ рдХреНрдпрд╛ рдЖрдк рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ? 5 рд╕реЗрдХрдВрдб рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛?

net.core рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдереЛрдбрд╝рд╛ рдзреАрдорд╛ рд╣реИред рд▓реЗрдХрд┐рди рдХреБрдЫ рд╕реЗрдХрдВрдб рдХреА рд╡реГрджреНрдзрд┐ рд╕реНрд╡реАрдХрд╛рд░реНрдп рд╣реИред 5 рд╕реЗрдХрдВрдб - рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдирд╣реАрдВред

рдЖрдк рдЕрдкрдиреЗ рдРрдк рдХреЗ рд▓рд┐рдП рд╕реНрд╡реАрдХрд╛рд░реНрдп рд╕рдмрд╕реЗ рдмрдбрд╝рд╛ рдЖрдХрд╛рд░ рдХреНрдпрд╛ рдорд╛рдиреЗрдВрдЧреЗ? 5 рдПрдордмреА? 10? 20? 50? 75? 100?

рдХреЛрдИ рдмрд╛рдд рдирд╣реАрдВ рдЖрдЬрдХрд▓

рдХреНрдпрд╛ рдЖрдк рдЖрдХрд╛рд░ рдФрд░/рдпрд╛ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рд╕рдордп рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд▓рдВрдмрд╛ рд░рд┐рд▓реАрдЬрд╝ рдмрд┐рд▓реНрдб рд╕рдордп рд╕реНрд╡реАрдХрд╛рд░ рдХрд░реЗрдВрдЧреЗ? рдЖрдк рд╕рдмрд╕реЗ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдХреНрдпрд╛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░реЗрдВрдЧреЗ? 15 рд╕реЗрдХрдВрдб? 30 рд╕реЗрдХрдВрдб? 1 рдорд┐рдирдЯ? 5 рдорд┐рдирдЯ?

5 рдорд┐рдирдЯ рддрдХ рдХрд╛ рдлреАрд▓ рд╕реНрд╡реАрдХрд╛рд░реНрдп рд╣реИред UWP рдХреЗ рд▓рд┐рдП 15-20 рдорд┐рдирдЯ рдХреА рд░рд┐рд▓реАрдЬрд╝ рдмрд┐рд▓реНрдб рд╕рднреА рдХреЛ рдкрд╛рдЧрд▓ рдХрд░ рд░рд╣реА рд╣реИред

рдХреНрдпрд╛ рдЖрдк рдЕрддрд┐рд░рд┐рдХреНрдд рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рдЗрдЪреНрдЫреБрдХ рд╣реЛрдВрдЧреЗ рдпрджрд┐ рдпрд╣ рдЖрдкрдХреЗ рдРрдк рдХреЗ рдЖрдХрд╛рд░ рдХреЛ рдЖрдзрд╛ рдХрд░ рджреЗрдЧрд╛?

рдЬрд╝рд░реВрд░ред

рдзрдиреНрдпрд╡рд╛рдж @mjr27

рдЪрд░рдг 1 рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЕрдм рдкреВрд░рд╛ рд╣реЛ рдЧрдпрд╛ рд╣реИ, рдФрд░ 3.0.100-рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди5-011568 рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реИред

PublishSingleFile рд╕рдВрдкрддреНрддрд┐ рдХреЛ true рдкрд░ рд╕реЗрдЯ рдХрд░рдХреЗ рдРрдкреНрд╕ рдХреЛ рдПрдХ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬреИрд╕рд╛ рдХрд┐ рдпрд╣рд╛рдВ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред

рдЗрд╕ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ, рд╕рднреА рдПрдореНрдмреЗрдбреЗрдб рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рдкрд╣рд▓реЗ рд░рди рдкрд░ рдбрд┐рд╕реНрдХ рдкрд░ рдирд┐рдХрд╛рд▓рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдмрд╛рдж рдХреЗ рд░рди рдореЗрдВ рдкреБрди: рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ рдпрд╣рд╛рдВ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред

рд╕рдВрдХрд▓рди рдереНрд░реВрдкреБрдЯ
рд╕рдордп рдореЗрдВ рдХреЛрдИ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЕрдВрддрд░ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдлрд╛рдЗрд▓реЗрдВ рдкреНрд░рдХрд╛рд╢рд┐рдд рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдлрд╛рдЗрд▓реЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рд▓рд┐рдЦреА рдЬрд╛рддреА рд╣реИрдВ рдпрд╛ рдПрдХ рдлрд╛рдЗрд▓ рдХреЗ рд░реВрдк рдореЗрдВред

рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЖрдХрд╛рд░ рдФрд░ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк
рдирд┐рдореНрди рддрд╛рд▓рд┐рдХрд╛ рдПрдХрд▓-рдлрд╝рд╛рдЗрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рдирд┐рд░реНрдорд┐рдд рдХреБрдЫ рдРрдкреНрд╕ рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХреЛ рджрд┐рдЦрд╛рддреА рд╣реИред

  • рдХрдВрд╕реЛрд▓: рдПрдХ рд╣реИрд▓реЛ рд╡рд░реНрд▓реНрдб рдРрдкред рд░рд┐рдкреЛрд░реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╕рдордп рдРрдк рдХреЛ рдЪрд▓рд╛рдиреЗ рдХрд╛ рд╕рдордп рд╣реИ, рдЬрд┐рд╕реЗ рдХреНрд▓реЙрдХ рдЯрд┐рдХ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдорд╛рдкрд╛ рдЬрд╛рддрд╛ рд╣реИред
  • рдбрдмреНрд▓реНрдпреВрдкреАрдПрдл рдРрдк: рдПрдордПрд╕рд┐рдХреНрд╕-рдХреИрдЯрд▓реЙрдЧ рдРрдкред рд░рд┐рдкреЛрд░реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╕рдордп рд╕реНрдЯреЙрдкрд╡реЙрдЪ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдорд╛рдкрд╛ рдЧрдпрд╛ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╕реНрдХреНрд░реАрди рдкрд░ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдХрд╛ рд╕рдордп рд╣реИред
  • рдПрдлрдбрдмреНрд▓реНрдпреВ: рдлреНрд░реЗрдорд╡рд░реНрдХ-рдирд┐рд░реНрднрд░ рдмрд┐рд▓реНрдб
  • рд╕реНрд╡: рд╕реНрд╡-рдирд┐рд╣рд┐рдд рдмрдирд╛рддрд╛ рд╣реИред
    рд╕рднреА рд░рди рд╕рдордпрдмрджреНрдз рдереЗ рдЬрдм рдмрд╛рд╣рд░реА рдХрд╛рд░рдХреЛрдВ рдХреЗ рдкреНрд░рднрд╛рд╡ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдВрдЯреА-рд╡рд╛рдпрд░рд╕ рдЬрд╛рдВрдЪ рдмрдВрдж рдХрд░ рджреА рдЧрдИ рдереАред

рдорд╛рдкрди | рдХрдВрд╕реЛрд▓ рдПрдлрдбрдмреНрд▓реНрдпреВ | рдХрдВрд╕реЛрд▓ рд╕реЗрд▓реНрдл | рдбрдмреНрд▓реНрдпреВрдкреАрдПрдл рдПрдлрдбрдмреНрд▓реНрдпреВ | рдбрдмреНрд▓реНрдпреВрдкреАрдПрдл рд╕реЗрд▓реНрдл
-- | -- | -- | -- | --
рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЖрдХрд╛рд░ (рдПрдордмреА) | 0.32 | 66.5 | 20.69 | 118.9
рд╕рд╛рдорд╛рдиреНрдп рд░рди (рд╕реЗрдХрдВрдб) | 0.123 | 0.127 | 3.32 | 3.24
рд╕рд┐рдВрдЧрд▓-рдПрдХреНрд╕рдИ рдлрд░реНрд╕реНрдЯ рд░рди (рд╕реЗрдХрдВрдб) | 0.127 | 0.565 | 3.67 | 4.14
рд╕рд┐рдВрдЧрд▓-рдПрдХреНрд╕рдИ рдмрд╛рдж рдХреЗ рд░рди (рд╕реЗрдХрдВрдб) | 0.124 | 0.128 | 3.30 | 3.29

рд╡рд┐рдХрд╛рд╕ рдХреЗ рдмрд╛рдж рдХреЗ рдЪрд░рдгреЛрдВ рдореЗрдВ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЖрдЧреЗ рдмрдврд╝рдиреЗ рдкрд░ рдореИрдВ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЛ рдЕрджреНрдпрддрди рдХрд░рддрд╛ рд░рд╣реВрдВрдЧрд╛ред

рдЙрддреНрдХреГрд╖реНрдЯ рдЦрдмрд░ред рд╢реБрдХреНрд░рд┐рдпрд╛

рдХреНрдпрд╛ рд╕реНрдЯреЗрдЬрд┐рдВрдЧ рдбреЙрдХ рдореЗрдВ рдЙрд▓реНрд▓рд┐рдЦрд┐рдд рд╕рднреА рдЪрд░рдгреЛрдВ рдХреЛ 3.0 рдЖрд░рдЯреАрдПрдо рдХреЗ рд▓рд┐рдП рдкреВрд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛? рдпрд╛ рд╣рдореЗрдВ рдЙрдиреНрд╣реЗрдВ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП 3.0 рдХреЗ рдмрд╛рдж рдЗрдВрддрдЬрд╛рд░ рдХрд░рдирд╛ рд╣реЛрдЧрд╛?

рдЬреИрд╕рд╛ рдХрд┐ рдпрд╣рд╛рдВ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, .net core 3.0 рдХреЗ рдЪрд░рдг 2 рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рдЙрдореНрдореАрдж рд╣реИ, рддрд╛рдХрд┐ рдлреНрд░реЗрдорд╡рд░реНрдХ рдкрд░ рдирд┐рд░реНрднрд░ рд╢реБрджреНрдз рдПрдордПрд╕рдЖрдИ рдРрдк рд╕реАрдзреЗ рдмрдВрдбрд▓ рд╕реЗ рдЪрд▓ рд╕рдХреЗрдВред рдЖрдЧреЗ рдХреА рд░рд┐рд▓реАрдЬ рдХреЗ рд▓рд┐рдП рд╢реЗрд╖ рдЪрд░рдгреЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

рдЬреИрд╕рд╛ рдХрд┐ рдпрд╣рд╛рдВ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, .net core 3.0 рдХреЗ рдЪрд░рдг 2 рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рдЙрдореНрдореАрдж рд╣реИ, рддрд╛рдХрд┐ рдлреНрд░реЗрдорд╡рд░реНрдХ рдкрд░ рдирд┐рд░реНрднрд░ рд╢реБрджреНрдз рдПрдордПрд╕рдЖрдИ рдРрдк рд╕реАрдзреЗ рдмрдВрдбрд▓ рд╕реЗ рдЪрд▓ рд╕рдХреЗрдВред рдЖрдЧреЗ рдХреА рд░рд┐рд▓реАрдЬ рдХреЗ рд▓рд┐рдП рд╢реЗрд╖ рдЪрд░рдгреЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

:( рдЙрдореНрдореАрдж рдХрд░ рд░рд╣рд╛ рдерд╛ рдХрд┐ рдпрд╣ рдЗрд╕реЗ рдЖрд░рдЯреАрдПрдо рдореЗрдВ рд▓рд╛ рд╕рдХрддрд╛ рд╣реИред

@cup рдореИрдВрдиреЗ рд╕реЛрдЪрд╛ рдерд╛ рдХрд┐ рдЖрдк рдЗрд╕реЗ dotnet publish -o out /p:PublishSingleFile=true /p:RuntimeIdentifier=win-x64 рдХреЗ рд╕рд╛рде рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдореИрдВрдиреЗ рдЕрднреА рдПрдХ рд╡реЗрдирд┐рд▓рд╛ рдХрдВрд╕реЛрд▓ рдРрдк рдмрдирд╛рдХрд░ рдФрд░ рдЙрд╕ рдХрдорд╛рдВрдб рдХреЛ рдЪрд▓рд╛рдХрд░ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рд╣реИред рдЗрд╕рдиреЗ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдХрд╛рдо рдХрд┐рдпрд╛ред

рдЖрдк dotnet publish -o out /p:PublishSingleFile=true /p:RuntimeIdentifier=win-x64 /p:IncludeSymbolsInSingleFile=true . рдХреЗ рд╕рд╛рде .pdb рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдмрдВрдбрд▓ рдХрд░рдХреЗ рдФрд░ рднреА рдЖрдЧреЗ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ

рд╡рд┐рд╕реНрддреГрдд рдиреЛрдЯреНрд╕ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж @seesharprun ред рд╣рд╛рдБ @cup , рдХрдорд╛рдВрдб-рд▓рд╛рдЗрди рд╕рд┐рдВрдЧрд▓-рдлрд╛рдЗрд▓ рдкреНрд░рдХрд╛рд╢рди рдХреЗ рд▓рд┐рдП рдЕрдиреБрд╢рдВрд╕рд┐рдд рд╡рд┐рдзрд┐ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рд╕реЗ PublishSingleFile рдкреНрд░реЙрдкрд░реНрдЯреА рд╕реЗрдЯ рдХрд░рдирд╛ рд╣реИред

@etherealjoy coreclr рд░рдирдЯрд╛рдЗрдо рд░реЗрдкреЛ рдЬреНрдпрд╛рджрд╛рддрд░ рдПрдХ рдпрд╛ рдПрдХ рдорд╣реАрдиреЗ рдореЗрдВ wrt рдлреАрдЪрд░ рдХрд╛рдо рдХреЛ рдмрдВрдж рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рд╕рднреА рдЪрд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╕рдордп рд╣реИред рдореИрдВ рдЙрдореНрдореАрдж рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдЕрдЧрд▓реЗ рдЪрд░рдг рдЕрдЧрд▓реА рд░рд┐рд▓реАрдЬ рдореЗрдВ рдЖрдПрдВрдЧреЗред

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

рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рд░рдирдЯрд╛рдЗрдо config.template.json рд╣реИ рдЬреЛ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ

{
    "configProperties" : {
        "ExtractBaseDir": "C:\\"
    },
    "ExtractBaseDir": "C:\\"   
}

рдЙрддреНрдкрд╛рджрд┐рдд app.runtimeconfig.json рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:

{
  "runtimeOptions": {
    "configProperties": {
      "ExtractBaseDir": "C:\\"
    },
    "ExtractBaseDir": "C:\\"
  }
}

рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЙрддреНрдкрд╛рджрд┐рдд exe рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЪрд▓ рд░рд╣рд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдЕрднреА рднреА tmp рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдлреИрд▓рддрд╛ рд╣реИред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕реБрд╡рд┐рдзрд╛ рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди 5 рдореЗрдВ рдЕрднреА рддреИрдпрд╛рд░ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИ рдХрд┐ "ExtractBaseDir" рдХреЛ рд░рдирдЯрд╛рдЗрдордХреЙрдиреНрдлрд┐рдЧ.рдЬреЗрд╕рди рдореЗрдВ рдЬрд╛рдирд╛ рд╣реИ рдФрд░ рдХреЛрдИ рдЙрджрд╛рд╣рд░рдг рдирд╣реАрдВ рд╣реИред

@ igloo15 рдЗрд╕реЗ рд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред

рд╡рд░реНрддрдорд╛рди рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди рдореЗрдВ, рдХреЗрд╡рд▓ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ DOTNET_BUNDLE_EXTRACT_BASE_DIR рд╕рдХреНрд╖рдо рд╣реИред рдРрд╕рд╛ рдЗрд╕рд▓рд┐рдП рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд╡рд░реНрддрдорд╛рди рдЪрд░рдг рдореЗрдВ - runtimeconfig.json рд╕рд╣рд┐рдд - рд╕рднреА рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдбрд┐рд╕реНрдХ рдкрд░ рдирд┐рдХрд╛рд▓ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдореИрдВ рдЕрдЧрд▓реЗ рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди рдореЗрдВ ExtractBaseDir рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рдиреЗ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реВрдВред

рдХреНрдпрд╛ ASP.NET рдХреЛрд░ рдкреНрд░реЛрдЬреЗрдХреНрдЯреНрд╕ рдХреЗ рд╕рд╛рде рдпрд╣ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рдорд╛рд░реНрдЧрджрд░реНрд╢рди рд╣реИ? рдХреНрдпрд╛ рдореЗрд░реЗ рд╕рд┐рд╕реНрдЯрдо рдкреНрд░рдХрд╛рд░ рдХрд╣рд╛рдВ рд╕реЗ рд▓реЛрдб рд╣реЛ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рдЙрд╕ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдореЗрд░реЗ IHostingEnvironment ContentRootPath рдФрд░ WebRootPath рдХреЛ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рдмрд┐рдВрдм рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдиреБрд╢рдВрд╕рд┐рдд рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреНрдпрд╛ рд╣реЛрдЧрд╛?

@keithwill рдЖрдк рдЙрд╕ рд╕реНрдерд╛рди рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП AppContext.BaseDirectory рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд╣рд╛рдВ app.dll рдФрд░ рдЕрдиреНрдп рд╕рднреА рдлрд╛рдЗрд▓реЗрдВ рдбрд┐рд╕реНрдХ рдкрд░ рдирд┐рдХрд╛рд▓реА рдЬрд╛рддреА рд╣реИрдВред рддреЛ, рдЖрдк рдЗрд╕реЗ ContentRootPath рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

@ igloo15 : рдореИрдВ рдЙрддреНрд╕реБрдХ рд╣реВрдВ рдХрд┐ рдХреНрдпрд╛ рдЖрдк рдЗрд╕ рд╡рд┐рдХрд▓реНрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рдкрд░рд┐рджреГрд╢реНрдп рдХреЛ рд╕рд╛рдЭрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

  • рдХреНрдпрд╛ рдЖрдк рдЗрд╕реЗ рдбрд┐рдмрдЧрд┐рдВрдЧ рдпрд╛ рдЙрддреНрдкрд╛рджрди-рддреИрдирд╛рддреА рдкрд░рд┐рджреГрд╢реНрдп рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд░рд╣реЗ рд╣реИрдВ?
  • рдХреНрдпрд╛ рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдкрд░реНрдпрд╛рдкреНрдд рд╣реЛрдЧрд╛, рдпрд╛ рдХреНрдпрд╛ рдЖрдкрдХреЛ runtimeconfig.json рд╕реЗрдЯрд┐рдВрдЧ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ?

рдореИрдВ рдЕрдиреНрдп рдбреЗрд╡рд▓рдкрд░реНрд╕ рд╕реЗ рднреА рд╕реБрдирдиреЗ рдХреЗ рд▓рд┐рдП рдЙрддреНрд╕реБрдХ рд╣реВрдВ, рдЕрдЧрд░ рдЗрд╕ рд╕реЗрдЯрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЙрдкрдпреЛрдЧ-рдорд╛рдорд▓реЗ рд╣реИрдВред

@рд╕реНрд╡рд░реВрдк-рд╢реНрд░реАрдзрд░

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

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

1.) рдпрд╣ рдПрдХ рдЙрддреНрдкрд╛рджрди рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдкрд░рд┐рджреГрд╢реНрдп рд╣реИ
2.) рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдореБрд╢реНрдХрд┐рд▓ рд╣реЛрдЧрд╛ рдХреНрдпреЛрдВрдХрд┐ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдЪрд▓рд╛рдиреЗ рд╡рд╛рд▓рд╛ рдХрдВрдкреНрдпреВрдЯрд░ рд▓рдЧрд╛рддрд╛рд░ рдЕрд▓рдЧ рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдирд╖реНрдЯ/рд░реАрдореЗрдб рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ

@cup рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рд╣рдордд рдирд╣реАрдВ рд╣реВрдВ рдХрд┐ рдпрд╣ рд╡рд┐рд╖рдп рдбрд┐рдЬрд╝рд╛рдЗрди рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИ рдФрд░ рдбрд┐рдЬрд╝рд╛рдЗрди рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдХрд╣рддрд╛ рд╣реИ ExtractBaseDir рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдпрджрд┐ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдЗрд╕ рдбрд┐рдЬрд╝рд╛рдЗрди рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рд╣реИ рддреЛ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдХрд┐рд╕ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИ?

рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж @ igloo15ред

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

@ igloo15 рдбрд┐рдЬрд╛рдЗрди рдбреЙрдХ рдЗрд╕рдХрд╛ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣рд┐рд╕реНрд╕рд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕ рдореБрджреНрджреЗ рдХрд╛ рдореВрд▓ рдлреАрдЪрд░ рд╣реА рд╣реИред ExtractBaseDir рдПрдХ рд╡реИрдХрд▓реНрдкрд┐рдХ рдкреИрд░рд╛рдореАрдЯрд░ рд╣реИ рдФрд░ рдореИрдВ рд╡реИрдХрд▓реНрдкрд┐рдХ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд╕рд╛рде рдлрдВрд╕рдиреЗ рдХреЗ рдмрдЬрд╛рдп рдореБрдЦреНрдп рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреЛ "рд╡рд░реНрддрдорд╛рди" рд░рд┐рд▓реАрдЬ рдореЗрдВ рдкрд╛рд░рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред

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

@ рдХрдк @ рд╕реНрд╡рд░реВрдк-рд╢реНрд░реАрдзрд░

рдХреБрдЫ рдмрд╛рддреЗрдВ рдЬреЛ рдореИрдВ рдкрд╣рд▓реЗ рдХрд╣реВрдВрдЧрд╛ рд╡рд╣ рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ рд╕реБрд╡рд┐рдзрд╛ рдХреЗрд╡рд▓ рд╕реНрдЯреЗрдЬ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЗ рдЪрд░рдг 1 рдХреЗ рд▓рд┐рдП рдорд╛рдпрдиреЗ рд░рдЦрддреА рд╣реИред рдЕрдиреНрдп рд╕рднреА рдЪрд░рдг 2 - 5 рдмрдВрдбрд▓ рдХреЗ рдЕрдВрджрд░ рд╕реЗ рдбреАрдПрд▓рдПрд╕ рдЪрд▓рд╛рдиреЗ рдФрд░ рдирд┐рдХрд╛рд▓рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рд╣реИрдВред рддреЛ 2-5 рдЪрд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрд░реНрдХ рдмреЗрд╕ рдбреАрдЖрдИрдЖрд░ рдХрд╛ рд╕реНрдерд╛рди рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реЗрдЯрд┐рдВрдЧ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЙрдкрдпреЛрдЧреА рдирд╣реАрдВ рд╣реИред рдЪреВрдВрдХрд┐ рдиреЗрдЯрдХреЛрд░ 3.0 рдЪрд░рдг 1 рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдЗрд░рд╛рджрд╛ рд░рдЦрддрд╛ рд╣реИ, рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ рд╕реБрд╡рд┐рдзрд╛ рд╡рд╣рд╛рдВ рд╣реЛрдЧреА рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдХреЗрд╡рд▓ рддрднреА рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧрд╛ред

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

рдЬрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдЗрд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд░рдирдЯрд╛рдЗрдо рдкрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╕реЗ ExtractBaseDir рдХреЛ рдкрдврд╝рдиреЗ рдХреЗ рдмрдЬрд╛рдп рд╣рдо рдмрд┐рд▓реНрдб рд╕рдордп рдкрд░ рдмрдВрдбрд▓ рдПрдХреНрд╕рдИ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ? рдореИрдВрдиреЗ рдЙрд╕ рдХреЛрдб рдХреЛ рдирд╣реАрдВ рджреЗрдЦрд╛ рд╣реИ рдЬреЛ рдЗрд╕ рдмрдВрдбрд▓ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдореЗрд░реЗ рджрд┐рдорд╛рдЧ рдореЗрдВ рдЗрд╕рдХреЗ рдЕрдВрджрд░ рд╕рднреА рдбреАрдПрд▓рдПрд╕ рдЖрджрд┐ рдХреЗ рд╕рд╛рде рдореВрд▓ рдПрдХреНрд╕рдИ рдЙрддреНрдкрдиреНрди/рдирд┐рд░реНрдорд╛рдг рдХрд░рддрд╛ рд╣реИред рдХреНрдпрд╛ рд╣рдо exe рдХреА рдкреАрдврд╝реА/рдирд┐рд░реНрдорд╛рдг рдХреЗ рджреМрд░рд╛рди рдмрдВрдбрд▓ рдХрд┐рдП рдЧрдП рдРрдкреНрд╕ рд░рдирдЯрд╛рдЗрдордХреЙрдиреНрдлрд╝рд┐рдЧ рдлрд╝рд╛рдЗрд▓ рдХреЛ ExtractBaseDir рдХреЛ рдмрд╛рд╣рд░ рдирд╣реАрдВ рдирд┐рдХрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рдореВрд▓ рдмрдВрдбрд▓ exe рдкрд░ рдПрдХ рд╕рдВрдкрддреНрддрд┐ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реЗрдЯ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдлрд┐рд░ рдпрд╣ рд░рдирдЯрд╛рдЗрдо рдкрд░ рдПрдореНрдмреЗрдбреЗрдб рд░рдирдЯрд╛рдЗрдо рдХреЙрдиреНрдлрд┐рдЧ рдХреЛ рдирд╣реАрдВ рдкрдврд╝ рд░рд╣рд╛ рд╣реИ рдмрд▓реНрдХрд┐ рдирд┐рд╖реНрдХрд░реНрд╖рдг рд╕реНрдерд╛рди рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдВрддрд░рд┐рдХ рд░реВрдк рд╕реЗ рдПрдХ рд╕рдВрдкрддреНрддрд┐ рдХрд╛ рд▓рд╛рдн рдЙрдард╛ рд░рд╣рд╛ рд╣реИред рдпрд╣ рд╕рдВрднрд╛рд╡рд┐рдд рд░реВрдк рд╕реЗ рдмрд╣реБрдд рддреЗрдЬ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

@ igloo15 : рдмрдВрдбрд▓ рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рдбрд┐рд╕реНрдХ рдкрд░ рдирд┐рдХрд╛рд▓рдирд╛ рдЪрд░рдг 2 рдХреЗ рдмрд╛рдж рдХреЗ рдХреБрдЫ рдРрдкреНрд╕ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдРрдк рдореЗрдВ рдмрдВрдбрд▓ рдореЗрдВ рдХрд╕реНрдЯрдо рдиреЗрдЯрд┐рд╡ рдмрд╛рдпрдиреЗрд░рд┐рдЬрд╝ рд╣реИрдВ, рддреЛ рдЙрдиреНрд╣реЗрдВ рд╕реНрдЯреЗрдЬ 5 рддрдХ рдирд┐рдХрд╛рд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рдРрдк рдЕрдЬреНрдЮрд╛рдд рдкреНрд░рдХрд╛рд░ рдХреА рд╕рд╛рдордЧреНрд░реА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд░рдирдЯрд╛рдЗрдо рдкрд░ рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рдирд┐рдХрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдВрдбрд▓ рдХрд░рдирд╛ рдЪрд╛рд╣ рд╕рдХрддрд╛ рд╣реИред

рдореИрдВ рдорд╛рдирддрд╛ рд╣реВрдВ рдХрд┐ рдЬреИрд╕реЗ-рдЬреИрд╕реЗ рд╣рдо рд╡рд┐рдХрд╛рд╕ рдХреЗ рдЖрдЧреЗ рдХреЗ рдЪрд░рдгреЛрдВ рдореЗрдВ рдЬрд╛рддреЗ рд╣реИрдВ, рдЗрд╕ рд╕реЗрдЯрд┐рдВрдЧ рдХреА рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХрдо рд╣реЛрддреА рдЬрд╛рддреА рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдПрдХ рдмрд╛рд░ рдЬрдм рд╣рдо рд╡рд┐рдХрд▓реНрдк рдЬреЛрдбрд╝ рд▓реЗрддреЗ рд╣реИрдВ, рддреЛ рд╣рдореЗрдВ рдЕрдиреБрдХреВрд▓рддрд╛ рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рдмрд╛рдж рдХреЗ рд╕рднреА рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВ рд░рдЦрдирд╛ рд╣реЛрдЧрд╛ред рдЗрд╕рд▓рд┐рдП рдЕрдм рдЗрд╕ рдкрд░ рдЧрдВрднреАрд░рддрд╛ рд╕реЗ рд╡рд┐рдЪрд╛рд░ рдХрд░рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИред

рдореИрдВ рдорд╛рдирддрд╛ рд╣реВрдВ рдХрд┐ рд░рдирдЯрд╛рдЗрдо рдХреЙрдиреНрдлрд┐рдЧ рд╡рд┐рдХрд▓реНрдк рдХреЗ рдмрдЬрд╛рдп рдирд┐рд╖реНрдХрд░реНрд╖рдг рд╕реНрдерд╛рди рдХреЛ рдмрд┐рд▓реНрдб-рдЯрд╛рдЗрдо рд╕реЗрдЯрд┐рдВрдЧ (рдЙрджрд╛: msbuild-property) рдмрдирд╛рдирд╛ рдЖрд╕рд╛рди рдФрд░ рдЕрдзрд┐рдХ рдХреБрд╢рд▓ wrt рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реИред рдзрдиреНрдпрд╡рд╛рджред

рдирдорд╕реНрддреЗ, рдЗрд╕ рд╡рд┐рд╖рдп рдкрд░ рдореЗрд░реЗ рдХреБрдЫ рдкреНрд░рд╢реНрди рд╣реИрдВ:

рдореИрдВ рдкреИрдХреЗрдЬрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рд╕рд┐рдВрдЧрд▓-рдлрд╛рдЗрд▓ рдбрд┐рд╕реНрдЯреНрд░реАрдмреНрдпреВрд╢рди рдлреАрдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рдиреЗрдЯ рдлреНрд░реЗрдорд╡рд░реНрдХ 4.7.2 (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП) рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рдПрдХ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдореЗрдВред рдХреНрдпрд╛ рдпрд╣ рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХрд╛ рдЗрд░рд╛рджрд╛ рд╣реИ рдпрд╛ рдпрд╣ рдХреЗрд╡рд▓ .NET рдХреЛрд░ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИ?

рдореЗрд░рд╛ рджреВрд╕рд░рд╛ рдкреНрд░рд╢реНрди рдЗрд╕ рдмрд╛рдд рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИ рдХрд┐ рдкреИрдХреЗрдЬрд┐рдВрдЧ рдХреИрд╕реЗ рдХреА рдЬрд╛рддреА рд╣реИред рдЬрдм рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рддреЛ рдХреНрдпрд╛ рд▓рдХреНрд╖реНрдп рдврд╛рдВрдЪреЗ рд░рдирдЯрд╛рдЗрдо рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдореЗрдВ рдмрдВрдбрд▓ рд╣реЛ рдЬрд╛рдПрдВрдЧреЗ? рдпрд╛ рдЗрд╕реЗ рд▓рдХреНрд╖реНрдп рдорд╢реАрди рдкрд░ рдкреВрд░реНрд╡-рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреЛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЪрд▓рд╛рдПрдЧрд╛?

@gaviriar рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдпрд╣ .NET Framework рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред рдФрд░ рд╣рд╛рдБ рдпрд╣ .NET рдХреЛрд░ рд░рдирдЯрд╛рдЗрдо рдХреЛ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп (рддрдерд╛рдХрдерд┐рдд "рд╕реНрд╡рдпрдВ рдирд┐рд╣рд┐рдд" рдкреНрд░рдХрд╛рд╢рд┐рдд) рдореЗрдВ рдмрдВрдбрд▓ рдХрд░ рд╕рдХрддрд╛ рд╣реИред

@ tomrus88 рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдпрд╣ .NET Framework рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╢рд░реНрдо рдХреА рдмрд╛рдд рд╣реИред рдХреНрдпрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рд╣реИ рдЬрд┐рд╕рдХреА рдЖрдк рдЕрдиреБрд╢рдВрд╕рд╛ рдХрд░реЗрдВрдЧреЗ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ .NET Framework рд░рдирдЯрд╛рдЗрдо рдХреЛ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдореЗрдВ рдмрдВрдбрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ?

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

@gaviriar .NET Framework рд╡рд┐рдВрдбреЛрдЬ рдУрдПрд╕ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИред рдЗрд╕реЗ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдореЗрдВ рдмрдВрдбрд▓ рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рд╕рдорд░реНрдерд┐рдд рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИред

@gaviriar рд░рдирдЯрд╛рдЗрдо рдХреЛ рдмрдВрдбрд▓ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ .NET рдХреЛрд░ рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рдХреЗ рдкреНрд░рдореБрдЦ рдХрд╛рд░рдгреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИред

@ jnm2 рдФрд░ @jkotas рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдпрд╣рд╛рдБ .NET рджреБрдирд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдиреЛрдмред рдореИрдВ рд╕рд╣рдордд рд╣реВрдВ рдХрд┐ рдореИрдВ .NET рдХреЛрд░ рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░рдирд╛ рдкрд╕рдВрдж рдХрд░реВрдВрдЧрд╛ред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдореБрдЭреЗ рдПрдХ рдРрд╕реЗ рдорд╛рдорд▓реЗ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝ рд░рд╣рд╛ рд╣реИ рдЬрд╣рд╛рдВ рдореБрдЭреЗ рдПрдХ рд╡рд┐рд░рд╛рд╕рдд рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХрд░рдиреА рд╣реИ рдЬреЛ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░ рд░рд╣реА рд╣реИред рдРрд╕реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдпрд╣ рдореЗрд░реА рд╕рдордЭ рд╣реИ рдХрд┐ рдЕрдЧрд░ рдореБрдЭреЗ рдЗрд╕ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рддреЛ рдореИрдВ рдЕрдкрдиреЗ рдРрдк рдХреЛ .NET рдХреЛрд░ рдкрд░ рд╕реНрд╡рд┐рдЪ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ред рдпрд╛ рдХреНрдпрд╛ рдХреЛрдИ рд╡реИрдХрд▓реНрдкрд┐рдХ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╣реИ рдЬреИрд╕реЗ рдХрд┐ рдореЗрд░рд╛ рдРрдк .NET рдХреЛрд░ рд╣реИ рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреА рд╡рд┐рд░рд╛рд╕рдд .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ?

рдпрд╣ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред .NET Framework рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдмрд╣реБрдд рд╕реЗ рдкреБрд╕реНрддрдХрд╛рд▓рдп .NET Core рдкрд░ рднреА рдареАрдХ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред рдХреНрдпрд╛ рдЖрдкрдиреЗ .NET рдХреЛрд░ рдореЗрдВ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рд╣реИ? рдпрджрд┐ рдЖрдкрдиреЗ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд┐рдпрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдЖрдк рддрдм рддрдХ рд╕реНрд╡рд┐рдЪ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рдЬрдм рддрдХ рдЖрдкрдХреЗ рдкрд╛рд╕ рдЗрд╕рдХрд╛ рд╕рдорд╛рдзрд╛рди рди рд╣реЛред

рдореИрдВрдиреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╣рдо рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдЬреЛ рд╡рд┐рдВрдбреЛрдЬрд╝ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╣реИрдВред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореЗрд░реЗ рдкрд╛рд╕ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдФрд░ рдХреЛрдИ рд╡рд┐рдХрд▓реНрдк рдирд╣реАрдВ рд╣реИ рдФрд░ рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдХрд╣рддреЗ рд╣реИрдВ .NET рдХреЛрд░ рдлрди рд╕реЗ рдЪреВрдХ рдЬрд╛рддреЗ рд╣реИрдВ: /

@gaviriar рдпрд╣ рд╡рд┐рд╖рдп рд╕реЗ рд╣рдЯрдХрд░ рд╣реИ, рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рдЖрдкрдиреЗ Windows рд╕рдВрдЧрддрддрд╛ NuGet рдкреИрдХреЗрдЬ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рд╣реИ, рдпрд╣ .NET рдХреЛрд░ рдХреЗ рд▓рд┐рдП рд╡рд┐рдВрдбреЛрдЬрд╝ рдПрдкреАрдЖрдИ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рд╕рдЯреАрдХ рдЙрджреНрджреЗрд╢реНрдп рдХреЗ рд▓рд┐рдП рдЖрдк Microsoft.Windows.Compatibility рдХрд╛ рд╡рд░реНрдгрди рдХрд░ рд░рд╣реЗ рд╣реИрдВред

@gaviriar : рдХреБрдЫ рдФрд░ рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг:

рдЬрдм рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рддреЛ рдХреНрдпрд╛ рд▓рдХреНрд╖реНрдп рдврд╛рдВрдЪреЗ рд░рдирдЯрд╛рдЗрдо рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдореЗрдВ рдмрдВрдбрд▓ рд╣реЛ рдЬрд╛рдПрдВрдЧреЗ? рдпрд╛ рдЗрд╕реЗ рд▓рдХреНрд╖реНрдп рдорд╢реАрди рдкрд░ рдкреВрд░реНрд╡-рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреЛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЪрд▓рд╛рдПрдЧрд╛?

рдпрд╣ рдирд┐рд░реНрдорд╛рдг рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред рджреЛрдиреЛрдВ рдлреНрд░реЗрдорд╡рд░реНрдХ-рдирд┐рд░реНрднрд░ (рд░рдирдЯрд╛рдЗрдо рд▓рдХреНрд╖реНрдп рдкрд░ рд╕реНрдерд╛рдкрд┐рдд рд╣реИ), рдФрд░ рд╕реНрд╡-рдирд┐рд╣рд┐рдд (рд░рдирдЯрд╛рдЗрдо рдРрдк рдХреЗ рд╕рд╛рде рдкреИрдХ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ) рдРрдкреНрд╕ рдХреЛ рдПрдХрд▓-рдлрд╝рд╛рдЗрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ - рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ .net рдХреЛрд░ 3.0 рдРрдкреНрд╕ред

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

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

@ рдЗрдЧреНрд▓реВ 15 рдФрд░ @ рд╕реНрд╡рд░реВрдк-рд╢реНрд░реАрдзрд░ рдореИрдВ рдЗрди рдЗрдирдкреБрдЯреНрд╕ рдХреА рд╕рд░рд╛рд╣рдирд╛ рдХрд░рддрд╛ рд╣реВрдВ рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рд╡рд┐рд╖рдп рд╕реЗ рдмрд╛рд╣рд░ рд╣реИрдВред рд╣рд╛рд▓рд╛рдБрдХрд┐ рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдХрд┐рд╕реА рдФрд░ рдХреЛ рдпрд╣ рдЪрд░реНрдЪрд╛ рдХрд┐рд╕реА рджрд┐рди рдкрдврд╝рддреЗ рд╕рдордп рдЙрдкрдпреЛрдЧреА рд▓рдЧреЗрдЧреАред

рдореИрдВ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдореЗрд░реЗ рд╕рд╛рде рд╕рд╛рдЭрд╛ рдХрд┐рдП рдЧрдП рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХрд╛ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд░реВрдВрдЧрд╛ рдФрд░ рдЖрдкрдХреЛ рдмрддрд╛рдКрдВрдЧрд╛ рдХрд┐ рдореЗрд░реЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рддрд░реАрдХрд╛ рдХреНрдпрд╛ рд╣реИред

рдзрдиреНрдпрд╡рд╛рдж!

рд╢реАрдШреНрд░ рдирд╡реАрдиреАрдХрд░рдг!

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

Failed to load the DLL from [C:\Users\vagrant\AppData\Local\Temp\.net\HelloWorld
\muasjfkf.kyn\hostfxr.dll], HRESULT: 0x80070057
The library hostfxr.dll was found, but loading it from C:\Users\vagrant\AppData\
Local\Temp\.net\HelloWorld\muasjfkf.kyn\hostfxr.dll failed
  - Installing .NET Core prerequisites might help resolve this problem.
     https://go.microsoft.com/fwlink/?linkid=798306

рдореИрдВ рдЬреЛ рджреЗрдЦ рд╕рдХрддрд╛ рд╣реВрдВ рд╡рд╣ рдпрд╣ рд╣реИ рдХрд┐ рдРрдк рдХреЛ dotnet publish /p:PublishSingleFile=true рдпрд╛ /p:PublishSingleFile=false рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рдиреЗ рд╕реЗ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдХрд╛ рдЖрдХрд╛рд░ рдирд╣реАрдВ рдмрджрд▓рддрд╛ рд╣реИред рдХреНрдпрд╛ рдпрд╣ рдЕрдкреЗрдХреНрд╖рд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░ рд╣реИ?

рдкреНрд░рдЬрдирди рдХреЗ рдЪрд░рдг

  1. HelloWorld.exe . рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░реЗрдВ

  2. рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдХреЛ рдХрд┐рд╕реА рднреА .NET рдХреЛрд░ рд░рдирдЯрд╛рдЗрдо рдХреЗ рд╕рд╛рде рд╡рд┐рдВрдбреЛрдЬ 7 рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рдореЗрдВ рдХреЙрдкреА рдХрд░реЗрдВ

  3. HelloWorld.exe . рдЪрд▓рд╛рдПрдБ

@gaviriar рдореИрдВрдиреЗ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рдХрд╛рд╢рд┐рдд рдЙрджрд╛рд╣рд░рдг рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рдФрд░ рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдареАрдХ рдХрд╛рдо рдХрд┐рдпрд╛ред
рдпрд╣реА рд╣реИ, рдЗрд╕рдиреЗ рд╣реИрд▓реЛрд╡рд░реНрд▓реНрдб рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрд╡-рдирд┐рд╣рд┐рдд рдПрдХрд▓-рдПрдХреНрд╕рдИ рдмрдирд╛рдпрд╛ рдЬреЛ рдареАрдХ рдЪрд▓рддрд╛ рд╣реИред

рдореИрдВ рдЬреЛ рджреЗрдЦ рд╕рдХрддрд╛ рд╣реВрдВ рд╡рд╣ рдпрд╣ рд╣реИ рдХрд┐ рдРрдк рдХреЛ рдбреЙрдЯрдиреЗрдЯ рдкреНрд░рдХрд╛рд╢рд┐рдд/рдкреА: рдкрдмреНрд▓рд┐рд╢рд╕рд┐рдВрдЧрд▓рдлрд╛рдЗрд▓ = рд╕рддреНрдп рдпрд╛/рдкреА: рдкрдмреНрд▓рд┐рд╢рд╕рд┐рдВрдЧрд▓рдлрд╛рдЗрд▓ = рдЭреВрдареА рдХреЗ рд░реВрдк рдореЗрдВ рдРрдк рдХреЛ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рдирд╛ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдХрд╛ рдЖрдХрд╛рд░ рдирд╣реАрдВ рдмрджрд▓рддрд╛ рд╣реИред рдХреНрдпрд╛ рдпрд╣ рдЕрдкреЗрдХреНрд╖рд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░ рд╣реИ?

рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЕрдкреЗрдХреНрд╖рд┐рдд рдирд╣реАрдВ рд╣реИред рд╕рд┐рдВрдЧрд▓-рдлрд╛рдЗрд▓ рдРрдк рд▓рдЧрднрдЧ 70 рдПрдордмреА (рдЖрдкрдХреЗ рдЧрд┐рдЯрд▓реИрдм рдкреЗрдЬ рдкрд░ рдмрддрд╛рдП рдЧрдП рдбрд┐рдмрдЧ рдмрд┐рд▓реНрдб рдХреЗ рд▓рд┐рдП) рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЕрдиреНрдпрдерд╛, рдпрд╣ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдПрдкреЙрд╕реНрдЯ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдареАрдХ рд╡реИрд╕реЗ рд╣реА рд╡рд┐рдлрд▓ рд╣реЛрдиреЗ рдХреА рдЙрдореНрдореАрдж рд╣реИ рдЬреИрд╕рд╛ рдЖрдкрдиреЗ рдКрдкрд░ рдмрддрд╛рдпрд╛ рд╣реИред рдХреНрдпрд╛ рдЖрдк рдПрдХ рд╕реНрд╡рдЪреНрдЫ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╕реЗ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ?

рдЖрдкрдХреА рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдлрд╝рд╛рдЗрд▓ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рдЕрдиреНрдп рдиреЛрдЯ -- рдЖрдкрдХреЗ рдкрд╛рд╕ $#$ IncludeSymbolsInSingleFile $#$ рдХреЗ рдмрдЬрд╛рдп IncludeSymbolsInFile рдХреЗ рд░реВрдк рдореЗрдВ рдЧрд▓рдд рддрд░реАрдХреЗ рд╕реЗ рд▓рд┐рдЦреА рдЧрдИ рд╕рдВрдкрддреНрддрд┐рдпреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИред рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рд░рд┐рдкреЛрд░реНрдЯ рдХреА рдЧрдИ рд╕рдорд╕реНрдпрд╛ рд╕реЗ рдХреЛрдИ рд╕рдВрдмрдВрдз рдирд╣реАрдВ рд╣реИред

@gaviriar рдЖрдкрдХрд╛ рд▓рдХреНрд╖рд┐рдд рд░рдирдЯрд╛рдЗрдо рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдХреНрдпрд╛ рд╣реИред рдпрджрд┐ рдЖрдк рдЗрд╕реЗ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд╕реЗрдЯ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдпрд╣ рд╕рд╣реА hostfxr.dll рдХреЛ рдмрдВрдбрд▓ рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред рдпрд╣ рд╕рдВрднрд╡ рд╣реИ рдХрд┐ hostfxr.dll рдХреЛ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╡реАрд╕реА ++ рдкреБрдирд░реНрд╡рд┐рддрд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдЬреЛ рдЖрдкрдХреЗ рд╡рд┐рдВрдбреЛрдЬ 7 рдорд╢реАрди рдкрд░ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИред рдЖрдк рдЬрд╛рдВрдЪ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рджрд┐рдП рдЧрдП рдкрде рдкрд░ рдбреАрдПрд▓рдПрд▓ рдореМрдЬреВрдж рд╣реИ рдФрд░ рдпрджрд┐ рдпрд╣ рдирд┐рд░реНрднрд░рддрд╛ рд╡реЙрдХрд░ рдЯреВрд▓ рдореЗрдВ рд▓реЛрдб рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддрд╛ рд╣реИ рддреЛ рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдХреЛрдИ рдбреАрдПрд▓ рдореМрдЬреВрдж рд╣реИ рдпрд╛ рдирд╣реАрдВред

IL рдХрд╛ рд╡рд┐рд▓рдп: ILMerge рдЬреИрд╕реЗ рдЙрдкрдХрд░рдг рдХрдИ рдЕрд╕реЗрдВрдмрд▓реА рд╕реЗ IL рдХреЛ рдПрдХ рдореЗрдВ рдорд┐рд▓рд╛рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЗрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдЕрд╕реЗрдВрдмрд▓реА рдкрд╣рдЪрд╛рди рдЦреЛ рджреЗрддреЗ рд╣реИрдВред рдпрд╣ рдПрдХрд▓-рдлрд╝рд╛рдЗрд▓ рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рд▓рдХреНрд╖реНрдп рдирд╣реАрдВ рд╣реИред

рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдХреА рдкрд╣рдЪрд╛рди рдЦреЛрдирд╛

рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИред
рдореИрдВ рд╣рдореЗрд╢рд╛ рд╕рд┐рдВрдЧрд▓ рдПрдХреНрд╕рдИ рд╕реНрд╡рдпрдВ рдирд┐рд╣рд┐рдд рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП рдЬрд╝рд┐рдк/рдЕрдирдЬрд┐рдк рдпрд╛ рдЕрдиреНрдп рдмрдВрдбрд▓ рд╕рдорд╛рдзрд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдЦрд┐рд▓рд╛рдл рд╣реВрдВред
рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЕрдЧрд▓реЗ рдореБрджреНрджреЛрдВ рдХрд╛ рдХрд╛рд░рдг рд╣реЛрдЧрд╛ред
рдПрдХрд▓ exe рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЖрдХрд╛рд░ рдХреИрд╕реЗ рдХрдо рдХрд░реЗрдВ!?? рдпрд╛ exe рдлрд╝рд╛рдЗрд▓ рдЗрддрдиреА рдмрдбрд╝реА рдХреНрдпреЛрдВ рд╣реИ рд▓реЗрдХрд┐рди рдпрд╣ рдХреЗрд╡рд▓ рдПрдХ рд╣реИрд▓реЛ рд╡рд░реНрд▓реНрдб рд╣реИ !??

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

рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рд▓реЛрдЧ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ EXE рдХреЗ рдкреНрд░рддрд┐ рдЗрддрдиреЗ рдЬреБрдиреВрдиреА рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВред
exe(1)+dll(1-2) рднреА рдареАрдХ рд╣реИ, рд▓реЗрдХрд┐рди 400 рдорд╛рдЙрдВрдЯ рдбреАрдПрд▓рдПрд╕ рдирд╣реАрдВред
рдкреАрдкреАрдПрд▓ рдХреЛрдб рдХреЛ рд╕рд░реНрд╡рд░ рдбрд┐рд╕реНрдХ рдкрд░ рдХрднреА рднреА рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рд╕рд░реНрд╡рд░ рдореЗрдореЛрд░реА рд▓реЗрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИред
рд▓реЛрдЧ рдмрд╕ рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдХреА рд▓рд╛рдЧрдд рдХрдо рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред (рдбрд┐рд╕реНрдХ, рдореЗрдореЛрд░реА, рдмреИрдВрдбрд╡рд┐рдбреНрде рдЖрджрд┐...)

рдореИрдВрдиреЗ 3.0 рдореАрд▓ рдХрд╛ рдкрддреНрдерд░ рд╣рдЯрд╛ рджрд┐рдпрд╛, рддрд╛рдХрд┐ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдЗрд╕ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдореЗрдВ рд╡рд░реНрдгрд┐рдд рдЪрд░рдгреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдХрд▓-рдлрд╝рд╛рдЗрд▓ рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ рдЯреНрд░реИрдХ рдХрд░реЗ, рдЬреЛ рдХрд┐ 3.0 рд░рд┐рд▓реАрдЬрд╝ рдХреЗ рджрд╛рдпрд░реЗ рд╕реЗ рдмрд╛рд╣рд░ рд╣реИред

@sgf , рдореИрдВ рдорд╛рдирддрд╛ рд╣реВрдВ рдХрд┐ рдлрд╝рд╛рдЗрд▓ рдХреЗ рдЖрдХрд╛рд░ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЖрдХрд╛рд░ рдореЗрдВ рдХрдореА рдХреЗ рдЕрд╡рд╕рд░ рджреЛ рд░реВрдкреЛрдВ рдХреЗ рд╣реЛрддреЗ рд╣реИрдВ, рд╡реЗ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд╕рд┐рдВрдЧрд▓-рдПрдХреНрд╕рдИ рд╕реЗ рдмрдВрдзреЗ рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВ:
1) рдкреНрд░рдХрд╛рд╢рд┐рдд рд╣реЛрдиреЗ рд╡рд╛рд▓реА рд╕рд╛рдордЧреНрд░реА рдХреА рдорд╛рддреНрд░рд╛ рдХрдо рдХрд░реЗрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:
* рдЕрдирд╛рд╡рд╢реНрдпрдХ рдмрд╛рдпрдиреЗрд░рд┐рдЬрд╝, рдЕрд╕реЗрдВрдмрд▓реА рдХреЗ рд╣рд┐рд╕реНрд╕реЛрдВ рдЖрджрд┐ рдХреЛ рдЯреНрд░рд┐рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП ILLinker рдЬреИрд╕реЗ рдЯреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред
рдЗрд╕ рдХрд╛рдо рдХреЛ рдбреЙрдЯрдиреЗрдЯ/рдХреЛрд░рдХреНрд▓рд░#24092 рдФрд░ рдореЛрдиреЛ/рд▓рд┐рдВрдХрд░#607 рдЬреИрд╕реЗ рдореБрджреНрджреЛрдВ рджреНрд╡рд╛рд░рд╛ рдЕрд▓рдЧ рд╕реЗ рдЯреНрд░реИрдХ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
* рд╣рдо рдЕрдиреНрдп рдЙрдкрд╛рдпреЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреИрд╕реЗ "рдХрдо рдХреНрд╖рдорддрд╛" рдореЛрдб рд╣реЛрдирд╛ рдЬрд╣рд╛рдВ JITting рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИ
2) рд╕рд┐рдВрдЧрд▓-рдлрд╛рдЗрд▓ рдкрдмреНрд▓рд┐рд╢рд┐рдВрдЧ рдореЗрдВ рдХрдВрдкреНрд░реЗрд╢рди рдлреАрдЪрд░ рдЬреЛрдбрд╝реЗрдВред

рдЙрдкрд░реЛрдХреНрдд рд╕реБрд╡рд┐рдзрд╛рдПрдБ рдПрдХрд▓-рдлрд╝рд╛рдЗрд▓ (рдФрд░ рдЧреИрд░-рдПрдХрд▓-рдлрд╝рд╛рдЗрд▓) рдРрдкреНрд╕ рдХреЗ рдЖрдХрд╛рд░ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд╕рдХрддреА рд╣реИрдВ:
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣реИрд▓реЛрд╡рд░реНрд▓реНрдб рдХрдВрд╕реЛрд▓ рдРрдк рдХреЗ рд▓рд┐рдП,
рд╕рд╛рдорд╛рдиреНрдп рдкреНрд░рдХрд╛рд╢рди рдЖрдХрд╛рд░ = 67.4 рдПрдордмреА
рдЫрдВрдЯреЗ рд╣реБрдП рдЖрдХрд╛рд░ = 27 рдПрдордмреА
рдЫрдВрдЯрдиреА, рдПрдХрд▓ рдлрд╝рд╛рдЗрд▓, рд╕рдВрдкреАрдбрд╝рд┐рдд (рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ) = 12MB

@ рд╕реНрд╡рд░реВрдк-рд╢реНрд░реАрдзрд░ рдХреНрдпрд╛ рдЖрдкрдХреЗ рдЖрд╡реЗрджрди рдХреЗ рднреАрддрд░ рдЖрдкрдХреА рдПрдХрд▓ рдлрд╝рд╛рдЗрд▓ exe рдХрд╛ рдкрде рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рд╣реИ?
Assembly.GetExecutingAssembly().Location рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдирд┐рд╖реНрдХрд░реНрд╖рдг рдбреАрдЖрдИрдЖрд░ \AppData\Local\Temp.net рдореЗрдВ рдЖрдЙрдЯрдкреБрдЯ рд╣реЛрдЧрд╛ред

@ chris3713 рд╡рд░реНрддрдорд╛рди рдореЗрдВ exe рд╕реНрдерд╛рди рддрдХ рдкрд╣реБрдБрдЪрдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рддрд░реАрдХрд╛ PInvoke-ing рд╕реЗ рджреЗрд╢реА рдПрдкреАрдЖрдИ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП: GetModuleFileNameW (Null, <buffer>, <len>)

@ chris3713 рд╡рд░реНрддрдорд╛рди рдореЗрдВ exe рд╕реНрдерд╛рди рддрдХ рдкрд╣реБрдБрдЪрдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рддрд░реАрдХрд╛ PInvoke-ing рд╕реЗ рджреЗрд╢реА рдПрдкреАрдЖрдИ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП: GetModuleFileNameW (Null, <buffer>, <len>)

рдзрдиреНрдпрд╡рд╛рдж, рдореИрдВ Process.GetCurrentProcess().MainModule.FileName рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдорд╛рдкреНрдд рд╣реБрдЖред

PublishSingleFile=true рдХреЗ рд╕рд╛рде рдкреНрд░рдХрд╛рд╢рд┐рдд рд╡рд┐рдВрдбреЛрдЬ рд╕реЗрд╡рд╛ рдХреЗ рд░реВрдк рдореЗрдВ asp .net рдХреЛрд░ рд╡рд░реНрдХрд░/рд╡реЗрдм рдПрдкреАрдЖрдИ рдХреЗ рд╕рд╛рде рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

рдЬрдм рдореИрдВ рд╕реЗрд╡рд╛ рдкрдВрдЬреАрдХреГрдд рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ рдЗрд╕реЗ sc create testwk binPath="[...]/MyAspNetCoreWorker.exe" рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЪрд▓рд╛рддрд╛ рд╣реВрдВ рддреЛ sc start testwk рдореБрдЭреЗ рдпрд╣ рд╕рдлрд▓рддрд╛ рд╕рдВрджреЗрд╢ рдорд┐рд▓рд╛ рд╣реИ:

[...]\bin\publish\x64>sc start testwk

SERVICE_NAME: testwk
        TYPE               : 10  WIN32_OWN_PROCESS
        STATE              : 2  START_PENDING
                                (NOT_STOPPABLE, NOT_PAUSABLE, IGNORES_SHUTDOWN)
        WIN32_EXIT_CODE    : 0  (0x0)
        SERVICE_EXIT_CODE  : 0  (0x0)
        CHECKPOINT         : 0x0
        WAIT_HINT          : 0x7d0
        PID                : 5060
        FLAGS              :

[...]\bin\publish\x64>sc stop testwk

SERVICE_NAME: testwk
        TYPE               : 10  WIN32_OWN_PROCESS
        STATE              : 3  STOP_PENDING
                                (STOPPABLE, NOT_PAUSABLE, ACCEPTS_SHUTDOWN)
        WIN32_EXIT_CODE    : 0  (0x0)
        SERVICE_EXIT_CODE  : 0  (0x0)
        CHECKPOINT         : 0x0
        WAIT_HINT          : 0x0

рдореИрдВ рд╕реНрдЯреЗрдЬ 2 рдХреЛ рдмрдВрдбрд▓ рдореЗрдВ рдЪрд▓рд╛рдиреЗ рдХреЗ рд╕рд╛рде рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЗрдВрддрдЬрд╛рд░ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ЁЯША
рд╡реИрд╕реЗ, рдХреНрдпрд╛ рд╕реНрдЯреЗрдЬ 2 рдХреЛ рдЕрднреА рднреА .Net Core 3.0 рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдмрдирдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛рдИ рдЬрд╛рдПрдЧреА?

рдЖрдкрдХреЗ рдХрд╛рдо рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, .net рдХреЛрд░ рдореЗрдВ рдкреНрд░рдХрд╛рд╢рди рд╕реЗрд╡рд╛ рдЕрдм рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рд░рд▓ рд╣реИ

рдХреЛрд░рдЖрд░рдЯреА : (2.5 рдПрдордмреА)

image

image

рдХреЛрдИ рдЬрд╝рд┐рдк рд╣реИрдХ рдирд╣реАрдВ, рдХреЛрдИ рдЫрд┐рдкреА рд╣реБрдИ рд▓рд╛рдЧрдд рдирд╣реАрдВ , рдЗрдВрдЬрди рдореЗрдВ рдХреЗрд╡рд▓ рд╡рд╣реА рд╣реЛрддрд╛ рд╣реИ рдЬрд┐рд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдФрд░ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЛ csproj config (рдкреНрд░рддрд┐рдмрд┐рдВрдм) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрдХреНрд╖рдо рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдпрд╣ рд╡рд╣реА рд╣реИ рдЬреЛ рдбреЙрдЯрдиреЗрдЯ рдХреЛ рдЪрд╛рд╣рд┐рдП, рдпрд╣ рдЬреАрдУ рдХреЗ рд╕рд╛рде рдкреНрд░рддрд┐рд╕реНрдкрд░реНрдзрд╛ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдХрд┐ рдЖрдХрд╛рд░ рдФрд░ рдкреВрд░реНрдгрддрд╛ рджреЛрдиреЛрдВ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдЗрд╕реЗ рдкрд╛рд░ рдХрд░рддрд╛ рд╣реИ

рд░реБрдЪрд┐ рд░рдЦрдиреЗ рд╡рд╛рд▓реЗ рдХрд┐рд╕реА рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд▓рд┐рдП, рд░реЗрдкреЛ рджреЗрдЦреЗрдВ:

https://github.com/dotnet/corert

рдореЛрдиреЛрдЧреЗрдо рдХреЗ рд▓рд┐рдП рдирдореВрдиреЗ рд╣реИрдВ:

https://github.com/dotnet/corert/tree/master/samples/MonoGame

рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рд╕рдорд╛рдзрд╛рдиреЛрдВ рдореЗрдВ рд╕реЗ рдХреЛрдИ рднреА рдЗрд╕ рдкрд░рд┐рдгрд╛рдо рдХреЛ рдкреНрд░рд╛рдкреНрдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдХреЛрд░рдЖрд░рдЯреА тАЛтАЛрд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╣реИ, рдПрдордПрд╕ рдЗрд╕ рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рди рдХрд░рдХреЗ рдмрд╣реБрдд рдмрдбрд╝реА рдЧрд▓рддреА рдХрд░ рд░рд╣рд╛ рд╣реИ

рдореИрдВрдиреЗ macOS рдкрд░ dotnet-sdk-3.0.100-preview8-013656-osx-x64.tar.gz рдХреЗ рд╕рд╛рде рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рд╣реИред рдЕрдЧрд░ рд╣рдо рдбрд┐рдмрдЧ рд╕реЗ рд░рд┐рд▓реАрдЬ рдпрд╛ рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рд╕реНрд╡рд┐рдЪ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдлрд┐рд░ рд╕реЗ рдирд┐рд░реНрдорд╛рдг рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдЖрдХрд╛рд░ рдореЗрдВ 10 рдПрдордмреА рдЬреЛрдбрд╝рддрд╛ рд╣реИред рдЬрдм рддрдХ рд╣рдо bin рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЛ рд╣рдЯрд╛ рдирд╣реАрдВ рджреЗрддреЗ рддрдм рддрдХ рдкреБрд░рд╛рдиреЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рд╕рд╛рде рдкреБрди: рд╕рдВрдХрд▓рди рдЖрдХрд╛рд░ рдореЗрдВ рдЗрд╕ рд╡реГрджреНрдзрд┐ рдХреЛ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред

mkdir /tmp/dotnet-preview8
curl -s https://download.visualstudio.microsoft.com/download/pr/a974d0a6-d03a-41c1-9dfd-f5884655fd33/cf9d659401cca08c3c55374b3cb8b629/dotnet-sdk-3.0.100-preview8-013656-osx-x64.tar.gz | tar -xvz -C /tmp/dotnet-preview8
export PATH=/tmp/dotnet-preview8:$PATH

dotnet new console -o /tmp/myApp
pushd /tmp/myApp

# publish with Debug
dotnet publish /p:PublishSingleFile=true,RuntimeIdentifier=osx-x64,Configuration=Debug -o bin/a/b/c/d

bin/a/b/c/d/myApp
# outputs: Hello World!

du -sh bin/a/b/c/d
# outputs  70M  bin/a/b/c/d

# publish with Release
dotnet publish /p:PublishSingleFile=true,RuntimeIdentifier=osx-x64,Configuration=Release -o bin/a/b/c/d

du -sh bin/a/b/c/d
# outputs:  80M bin/a/b/c/d

# publish with Debug again
dotnet publish /p:PublishSingleFile=true,RuntimeIdentifier=osx-x64,Configuration=Debug -o bin/a/b/c/d
# still outputs:  80M   bin/a/b/c/d

рдмрд┐рд▓реНрдб рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рдмрджрд▓реЗ рдмрд┐рдирд╛ рднреА, рдпрджрд┐ рд╣рдо рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдирд┐рд░реНрдорд╛рдг рдХреЗ рдмрд╛рдж рдмрд╛рдж рдореЗрдВ рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг рд▓рдХреНрд╖реНрдп ( /t:Rebuild ) рдХрд╛ рдЖрд╣реНрд╡рд╛рди рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдЙрдЯрдкреБрдЯ рдЖрдХрд╛рд░ рдмрдврд╝ рдЬрд╛рддрд╛ рд╣реИред

рдзрдиреНрдпрд╡рд╛рдж @ am11 рдПрдХ рдмрд╛рд░ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдПред рдкреБрд░рд╛рдиреА рдмрд╛рдпрдиреЗрд░рд┐рдЬрд╝ рдХреЛ рдмрдирд╛рдП рд░рдЦрдирд╛ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рдирд╛ рдПрдХ рдЬреНрдЮрд╛рдд рд╕рдорд╕реНрдпрд╛ рд╣реИ (cc @nguerrera)ред

рдиреЗрдЯ рдХреЛрд░ 3 рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди 8 рдХреЗ рдмрд╛рдж рд╕реЗ, рдореИрдВ рдЕрдкрдиреА рдПрдХрд▓ рдлрд╝рд╛рдЗрд▓ рдкреНрд░рдХрд╛рд╢рд┐рдд рдРрдк рд▓реЙрдиреНрдЪ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ред
рдШрдЯрдирд╛ рджрд░реНрд╢рдХ рдореЗрдВ рдореБрдЭреЗ рдпрд╣ рддреНрд░реБрдЯрд┐ рд╣реИ:

image

рдореИрдВ рд╡рд┐рдВрдбреЛрдЬ рд╕рд░реНрд╡рд░ 2019 рдкрд░ рд╣реВрдВ

рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: рдпрд╣ рддреНрд░реБрдЯрд┐ .Net Core SDK Preview 7 рд╕реЗ .Net Core SDK Preview 8 рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рд╣реБрдИ рд╣реИред рд╕рд░реНрд╡рд░ рдХреЛ рд░рд┐рдмреВрдЯ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдореИрдВ рдЕрдкрдиреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдлрд┐рд░ рд╕реЗ рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рд▓реЙрдиреНрдЪ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред

@Safirion рд╣рдордиреЗ рдЗрди рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрдиреЛрдВ рдХреЗ рдЖрд╕рдкрд╛рд╕ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдЖрдВрддрд░рд┐рдХ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдмрджрд▓рд╛рд╡ рдХрд┐рдпрд╛ рд╣реИред рдпрд╣ рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рдЖрдкрдиреЗ рдПрдХ рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди рд╕реЗ рдЖрдЙрдЯрдкреБрдЯ рдХреЛ рд╕реНрдЯреНрд░реИрдбрд▓ рдХрд┐рдпрд╛ рдФрд░ рджреВрд╕рд░реЗ рдХреЗ рд╕рд╛рде рдмрдирд╛рдпрд╛ред рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди 8 рдФрд░ 9 рдХреЗ рдмреАрдЪ рдХреЛрдИ рд╡рд┐рд░рд╛рдо рдирд╣реАрдВ рд╣реИред

рд▓рд┐рдирдХреНрд╕ рдкрд░ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдирд┐рд╖реНрдХрд░реНрд╖рдг рдкрде /var/tmp/.net рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИред рдПрдбрдмреНрд▓реНрдпреВрдПрд╕ рд▓реИрдореНрдмреНрдбрд╛ рдкрд░ /var рдкрде рд▓рд┐рдЦрдиреЗ рдпреЛрдЧреНрдп рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЙрд╕ рдлрд╝реЛрд▓реНрдбрд░ рдХреЛ рдмрдирд╛рдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓ рд░рд╣рддрд╛ рд╣реИред DOTNET_BUNDLE_EXTRACT_BASE_DIR рдХреЛ рд╕реЗрдЯ рдХрд┐рдП рдмрд┐рдирд╛ рдмреЙрдХреНрд╕ рд░рдиреЗрдмрд┐рд▓рд┐рдЯреА рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдореИрдВ рдЗрд╕реЗ /tmp/.net рдореЗрдВ рдмрджрд▓рдиреЗ рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рдХрд░рддрд╛ рд╣реВрдВред рдпрд╛ рд╢рд╛рдпрдж рд╕рд╛рдорд╛рдиреНрдп рд╕реНрдерд╛рдиреЛрдВ рдкрд░ рдХрдИ рдкреНрд░рдпрд╛рд╕ рд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдП (/ var/tmp,/tmp, рдмрд╛рдЗрдирд░реА рдХреЗ рд╕рдорд╛рди рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛, рдЖрджрд┐)

@ stevemk14ebr рдЙрд╕ рдореБрджреНрджреЗ рдХреА рд░рд┐рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдХреНрдпрд╛ рдЖрдк рдЙрд╕ рдХрд╛рд░реНрдп рдХреЛ рдЯреНрд░реИрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдирдпрд╛ рдорд╛рдорд▓рд╛ рджрд░реНрдЬ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ? https://github.com/dotnet/core-setup

@jeffschwMSFT рдЙрд╕реА рддреНрд░реБрдЯрд┐ рдХреЛ .Net Core P9 рд╕реЗ RC1 рддрдХ рдкрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд╕рд╛рде рдлреЗрдВрдХ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред

Description: A .NET Core application failed.
Application: Setup.exe
Path: C:\Users\Administrateur\Desktop\Setup.exe
Message: Failure processing application bundle.
Failed to determine location for extracting embedded files
A fatal error was encountered. Could not extract contents of the bundle

@Safirion рдЗрд╕ рдореБрджреНрджреЗ рдХреА рд░рд┐рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдХреНрдпрд╛ рдЖрдк рдЗрд╕реЗ рдкреБрди: рдкреЗрд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ рдореБрджреНрджрд╛ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ? https://github.com/dotnet/core-setup
рд╕реАрд╕реА @ рд╕реНрд╡рд░реВрдк-рд╢реНрд░реАрдзрд░

@Safirion рдХреНрдпрд╛ рдЖрдк рдХреГрдкрдпрд╛ рд░реЗрдкреНрд░реЛ рдирд┐рд░реНрджреЗрд╢ рднреЗрдЬ рд╕рдХрддреЗ рд╣реИрдВ? рдХреНрдпрд╛ рдпрд╣ рд╡рд┐рдлрд▓рддрд╛ рдирд┐рдпрддрд╛рддреНрдордХ рд╣реИ?
рдЬреИрд╕рд╛ рдХрд┐ @jeffschwMSFT рдиреЗ рдКрдкрд░ рд╕реБрдЭрд╛рд╡ рджрд┐рдпрд╛ рд╣реИ, рдХреГрдкрдпрд╛ рдХреЛрд░-рд╕реЗрдЯрдЕрдк рд░реЗрдкреЛ рдореЗрдВ рд╕рдорд╕реНрдпрд╛ рджрд░реНрдЬ рдХрд░реЗрдВред

рдореИрдВрдиреЗ рдЗрд╕реЗ рджреЗрдЦрд╛ рдФрд░ рдпрд╣ рддрднреА рд╣реЛрдЧрд╛ рдЬрдм рдРрдк рдРрд╕реЗ рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдЪрд▓ рд░рд╣рд╛ рд╣реЛ рдЬрд╣рд╛рдВ рдЕрд╕реНрдерд╛рдпреА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдкрд╣реБрдВрдЪ рдпреЛрдЧреНрдп рдирд╣реАрдВ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдпрджрд┐ рдореИрдВ рдРрд╕рд╛ рдХрд░рддрд╛ рд╣реВрдВ:

set "TMP=wrong_path"
myapp.exe

рдпрд╣ рд╡рд┐рдлрд▓ рд░рд╣рддрд╛ рд╣реИ

Failure processing application bundle.
Failed to determine location for extracting embedded files
A fatal error was encountered. Could not extract contents of the bundle

рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдмрдВрдбрд▓ GetTempPath win32 API рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрд╕реНрдерд╛рдпреА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреА рддрд▓рд╛рд╢ рдХрд░рддрд╛ рд╣реИред рдЬреЛ env рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдЪрд░ TMP , рдЙрд╕рдХреЗ рдмрд╛рдж TEMP рдФрд░ рдЗрд╕реА рддрд░рд╣ред рдпрджрд┐ рдорд╛рди рдХреЗ рд╕рд╛рде рдкрд╣рд▓реЗ рдореЗрдВ рдЕрдорд╛рдиреНрдп рдкрде рд╣реИ, рддреЛ рдпрд╣ рдЗрд╕ рддрд░рд╣ рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред

рдЖрдк рдпрд╛ рддреЛ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдХреЗ рдЗрд╕реЗ рдареАрдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЕрд╕реНрдерд╛рдпреА рдкрде рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рд╕реЗрдЯ рд╣реИ, рдпрд╛ рдЖрдк рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ DOTNET_BUNDLE_EXTRACT_BASE_DIR рдХреЛ рдЙрд╕ рд╕реНрдерд╛рди рдкрд░ рд╕реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд╣рд╛рдВ рдЖрдк рдирд┐рд╖реНрдХрд░реНрд╖рдг рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред

@Safirion рдХреНрдпрд╛ рдЖрдк рдХреГрдкрдпрд╛ рд░реЗрдкреНрд░реЛ рдирд┐рд░реНрджреЗрд╢ рднреЗрдЬ рд╕рдХрддреЗ рд╣реИрдВ? рдХреНрдпрд╛ рдпрд╣ рд╡рд┐рдлрд▓рддрд╛ рдирд┐рдпрддрд╛рддреНрдордХ рд╣реИ?
рдЬреИрд╕рд╛ рдХрд┐ @jeffschwMSFT рдиреЗ рдКрдкрд░ рд╕реБрдЭрд╛рд╡ рджрд┐рдпрд╛ рд╣реИ, рдХреГрдкрдпрд╛ рдХреЛрд░-рд╕реЗрдЯрдЕрдк рд░реЗрдкреЛ рдореЗрдВ рд╕рдорд╕реНрдпрд╛ рджрд░реНрдЬ рдХрд░реЗрдВред

рдореИрдВ рдиреЗрдЯ рдХреЛрд░ рдХреЛ RC1 рдореЗрдВ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдФрд░ рдЕрдкрдиреЗ рд╕рд░реНрд╡рд░ рдХреЛ рдкреБрдирд░рд╛рд░рдВрдн рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдкреБрди: рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реВрдВред (рдореИрдВрдиреЗ RC1 рдХреА рд╕реНрдерд╛рдкрдирд╛ рд░рджреНрдж рдХрд░рдиреЗ рдФрд░ RC1 рдореЗрдВ рдлрд┐рд░ рд╕реЗ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди 9 рдХреЛ рдлрд┐рд░ рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдореЗрд░рд╛ рдРрдк рдЗрд╕ рдмрд╛рд░ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд▓реЙрдиреНрдЪ рд╣реБрдЖ)

рдпрд╣ рддреНрд░реБрдЯрд┐ SDK 3.0 P7 рд╕реЗ SDK 3.0 P8 рдФрд░ SDK 3.0 P9 рд╕реЗ SDK 3.0 RC1 рддрдХ рдЬрд╛рдиреЗ рдХреЗ рд╕рд╛рде рд╣реБрдИ рд╣реИред
рдФрд░ рджреЛ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рд╕рд░реНрд╡рд░ рдХрд╛ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдкреБрдирд░рд╛рд░рдВрдн рд╕рдорд╕реНрдпрд╛ рдХреЛ рдареАрдХ рдХрд░рддрд╛ рд╣реИред

рдЬрдм рдореИрдВрдиреЗ RC1 рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд┐рдпрд╛ рд╣реИ рддреЛ рдореИрдВ рдПрдХ .Net Core Windows рд╕реЗрд╡рд╛ (рд╕рд┐рд╕реНрдЯрдо рджреНрд╡рд╛рд░рд╛ рд▓реЙрдиреНрдЪ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рд╕реЗ рдирд┐рдХрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП C:\Windows\Temp\.net рдлрд╝реЛрд▓реНрдбрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдХрд╛рд░реНрдпрдХрд░реНрддрд╛) рдФрд░ рдПрдХ .Net Core WPF рдРрдк (рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рд╕рддреНрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рджреНрд╡рд╛рд░рд╛ рд▓реЙрдиреНрдЪ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВред рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рддреНрд░реБрдЯрд┐ .NET рдХреЛрд░ рдПрд╕рдбреАрдХреЗ рдЗрдВрд╕реНрдЯреЙрд▓ рдХреЗ рджреМрд░рд╛рди рдЪрд▓ рд░рд╣реЗ рдиреЗрдЯ рдХреЛрд░ рд╡рд░реНрдХрд░ рдХреЗ рдХрд╛рд░рдг рд╣реЛ, рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ ...

рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдореИрдВ рдПрд╕рдбреАрдХреЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ рд░рдирдЯрд╛рдЗрдо рдирд╣реАрдВ рдХреНрдпреЛрдВрдХрд┐ рдореБрдЭреЗ рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ 3 рдХреЛрд░ рд░рдирдЯрд╛рдЗрдо (рдПрдПрд╕рдкреАрдиреЗрдЯ рдХреЛрд░, рдбреЗрд╕реНрдХрдЯреЙрдк .рдиреЗрдЯ рдХреЛрд░ рдФрд░ рдХреЛрд░) рдХреЛ рддреИрдирд╛рдд рдХрд░рдирд╛ рдкрдбрд╝рддрд╛ рд╣реИ рдФрд░ https://dot.net рд╣рдореЗрдВ "рдкреВрд░реНрдг рд░рдирдЯрд╛рдЗрдо" рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИ рдЗрдВрд╕реНрдЯреЙрд▓рд░" (рдореБрдЭреЗ рдбреЗрд╕реНрдХрдЯреЙрдк рд░рдирдЯрд╛рдЗрдо рдЗрдВрд╕реНрдЯреЙрд▓рд░ рднреА рдирд╣реАрдВ рдорд┐рд▓рд╛, рдХреЛрдИ рд╡рд┐рдХрд▓реНрдк рдирд╣реАрдВ) ...

рдЕрджреНрдпрддрди: рдХреЛрдИ рдмрд╛рдд рдирд╣реАрдВ, рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдорд┐рд▓рд╛ред

рдЕрд░реЗ рд╡рд╣рд╛рдБ, рдЖрдкрдХреА рдХрдбрд╝реА рдореЗрд╣рдирдд рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж!

рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓реЗрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП App.config) рдХреИрд╕реЗ рд╡рд┐рддрд░рд┐рдд рдХреА рдЬрд╛рдиреА рдЪрд╛рд╣рд┐рдП? рдореИрдВрдиреЗ рдЕрднреА рд╕рдЯреАрдХ рдХрдорд╛рдВрдб рдЕрдиреБрдХреНрд░рдо рдХреЗ рд╕рд╛рде RHEL 7.6 рдкрд░ рдПрдХ рдХрдВрд╕реЛрд▓ рдРрдк рдмрдирд╛рдпрд╛ рд╣реИ:

dotnet restore -r win-x64 --configfile Nuget.config
dotnet build Solution.sln --no-restore -c Release -r win-x64
dotnet publish --no-build --self-contained -c Release -r win-x64 /p:PublishSingleFile=true -o ./publish ./SomeDir/SomeProj.csproj

рдЬрд╣рд╛рдВ SomeProj.csproj рдореЗрдВ <PublishTrimmed>true</PublishTrimmed> рд╕рдХреНрд╖рдо рд╣реИ, рдФрд░ рдкрд░рд┐рдгрд╛рдо рдХреЗ рд░реВрдк рдореЗрдВ 2 рдлрд╝рд╛рдЗрд▓реЗрдВ рдорд┐рд▓реА рд╣реИрдВ: SomeProj.exe рдФрд░ SomeProj.pdb , рд▓реЗрдХрд┐рди SomeProj.config рдирд╣реАрдВ

@catlion *.config рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЙрдиреНрд╣реЗрдВ рдмрдВрдбрд▓ рд╕реЗ рдмрд╛рд╣рд░ рд░рдЦрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рд╕рднреА рдЧреИрд░ рдкреАрдбреАрдмреА рдлрд╛рдЗрд▓реЗрдВ рдмрдВрдбрд▓ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрддреА рд╣реИрдВред
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдПрдХрд▓ рдлрд╝рд╛рдЗрд▓ рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рдмрд╛рд╣рд░ рдХрд░ рджреЗрдЧрд╛:

<ItemGroup>
    <Content Update="*.config">
      <CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
      <ExcludeFromSingleFile>true</ExcludeFromSingleFile>
    </Content>
  </ItemGroup>

https://github.com/dotnet/designs/blob/master/accepted/single-file/design.md#build -system-interface

@morganbr

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

рд╡рд┐рдВрдбреЛрдЬрд╝ рдХреЗ рд▓рд┐рдП рд╣реЗрдбрд▓реЗрд╕ рдФрд░ рдбрдмреНрд▓реНрдпреВрдкреАрдПрдл рдРрдкреНрд╕

рдХреНрдпрд╛ рдЖрдкрдХреЗ рдРрдк рдореЗрдВ (рдЧреИрд░-.NET) C++/рдореВрд▓ рдХреЛрдб рд╢рд╛рдорд┐рд▓ рд╣реИ?

рд╣рд╛рдВ, рд╣рдо рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░ рдХреЗ рджреЗрд╢реА рдбреАрдПрд▓рдПрд╕ рдХреЛ рдкреА/рдЖрдордВрддреНрд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдХреБрдЫ рддреГрддреАрдп-рдкрдХреНрд╖ рдЖрдЗрдЯрдо рдЬрд┐рди рдкрд░ рд╣рдорд╛рд░рд╛ рдХреЛрдИ рдирд┐рдпрдВрддреНрд░рдг рдирд╣реАрдВ рд╣реИ, рдХреБрдЫ рдЕрдиреНрдп рдЯреАрдореЛрдВ рд╕реЗ рдЖрдВрддрд░рд┐рдХ рд╣реИрдВред

рдХреНрдпрд╛ рдЖрдкрдХрд╛ рдРрдк рдкреНрд▓рдЧрдЗрдиреНрд╕ рдпрд╛ рдЕрдиреНрдп рдмрд╛рд╣рд░реА рдбреАрдПрд▓рдПрд╕ рд▓реЛрдб рдХрд░реЗрдЧрд╛ рдЬрд┐рдиреНрд╣реЗрдВ рдЖрдкрдиреЗ рдореВрд▓ рд░реВрдк рд╕реЗ рдЕрдкрдиреЗ рдРрдк рдмрд┐рд▓реНрдб рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдерд╛?

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

рдХреНрдпрд╛ рдЖрдк рд╕реБрд░рдХреНрд╖рд╛ рд╕реБрдзрд╛рд░реЛрдВ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рдРрдк рдХрд╛ рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг рдФрд░ рдкреБрдирд░реНрд╡рд┐рддрд░рдг рдХрд░рдиреЗ рдХреЗ рдЗрдЪреНрдЫреБрдХ рд╣реИрдВ?

рд╣рд╛рдВ

рдпрджрд┐ рдЖрдкрдХрд╛ рдРрдк 200-500 ms рдЕрдзрд┐рдХ рдзреАрдореА рдЧрддрд┐ рд╕реЗ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ рддреЛ рдХреНрдпрд╛ рдЖрдк рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ? 5 рд╕реЗрдХрдВрдб рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛?

рд╣рд╛рдВ, рд╣рдорд╛рд░рд╛ рдРрдк рдЖрдо рддреМрд░ рдкрд░ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдЦреБрд▓рд╛ рд░рд╣рддрд╛ рд╣реИред

рдХреНрдпрд╛ рдЖрдк рдЖрдХрд╛рд░ рдФрд░/рдпрд╛ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рд╕рдордп рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд▓рдВрдмрд╛ рд░рд┐рд▓реАрдЬрд╝ рдмрд┐рд▓реНрдб рд╕рдордп рд╕реНрд╡реАрдХрд╛рд░ рдХрд░реЗрдВрдЧреЗ? рдЖрдк рд╕рдмрд╕реЗ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдХреНрдпрд╛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░реЗрдВрдЧреЗ? 15 рд╕реЗрдХрдВрдб? 30 рд╕реЗрдХрдВрдб? 1 рдорд┐рдирдЯ? 5 рдорд┐рдирдЯ?

рд╣рд╛рдВ, рд╣рдо рдХрдИ рдорд┐рдирдЯ рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдХреНрдпрд╛ рдЖрдк рдЕрддрд┐рд░рд┐рдХреНрдд рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рдЗрдЪреНрдЫреБрдХ рд╣реЛрдВрдЧреЗ рдпрджрд┐ рдпрд╣ рдЖрдкрдХреЗ рдРрдк рдХреЗ рдЖрдХрд╛рд░ рдХреЛ рдЖрдзрд╛ рдХрд░ рджреЗрдЧрд╛?

рд╣рд╛рдВ

рдзрдиреНрдпрд╡рд╛рдж @ рдЬреЙрди-рдХреБрд▓реЗрди

рдирд┐рд╖реНрдХрд░реНрд╖рдг рдХреЗ рдмрд┐рдирд╛ рд╕рд┐рдВрдЧрд▓-рдлрд╛рдЗрд▓ рдРрдкреНрд╕ рдЪрд▓рд╛рдиреЗ рдХреЗ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдкреАрдЖрд░ рдХреЛ рд╕рд┐рдВрдЧрд▓-рдПрдХреНрд╕рдИ рд╢рд╛рдЦрд╛ рд╕реЗ рдЬреЛрдбрд╝рдирд╛ ( рдЪрд░рдг 4 )ред

https://github.com/dotnet/coreclr/pull/26197
https://github.com/dotnet/coreclr/pull/26504
https://github.com/dotnet/coreclr/pull/26697
https://github.com/dotnet/coreclr/pull/26904

рдореБрдЭреЗ @morganbr рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдЙрддреНрддрд░ рднреА рджреЗрдВ :) рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдХреНрдпрд╛ рдЖрдк рдЕрднреА рднреА рдЗрдиреНрд╣реЗрдВ рдкрдврд╝рддреЗ рд╣реИрдВ :)

  1. рдЖрдк рдХрд┐рд╕ рдкреНрд░рдХрд╛рд░ рдХреЗ рдРрдк рдХреЗ рд╕рд╛рде рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд░рдЦрддреЗ рд╣реИрдВ? (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рд╡рд┐рдВрдбреЛрдЬрд╝ рдкрд░ рдбрдмреНрд▓реНрдпреВрдкреАрдПрдл? рдПрдПрд╕рдкреА.рдиреЗрдЯ рдПрдХ рд▓рд┐рдирдХреНрд╕ рдбреЙрдХрд░ рдХрдВрдЯреЗрдирд░ рдореЗрдВ? рдХреБрдЫ рдФрд░?)

рд╡рд┐рднрд┐рдиреНрди рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ (рд▓рд┐рдирдХреНрд╕, рдореИрдХрдУрдПрд╕, рд╡рд┐рдВрдбреЛрдЬ) рдкрд░ рдЪрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдЯреЗрдХреНрд╕реНрдЯ рдПрдбрд╡реЗрдВрдЪрд░реНрд╕ (рдХрдВрд╕реЛрд▓ рдРрдкреНрд╕)

  1. рдХреНрдпрд╛ рдЖрдкрдХреЗ рдРрдк рдореЗрдВ (рдЧреИрд░-.NET) C++/рдореВрд▓ рдХреЛрдб рд╢рд╛рдорд┐рд▓ рд╣реИ?

рдирд╣реАрдВред

  1. рдХреНрдпрд╛ рдЖрдкрдХрд╛ рдРрдк рдкреНрд▓рдЧрдЗрдиреНрд╕ рдпрд╛ рдЕрдиреНрдп рдмрд╛рд╣рд░реА рдбреАрдПрд▓рдПрд╕ рд▓реЛрдб рдХрд░реЗрдЧрд╛ рдЬрд┐рдиреНрд╣реЗрдВ рдЖрдкрдиреЗ рдореВрд▓ рд░реВрдк рд╕реЗ рдЕрдкрдиреЗ рдРрдк рдмрд┐рд▓реНрдб рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдерд╛?

рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдирд╣реАрдВ, рд▓реЗрдХрд┐рди рдХреБрдЫ рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд▓рдВрдмреЗ рд╕рдордп рдореЗрдВ рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ред

  1. рдХреНрдпрд╛ рдЖрдк рд╕реБрд░рдХреНрд╖рд╛ рд╕реБрдзрд╛рд░реЛрдВ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рдРрдк рдХрд╛ рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг рдФрд░ рдкреБрдирд░реНрд╡рд┐рддрд░рдг рдХрд░рдиреЗ рдХреЗ рдЗрдЪреНрдЫреБрдХ рд╣реИрдВ?

рд╣рд╛рдВред

  1. рдпрджрд┐ рдЖрдкрдХрд╛ рдРрдк 200-500 ms рдЕрдзрд┐рдХ рдзреАрдореА рдЧрддрд┐ рд╕реЗ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ рддреЛ рдХреНрдпрд╛ рдЖрдк рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ? 5 рд╕реЗрдХрдВрдб рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛?

рд╣рд╛рдВред
(рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдХреБрдЫ рд╣реЛ рд░рд╣рд╛ рд╣реИ рдпрд╣ рд╕реВрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдЯреЗрдХреНрд╕реНрдЯ рдЖрдЙрдЯрдкреБрдЯ рдпрд╛ рд╕рдВрджреЗрд╢ рдмреЙрдХреНрд╕ рдкреНрд░рджрд╛рди рдХрд░рдирд╛ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛)

  1. рдЖрдк рдЕрдкрдиреЗ рдРрдк рдХреЗ рд▓рд┐рдП рд╕реНрд╡реАрдХрд╛рд░реНрдп рд╕рдмрд╕реЗ рдмрдбрд╝рд╛ рдЖрдХрд╛рд░ рдХреНрдпрд╛ рдорд╛рдиреЗрдВрдЧреЗ? 5 рдПрдордмреА? 10? 20? 50? 75? 100?

10-20 рдПрдордмреАред

  1. рдХреНрдпрд╛ рдЖрдк рдЖрдХрд╛рд░ рдФрд░/рдпрд╛ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рд╕рдордп рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд▓рдВрдмрд╛ рд░рд┐рд▓реАрдЬрд╝ рдмрд┐рд▓реНрдб рд╕рдордп рд╕реНрд╡реАрдХрд╛рд░ рдХрд░реЗрдВрдЧреЗ? рдЖрдк рд╕рдмрд╕реЗ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдХреНрдпрд╛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░реЗрдВрдЧреЗ? 15 рд╕реЗрдХрдВрдб? 30 рд╕реЗрдХрдВрдб? 1 рдорд┐рдирдЯ? 5 рдорд┐рдирдЯ?

1+ рдорд┐рдирдЯ рдареАрдХ рд╣реИред

  1. рдХреНрдпрд╛ рдЖрдк рдЕрддрд┐рд░рд┐рдХреНрдд рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рдЗрдЪреНрдЫреБрдХ рд╣реЛрдВрдЧреЗ рдпрджрд┐ рдпрд╣ рдЖрдкрдХреЗ рдРрдк рдХреЗ рдЖрдХрд╛рд░ рдХреЛ рдЖрдзрд╛ рдХрд░ рджреЗрдЧрд╛?

рд╕рдВрднрд╡рддрдГред

рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, @lenardgред

рдпрд╣ рд╕рдорд╕реНрдпрд╛ .NET Core 3.0 рдПрдХрд▓-рдлрд╝рд╛рдЗрд▓ рд╡рд┐рддрд░рдг рд╕реБрд╡рд┐рдзрд╛ рдкрд░ рдкреНрд░рдЧрддрд┐ рдХреЛ рдЯреНрд░реИрдХ рдХрд░рддреА рд╣реИред
рдпрд╣рд╛рдБ рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдФрд░ рд╕реНрдЯреЗрдЬрд┐рдВрдЧ рдпреЛрдЬрдирд╛ рд╣реИред

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

  1. рд╕рд╢рд░реНрдд рд░реВрдк рд╕реЗ рдПрдХрд▓ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдкреИрдХ рдХрд░рддреЗ рд╕рдордп рд╕рдВрдкреАрдбрд╝рд┐рдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ?
    рдпрд╛рдиреА рд░реИрдк рдХреЛ рд▓реЙрдЬрд┐рдХ рдХреА рддрд░рд╣ рдЬреЛрдбрд╝реЗрдВ, рдЗрд╕рд▓рд┐рдП рд╣рдореЗрдВ рдЕрдиреНрдп рдЯреВрд▓реНрд╕ рдЗрдВрдЯреАрдЧреНрд░реЗрд╢рди рдХреА рдЬрд░реВрд░рдд рдирд╣реАрдВ рд╣реИред
    рд╕рдВрдкреАрдбрд╝рд┐рдд рдФрд░ рднреА рдЫреЛрдЯреЗ exe рдХрд╛ рдЙрддреНрдкрд╛рджрди рдХрд░реЗрдЧрд╛ред

  2. Exe рд▓реЙрдиреНрдЪ рдХрд░рддреЗ рд╕рдордп, рдпрд╣ рдЕрдкрдиреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рдПрдХ рдЕрд╕реНрдерд╛рдпреА рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИред рд╣рдорд╛рд░реЗ рдЙрддреНрдкрд╛рдж рдХреЗ рд▓рд┐рдП, рдХреБрдЫ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕рд╛рдЗрдЯреЛрдВ рдкрд░, рдХреНрд▓рд╛рдЗрдВрдЯ рдорд╢реАрдиреЛрдВ рдХреЛ рдХрд╕рдХрд░ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рд╡реЗ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдХреЛ рдЕрд╕реНрдерд╛рдпреА рдлрд╝реЛрд▓реНрдбрд░ рдпрд╛ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ %userprofile% рд╕реНрдерд╛рдиреЛрдВ рд╕реЗ рд▓реЙрдиреНрдЪ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗрддреЗ рд╣реИрдВред

рдХреНрдпрд╛ рдпрд╣ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛/рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ рдХрд┐ ".\extract" рдпрд╛ рдРрд╕реЗ рд╕рдмрдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдХрд╣рд╛рдВ рд╕реЗ рдирд┐рдХрд╛рд▓рдирд╛ рд╣реИ рдпрд╛ 'рдЗрди рдкреНрд▓реЗрд╕ рдПрдХреНрд╕рдЯреНрд░реИрдХреНрдЯ' рд╣реЛ рд╕рдХрддрд╛ рд╣реИ?
рдпрд╣ рд╕рдореВрд╣ рдиреАрддрд┐рдпреЛрдВ рдХреЗ рдЕрдиреБрдкрд╛рд▓рди рдХреЗ рд╕рд╛рде-рд╕рд╛рде рдПрдХрд▓ exe рд╕реБрд╡рд┐рдзрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред

  1. рдкреИрдХрд┐рдВрдЧ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдХреНрдпрд╛ рдлрд╝реЛрд▓реНрдбрд░ рдкрд░ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ рдФрд░ рдлрд┐рд░ рд╡рд╣ рдкреИрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдлрд╝рд╛рдЗрд▓реЗрдВ рдЪреБрдирддрд╛ рд╣реИ?
    рд╣рдо рдПрдХрд▓ exe рдкрд░ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдирд┐рдХрд╛рд▓рдиреЗ рдкрд░ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдирд╣реАрдВ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рдФрд░ рдЗрд╕рд▓рд┐рдП рдХреБрдЫ рдЕрдиреНрдп рдХреНрд▓рд╛рдЗрдВрдЯ рд╕реНрдерд╛рдиреЛрдВ рдкрд░, рдпрд╣ рдирд┐рд╖реНрдкрд╛рджрди рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИ, рдЬрдм рддрдХ рдХрд┐ рдмрд╛рдпрдиреЗрд░рд┐рдЬрд╝ рдкрд░ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдирд╣реАрдВ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред

рдмрд╕ рдЖрдкрдХреЛ рдмрддрд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛, рдореИрдВрдиреЗ рдЖрдЬ @Safirion рдЬреИрд╕рд╛ рд╣реА рдореБрджреНрджрд╛ рджреЗрдЦрд╛ред рдореЗрд░реЗ рдкрд╛рд╕ рдЙрдмрдВрдЯреВ рдХреЛ рд▓рдХреНрд╖рд┐рдд рдПрдХ рдбреЙрдЯрдиреЗрдЯрдХреЛрд░ 3.0 рдРрдк рд╣реИ, рдФрд░ рдЗрд╕реЗ рдореЗрд░реЗ рд╕рд┐рдиреЛрд▓реЙрдЬреА рд╕рд░реНрд╡рд░ рдкрд░ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЪрд▓рд╛ рдЧрдпрд╛ред рдпрд╣ рдирд╣реАрдВ рдирд┐рдХрд╛рд▓реЗрдЧрд╛ - рдПрдХ рддреНрд░реБрдЯрд┐ рдХреЗ рд╕рд╛рде рд╡рд┐рдлрд▓ рд░рд╣рддрд╛ рд╣реИ "рдПрдХ рдШрд╛рддрдХ рддреНрд░реБрдЯрд┐ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛ред рдмрдВрдбрд▓ рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рдирд╣реАрдВ рдирд┐рдХрд╛рд▓рд╛ рдЬрд╛ рд╕рдХрд╛"ред рдХрдИ рдмрд╛рд░ рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг рдХрд┐рдпрд╛, рд▓реЗрдХрд┐рди рдПрдХ рд╣реА рдмрд╛рддред рд╣реЛрд╕реНрдЯ рдХреЛ рд░рд┐рдмреВрдЯ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЗрд╕рдиреЗ рдлрд┐рд░ рд╕реЗ рдареАрдХ рдХрд╛рдо рдХрд┐рдпрд╛ред

рдпрд╣ рд╕рдордЭрдиреЗ рдореЗрдВ рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧрд╛ рдХрд┐ рдпрд╣рд╛рдВ рдХреЛрдИ рдлрд╝рд╛рдЗрд▓ рд▓реЙрдХ рдпрд╛ рдХреБрдЫ рд╣реИ, рдФрд░ рдпрджрд┐ рдЗрд╕реЗ рдбреАрдмрдЧ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреЛрдИ рд╕рдордп рд╣реИред

@RajeshAKumar рдбреЙрдЯрдиреЗрдЯ /рдХреЛрд░-рд╕реЗрдЯрдЕрдк#7940

рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рд▓рд┐рдВрдХ рдХреИрд╕реЗ рдорджрдж рдХрд░рддрд╛ рд╣реИред
рдпрд╣ рд╕рд┐рд░реНрдл рдЕрд╕реНрдерд╛рдпреА рдирд┐рдХрд╛рд╕реА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рддрд╛ рд╣реИ, рдореИрдВрдиреЗ рдКрдкрд░ 3 рдЕрдВрдХ рд╕реВрдЪреАрдмрджреНрдз рдХрд┐рдП рд╣реИрдВред

рдФрд░ рдореИрдВрдиреЗ рдЖрдкрдХреЛ рдЙрдирдореЗрдВ рд╕реЗ рдПрдХ рдХреЗ рд▓рд┐рдП рд╕рдорд╛рдзрд╛рди рджрд┐рдпрд╛ред рдореБрдЭреЗ рдЕрдиреНрдп 2 . рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреЛрдИ рдЬрд╛рдирдХрд╛рд░реА рдирд╣реАрдВ рд╣реИ

рдФрд░ рдореИрдВрдиреЗ рдЖрдкрдХреЛ рдЙрдирдореЗрдВ рд╕реЗ рдПрдХ рдХреЗ рд▓рд┐рдП рд╕рдорд╛рдзрд╛рди рджрд┐рдпрд╛ред рдореБрдЭреЗ рдЕрдиреНрдп 2 . рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреЛрдИ рдЬрд╛рдирдХрд╛рд░реА рдирд╣реАрдВ рд╣реИ

рдЕрд╕реНрдерд╛рдпреА рдЕрд░реНрдХ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рд╣реИред рдореЗрд░рд╛ рдЕрдиреБрд░реЛрдз рдпрд╣ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдереА рдХрд┐ рдпрд╣ рд╕рдмрдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдХрд╣рд╛рдВ рд╕реЗ рдирд┐рдХрд╛рд▓рддрд╛ рд╣реИ рдпрд╛ рдЬрдЧрд╣ рдореЗрдВ рдирд┐рдХрд╛рд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рд╣рдорд╛рд░реЗ рдХрдИ рдХреНрд▓рд╛рдЗрдВрдЯ рдХрдВрдкреНрдпреВрдЯрд░реЛрдВ рдкрд░ рдЖрдИрдЯреА рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдЕрд╕реНрдерд╛рдпреА рдлрд╝реЛрд▓реНрдбрд░реЛрдВ рдпрд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓ рд╕реЗ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп (рдУрдВ) рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗрддреЗ рд╣реИрдВред
рдХреГрдкрдпрд╛ рдкреЛрд╕реНрдЯ рдХреЛ рдлрд┐рд░ рд╕реЗ рдкрдврд╝реЗрдВ https://github.com/dotnet/coreclr/issues/20287#issuecomment -542497711

@RajeshAKumar : рдЖрдк рдЖрдзрд╛рд░ рдкрде рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП DOTNET_BUNDLE_EXTRACT_BASE_DIR рд╕реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд╣рд╛рдВ рд╣реЛрд╕реНрдЯ рдмрдВрдбрд▓ рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рдирд┐рдХрд╛рд▓рддрд╛ рд╣реИред
рдХреГрдкрдпрд╛ рдЕрдзрд┐рдХ рд╡рд┐рд╡рд░рдг рдпрд╣рд╛рдВ рджреЗрдЦреЗрдВ: https://github.com/dotnet/designs/blob/master/accepted/single-file/extract.md#extraction -location

@RajeshAKumar : рдмрдВрдбрд▓ рдХрд┐рдП рдЧрдП рд╕рд┐рдВрдЧрд▓-рдПрдХреНрд╕рдИ рдХрд╛ рд╕рдВрдкреАрдбрд╝рди .net 5 рдХреЗ рд▓рд┐рдП рд╡рд┐рдЪрд╛рд░рд╛рдзреАрди рдПрдХ рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реИ: https://github.com/dotnet/designs/blob/master/accepted/single-file/design.md#compression

рдЕрднреА рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдЙрддреНрдкрдиреНрди рдПрдХрд▓-exe рдХреЛ рд╕рдВрдкреАрдбрд╝рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдиреНрдп рдЙрдкрдпреЛрдЧрд┐рддрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред

@RajeshAKumar , рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХрд░рдиреЗ рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ, рдЖрдк рдЙрди рд╕рднреА рдлрд╛рдЗрд▓реЛрдВ/рдмрд╛рдЗрдирд░реА рдкрд░ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдкреНрд░рдХрд╛рд╢рд┐рдд рд╣реЛ рдЬрд╛рддреА рд╣реИрдВ рдФрд░ рд╕рд┐рдВрдЧрд▓-рдПрдХреНрд╕рдИ рдореЗрдВ рдмрдВрдбрд▓ рд╣реЛ рдЬрд╛рддреА рд╣реИрдВред рдЬрдм рд╣реЛрд╕реНрдЯ рдбрд┐рд╕реНрдХ рдкрд░ рдПрдореНрдмреЗрдбреЗрдб рдШрдЯрдХреЛрдВ рдХреЛ рдирд┐рдХрд╛рд▓рддрд╛ рд╣реИ, рддреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдлрд╛рдЗрд▓реЛрдВ рдкрд░ рд╕реНрд╡рдпрдВ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХрд┐рдП рдЬрд╛рдПрдВрдЧреЗред рдЬреИрд╕рд╛ рдХрд┐ рдЖрдкрдиреЗ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рд╣реИ, рдЖрдк рд╕реНрд╡рдпрдВ рдирд┐рд░реНрдорд┐рдд рдПрдХрд▓-рдлрд╝рд╛рдЗрд▓ рдкрд░ рднреА рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдХреНрдпрд╛ рдпрд╣ рдЖрдкрдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЛ рдкреВрд░рд╛ рдХрд░рддрд╛ рд╣реИ?

@Webreaper рдпрджрд┐ рдЖрдк рд╕рдорд╕реНрдпрд╛ рдХреЛ рджреЛрд╣рд░рд╛ рд╕рдХрддреЗ рд╣реИрдВ, рддреЛ рдХреНрдпрд╛ рдЖрдк рдХреГрдкрдпрд╛ рдРрдк рдХреЛ COREHOST_TRACE рдЪрд╛рд▓реВ рдХрд░рдХреЗ рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВ ( COREHOST_TRACE рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдХреЛ 1 рдкрд░ рд╕реЗрдЯ рдХрд░реЗрдВ) рдФрд░ рдЬреЗрдирд░реЗрдЯ рдХрд┐рдП рдЧрдП рд▓реЙрдЧ рдХреЛ рд╕рд╛рдЭрд╛ рдХрд░реЗрдВ? рдзрдиреНрдпрд╡рд╛рджред

@рд╕реНрд╡рд░реВрдк-рд╢реНрд░реАрдзрд░
рдпрд╣ рдмрд╣реБрдд рд╣реА рдорд╕реНрдд рдлреАрдЪрд░ рд╣реИред рдХреНрдпрд╛ рдЖрдкрдХреЗ рдкрд╛рд╕ рдХреЛрдИ рд▓рд┐рдВрдХ рд╣реИ рдХрд┐ рдХрд┐рд╕ рдбреЙрдЯрдиреЗрдЯ рд░рд┐рд▓реАрдЬ рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рдЪрд░рдг рдХрдм рдЙрдкрд▓рдмреНрдз рд╣реЛрдВрдЧреЗ?

@RajeshAKumar : рдЖрдк рдЖрдзрд╛рд░ рдкрде рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП DOTNET_BUNDLE_EXTRACT_BASE_DIR рд╕реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд╣рд╛рдВ рд╣реЛрд╕реНрдЯ рдмрдВрдбрд▓ рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рдирд┐рдХрд╛рд▓рддрд╛ рд╣реИред
рдХреГрдкрдпрд╛ рдЕрдзрд┐рдХ рд╡рд┐рд╡рд░рдг рдпрд╣рд╛рдВ рджреЗрдЦреЗрдВ: https://github.com/dotnet/designs/blob/master/accepted/single-file/extract.md#extraction -location

рдзрдиреНрдпрд╡рд╛рдж рд╕реНрд╡рд░реВрдк-рд╢реНрд░реАрдзрд░

@RajeshAKumar , рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХрд░рдиреЗ рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ, рдЖрдк рдЙрди рд╕рднреА рдлрд╛рдЗрд▓реЛрдВ/рдмрд╛рдЗрдирд░реА рдкрд░ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдкреНрд░рдХрд╛рд╢рд┐рдд рд╣реЛ рдЬрд╛рддреА рд╣реИрдВ рдФрд░ рд╕рд┐рдВрдЧрд▓-рдПрдХреНрд╕рдИ рдореЗрдВ рдмрдВрдбрд▓ рд╣реЛ рдЬрд╛рддреА рд╣реИрдВред рдЬрдм рд╣реЛрд╕реНрдЯ рдбрд┐рд╕реНрдХ рдкрд░ рдПрдореНрдмреЗрдбреЗрдб рдШрдЯрдХреЛрдВ рдХреЛ рдирд┐рдХрд╛рд▓рддрд╛ рд╣реИ, рддреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдлрд╛рдЗрд▓реЛрдВ рдкрд░ рд╕реНрд╡рдпрдВ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХрд┐рдП рдЬрд╛рдПрдВрдЧреЗред рдЬреИрд╕рд╛ рдХрд┐ рдЖрдкрдиреЗ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рд╣реИ, рдЖрдк рд╕реНрд╡рдпрдВ рдирд┐рд░реНрдорд┐рдд рдПрдХрд▓-рдлрд╝рд╛рдЗрд▓ рдкрд░ рднреА рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдХреНрдпрд╛ рдпрд╣ рдЖрдкрдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЛ рдкреВрд░рд╛ рдХрд░рддрд╛ рд╣реИ?

рдореИрдВ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ 'рд╕рдВрдХрд▓рди' рдХреЛ рдХреИрд╕реЗ рддреЛрдбрд╝рд╛ рдЬрд╛рдП рдФрд░ рднрд╛рдЧреЛрдВ рдХреЛ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПред
рдореИрдВ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдирд┐рдореНрди рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдореБрдЭреЗ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИред
publishargs рд╕реЗрдЯ рдХрд░реЗрдВ=-c рд░рд┐рд▓реАрдЬрд╝/p:PublishSingleFile=True/p:PublishTrimmed=True/p:PublishReadyToRun=false
рдбреЙрдЯрдиреЗрдЯ рдкрдмреНрд▓рд┐рд╢ -r win-x64 -o bin\Output\Win64 %publishargs%

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

@Webreaper рдпрджрд┐ рдЖрдк рд╕рдорд╕реНрдпрд╛ рдХреЛ рджреЛрд╣рд░рд╛ рд╕рдХрддреЗ рд╣реИрдВ, рддреЛ рдХреНрдпрд╛ рдЖрдк рдХреГрдкрдпрд╛ рдРрдк рдХреЛ COREHOST_TRACE рдЪрд╛рд▓реВ рдХрд░рдХреЗ рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВ ( COREHOST_TRACE рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдХреЛ 1 рдкрд░ рд╕реЗрдЯ рдХрд░реЗрдВ) рдФрд░ рдЬреЗрдирд░реЗрдЯ рдХрд┐рдП рдЧрдП рд▓реЙрдЧ рдХреЛ рд╕рд╛рдЭрд╛ рдХрд░реЗрдВ? рдзрдиреНрдпрд╡рд╛рджред

рдзрдиреНрдпрд╡рд╛рджред рдпрд╣ рдЕрдм рдЪрд▓рд╛ рдЧрдпрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдореИрдВрдиреЗ рд░реАрдмреВрдЯ рдХрд┐рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдиреЛрдЯ рдХрд░рдирд╛ рдЙрдкрдпреЛрдЧреА рд╣реИ рдХрд┐ рдпрд╣ рдлрд┐рд░ рд╕реЗ рд╣реЛрддрд╛ рд╣реИ!

@RajeshAKumar рдЖрдкрдХреЛ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХреЛ рдЙрд╕ рд▓рдХреНрд╖реНрдп рдкрд░ рдЯреИрдЧ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдЬреЛ рдмрдВрдбрд▓ рдХрд░рдиреЗ рд╕реЗ рдареАрдХ рдкрд╣рд▓реЗ рдЪрд▓рддрд╛ рд╣реИред
рдЪреВрдВрдХрд┐ рдЖрдк PublishReadyToRun рдФрд░ PublishTrimmed рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЖрдк рдорд╛рдирдХ Afterbuild рдпрд╛ BeforePublish рд▓рдХреНрд╖реНрдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗред

рдЖрдк рдПрдХ рд▓рдХреНрд╖реНрдп рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ BundlePublishDirectory рд╕реЗ рдареАрдХ рдкрд╣рд▓реЗ рдЪрд▓рддрд╛ рд╣реИ рдФрд░ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХрд░рддрд╛ рд╣реИред

@рд╕реНрд╡рд░реВрдк-рд╢реНрд░реАрдзрд░
рдпрд╣ рдмрд╣реБрдд рд╣реА рдорд╕реНрдд рдлреАрдЪрд░ рд╣реИред рдХреНрдпрд╛ рдЖрдкрдХреЗ рдкрд╛рд╕ рдХреЛрдИ рд▓рд┐рдВрдХ рд╣реИ рдХрд┐ рдХрд┐рд╕ рдбреЙрдЯрдиреЗрдЯ рд░рд┐рд▓реАрдЬ рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рдЪрд░рдг рдХрдм рдЙрдкрд▓рдмреНрдз рд╣реЛрдВрдЧреЗ?

рдзрдиреНрдпрд╡рд╛рдж @etherealjoyред рдмрдВрдбрд▓ рд╕реЗ рд╕реАрдзреЗ рдЪрд▓рдиреЗ рд╡рд╛рд▓реА рдПрдХрд▓-рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдп рдкреНрд░рдЧрддрд┐ рдкрд░ рд╣реИ, рдореЗрд░реА рд╕рд░реНрд╡реЛрддреНрддрдо рд╕рдордЭ рдХреЗ рд▓рд┐рдП .net 5 рд░рд┐рд▓реАрдЬрд╝ рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░рдирд╛ред

@RajeshAKumar рдЖрдкрдХреЛ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХреЛ рдЙрд╕ рд▓рдХреНрд╖реНрдп рдкрд░ рдЯреИрдЧ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдЬреЛ рдмрдВрдбрд▓ рдХрд░рдиреЗ рд╕реЗ рдареАрдХ рдкрд╣рд▓реЗ рдЪрд▓рддрд╛ рд╣реИред
рдЪреВрдВрдХрд┐ рдЖрдк PublishReadyToRun рдФрд░ PublishTrimmed рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЖрдк рдорд╛рдирдХ Afterbuild рдпрд╛ BeforePublish рд▓рдХреНрд╖реНрдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗред

рдЖрдк рдПрдХ рд▓рдХреНрд╖реНрдп рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ BundlePublishDirectory рд╕реЗ рдареАрдХ рдкрд╣рд▓реЗ рдЪрд▓рддрд╛ рд╣реИ рдФрд░ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХрд░рддрд╛ рд╣реИред

рдзрдиреНрдпрд╡рд╛рджред
рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рд▓рд┐рдВрдХ MS Build рдХрд╛рд░реНрдпреЛрдВ рдЬреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИред
рдореИрдВ "BundlePublishDirectory" рдХреЗ рд▓рд┐рдП рдПрдХ рд╣реИрдВрдбрд▓рд░ рдХреИрд╕реЗ рдмрдирд╛рдКрдВ? рдХреНрдпрд╛ рдпрд╣ рд╕реНрдЯреВрдбрд┐рдпреЛ/рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдкреНрд░реЙрдкреНрд╕/рдмрд┐рд▓реНрдб рдЗрд╡реЗрдВрдЯреНрд╕ рдореЗрдВ рд╣реИ рдпрд╛ рдХреНрдпрд╛ рдореБрдЭреЗ рд╕реНрдХреНрд░реИрдЪ рд╕реЗ рдХреБрдЫ рдмрдирд╛рдирд╛ рд╣реИред

@RajeshAKumar рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЖрдкрдХреЛ рдкреНрд░реА-рдмрд┐рд▓реНрдб рдкреЛрд╕реНрдЯ-рдмрд┐рд▓реНрдб рдЗрд╡реЗрдВрдЯреНрд╕ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдХреБрдЫ рдФрд░ рдмрдврд╝рд┐рдпрд╛ рдЪрд╛рд╣рд┐рдПред
рддреЛ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдХреБрдЫ рдРрд╕рд╛ рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рд┐рдП:

<Target Name="Sign" BeforeTargets="BundlePublishDirectory">
    ... 
</Target>

рдЗрд╕рдХреЗ рд╕рд╛рде dotnet pack рдХрдорд╛рдВрдб рдХрд╛ рдЕрдкреЗрдХреНрд╖рд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░ рдХреНрдпрд╛ рд╣реИ? рдорд╛рди рд▓реЗрдВ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╕рд┐рдВрдЧрд▓-рдПрдХреНрд╕ рдЖрд░реНрдЯрд┐рдлреИрдХреНрдЯ рд╣реИ рдЬрд┐рд╕реЗ рд╕реНрдерд╛рдиреАрдп рдирдЧреЗрдЯ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рдзрдХреЗрд▓ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЕрдЧрд░ рдореИрдВ рдЗрд╕реЗ рдЪреЙрдХрд▓реЗрдЯ рдХреЗ рд╕рд╛рде рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддрд╛ рд╣реВрдВ, рддреЛ рдпрд╣ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕реВрдЪреАрдмрджреНрдз рд╕рднреА рдирдЧреЗрдЯ рдбрд┐рдкреНрд╕ рдХреЛ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддрд╛ рд╣реИред рдЬреЛ рдкрд╣рд▓реЗ рдЕрдкреЗрдХреНрд╖рд┐рдд рдерд╛, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд╕рдВрджреЗрд╣ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рд╡реНрдпрд╡рд╣рд╛рд░ SFD рдХреЗ рд▓рд┐рдП рд╕рд╣реА рд╣реИред

рдХреНрдпрд╛ рд╕рд┐рдВрдЧрд▓-рдлрд╛рдЗрд▓ рд╕реЗрд▓реНрдл-рдирд┐рд╣рд┐рдд wpf рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рдирд┐рд╖реНрдХрд░реНрд╖рдг рдХреЗ рджреМрд░рд╛рди рдХреБрдЫ рдкреНрд░рдЧрддрд┐ рдкрдЯреНрдЯреА рдпрд╛ рд▓реЛрдбрд┐рдВрдЧ рдЗрдВрдбрд┐рдХреЗрдЯрд░ рдЬреЛрдбрд╝рдирд╛ рд╕рдВрднрд╡ рд╣реИ, рдЗрд╕рдореЗрдВ рдХреБрдЫ рднреА рдирд╣реАрдВ рд╣реЛрдиреЗ рдХреЗ рд╕рд╛рде рдХреБрдЫ рд╕рдордп рд▓рдЧ рд╕рдХрддрд╛ рд╣реИред
рдПрдХ рдореВрд▓ рд╕реНрд╡-рдирд┐рд╣рд┐рдд wpf рдРрдк 80Mo рд╕реЗ рдЕрдзрд┐рдХ рд╣реИ рдФрд░ рдирд┐рд╖реНрдХрд░реНрд╖рдг рдореЗрдВ 5sec рд╕реЗ рдЕрдзрд┐рдХ рд╕рдордп рд▓рдЧ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рдмрд╣реБрдд рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдЕрдиреБрдХреВрд▓ рдирд╣реАрдВ рд╣реИ рдФрд░ рдореБрдЭреЗ рдЕрдкрдиреЗ рдЕрдВрддрд┐рдо рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рд╕реЗ рд╢рд┐рдХрд╛рдпрддреЗрдВ рдорд┐рд▓реА рд╣реИрдВред

рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: рд▓реЙрдиреНрдЪ рдХреЗ рд╕рдордп рдкреБрд░рд╛рдиреЗ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд╕рд╛рдл рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛?

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

@ProfessionalNihilist рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдореЗрд░реА рдмрд╛рдд рдХреЛ рдирд╣реАрдВ рд╕рдордЭрддреЗ рд╣реИрдВред
рд╕рдВрдХрд▓рд┐рдд рд╣реЛрдиреЗ рдкрд░ рдПрдХ рдЦрд╛рд▓реА wpf рдРрдк рд╕реНрд╡рдпрдВ рдирд┐рд╣рд┐рдд 80mo рдбрд┐рд╕реНрдХ рд╕реНрдЯреЛрд░реЗрдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдлреНрд░реЗрдорд╡рд░реНрдХ рдкрд░ рдирд┐рд░реНрднрд░ рдРрдк рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдП рдмрд┐рдирд╛ рдЖрдкрдХреЗ рдкрд╛рд╕ 80mo рд╕реЗ рдЫреЛрдЯрд╛ wpf рдРрдк рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ
рд╕рдорд╕реНрдпрд╛ рдРрдк рд▓реЙрдиреНрдЪ рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд╢рд╛рдорд┐рд▓ рдврд╛рдВрдЪреЗ рдХреЗ рдирд┐рд╖реНрдХрд░реНрд╖рдг рдХрд╛ рд╕рдордп рд╣реИред рддреЛ рдпрд╣ .Net Core рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рд╣реИ рдФрд░ рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЗрд╕ рдлреАрдЪрд░ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИред

рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдПрдХ png рд╣реЛрдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдЬреЛрдбрд╝реЗрдВ рдЬреЛ рдРрдк рдХреЗ рдбрд┐рдХрдореНрдкреНрд░реЗрд╕реНрдб рд╣реЛрдиреЗ рдкрд░ рджрд┐рдЦрд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛?

@Safirion @ayende рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдХреЗ рджреМрд░рд╛рди "рдпреВрдЖрдИ рдлреАрдбрдмреИрдХ" рдХреА рдХрдореА рдХреЛ рдпрд╣рд╛рдВ рдЯреНрд░реИрдХ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ: https://github.com/dotnet/core-setup/issues/7250

рдЗрд╕рдХреЗ рд╕рд╛рде dotnet pack рдХрдорд╛рдВрдб рдХрд╛ рдЕрдкреЗрдХреНрд╖рд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░ рдХреНрдпрд╛ рд╣реИ? рдорд╛рди рд▓реЗрдВ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╕рд┐рдВрдЧрд▓-рдПрдХреНрд╕ рдЖрд░реНрдЯрд┐рдлреИрдХреНрдЯ рд╣реИ рдЬрд┐рд╕реЗ рд╕реНрдерд╛рдиреАрдп рдирдЧреЗрдЯ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рдзрдХреЗрд▓ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЕрдЧрд░ рдореИрдВ рдЗрд╕реЗ рдЪреЙрдХрд▓реЗрдЯ рдХреЗ рд╕рд╛рде рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддрд╛ рд╣реВрдВ, рддреЛ рдпрд╣ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕реВрдЪреАрдмрджреНрдз рд╕рднреА рдирдЧреЗрдЯ рдбрд┐рдкреНрд╕ рдХреЛ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддрд╛ рд╣реИред рдЬреЛ рдкрд╣рд▓реЗ рдЕрдкреЗрдХреНрд╖рд┐рдд рдерд╛, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд╕рдВрджреЗрд╣ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рд╡реНрдпрд╡рд╣рд╛рд░ SFD рдХреЗ рд▓рд┐рдП рд╕рд╣реА рд╣реИред

@catlion PublishSingleFile рд╕рдВрдкрддреНрддрд┐ рдХреЗрд╡рд▓ dotnet publish рдХрдорд╛рдВрдб рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рд╣реИред рдЗрд╕рд▓рд┐рдП, рдЗрд╕рдХрд╛ dotnet pack рдкрд░ рдХреЛрдИ рдкреНрд░рднрд╛рд╡ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ рд╣реИред рдХреНрдпрд╛ рд╕рд┐рдВрдЧрд▓-рдлрд╛рдЗрд▓ рдФрд░ рдкреИрдХреЗрдЬрд┐рдВрдЧ рджреЛрдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдкреНрд░реЗрд░рдгрд╛ рд╣реИ?

рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: рд▓реЙрдиреНрдЪ рдХреЗ рд╕рдордп рдкреБрд░рд╛рдиреЗ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд╕рд╛рдл рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛?

@Safirion рд╡рд░реНрддрдорд╛рди рд░рд┐рд▓реАрдЬ рдореЗрдВ, рд╕рдлрд╛рдИ рдореИрдиреБрдЕрд▓ рд╣реИ, рд╣реЛрд╕реНрдЯ рдирд┐рдХрд╛рд▓реА рдЧрдИ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╣рдЯрд╛рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдЪрд▓рдиреЗ рдкрд░ рдЙрдиреНрд╣реЗрдВ рд╕рдВрднрд╛рд╡рд┐рдд рд░реВрдк рд╕реЗ рдкреБрди: рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдареАрдХ рд╣реИ, рдореИрдВ рдЕрдкрдирд╛ рдХреНрд▓реАрдирд░ рдЦреБрдж рдмрдирд╛ рд▓реВрдБрдЧреА
рдЖрдкрдХреЗ рдЬрд╡рд╛рдм рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред

@cup рдЬреЛ рдореЛрдиреЛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рдЦрд╛рд╕ рдирд╣реАрдВ рд╣реИ, рдпрд╣ рд╕рд┐рд░реНрдл рдПрдХ рдорд╛рдирдХ рд╕рдВрдХрд▓рди рд╣реИ, рдЕрдм рдПрдХ nuget рд╕рдВрджрд░реНрдн рдЬреЛрдбрд╝реЗрдВ рдФрд░ рд╡рд╣ рд╕рдорд╛рдзрд╛рди рдЕрдм рдПрдХ рдлрд╝рд╛рдЗрд▓ рдирд╣реАрдВ рд╣реИред рдореЛрдиреЛ рдХреЗ рдкрд╛рд╕ mkbundle рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдПрдХрд▓ рдлрд╝рд╛рдЗрд▓ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП

@ рд╕реБрдЪрд┐рдорди рдХреНрдпрд╛ рдЖрдк рдирд┐рд╢реНрдЪрд┐рдд рд╣реИрдВ? рдЙрдкрд░реЛрдХреНрдд рдореЗрд░рд╛ рдЙрджрд╛рд╣рд░рдг рдПрдХ 3 рдХреЗрдмреА рдлрд╝рд╛рдЗрд▓ рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИред рдЬрдмрдХрд┐ рдбреЙрдЯрдиреЗрдЯ рдиреНрдпреВрдирддрдо рдЖрдХрд╛рд░ 27 рдПрдордмреА рд▓рдЧрддрд╛ рд╣реИ:

https://github.com/dotnet/coreclr/issues/24397#issuecomment -502217519

@рдХрдк рд╣рд╛рдБ

C:\Users\Robin> type .\Program.cs
using System;
class Program {
   static void Main() {
      Console.WriteLine("sunday monday");
   }
}
C:\Users\Robin> C:\Windows\Microsoft.NET\Framework\v4.0.30319\csc.exe .\Program.cs
Microsoft (R) Visual C# Compiler version 4.8.3752.0
for C# 5
Copyright (C) Microsoft Corporation. All rights reserved.

This compiler is provided as part of the Microsoft (R) .NET Framework, but only supports language versions up to C# 5, which is no longer the latest version. For compilers that support newer versions of the C# programming language, see http://go.microsoft.com/fwlink/?LinkID=533240

C:\Users\Robin> .\Program.exe
sunday monday
C:\Users\Robin> dir .\Program.exe


    Verzeichnis: C:\Users\Robin


Mode                LastWriteTime         Length Name
----                -------------         ------ ----
-a----       10.11.2019     18:36           3584 Program.exe

@ рд╕реБрдЪрд┐рдорди рдХреНрдпрд╛ рдЖрдк рдирд┐рд╢реНрдЪрд┐рдд рд╣реИрдВ? рдЙрдкрд░реЛрдХреНрдд рдореЗрд░рд╛ рдЙрджрд╛рд╣рд░рдг рдПрдХ 3 рдХреЗрдмреА рдлрд╝рд╛рдЗрд▓ рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИред рдЬрдмрдХрд┐ рдбреЙрдЯрдиреЗрдЯ рдиреНрдпреВрдирддрдо рдЖрдХрд╛рд░ 27 рдПрдордмреА рд▓рдЧрддрд╛ рд╣реИ:

#24397 (рдЯрд┐рдкреНрдкрдгреА)

рдЖрдкрдХреА 3k рдлрд╝рд╛рдЗрд▓ рдХреЗрд╡рд▓ рдЗрд╕рд▓рд┐рдП рдХрд╛рдо рдХрд░рддреА рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдореЛрдиреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рд╣реИред dotnetcore рд╕рд┐рдВрдЧрд▓ рдлрд╛рдЗрд▓ рдбрд┐рд╕реНрдЯреНрд░реАрдмреНрдпреВрд╢рди рдХрд╛ рдкреВрд░рд╛ рдмрд┐рдВрджреБ рдпрд╣ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ clr рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдпрд╣ рд░рдирдЯрд╛рдЗрдо рд╕рд╣рд┐рдд рдПрдХ рд╕реНрдЯреИрдВрдбрдЕрд▓реЛрди рд╕рд┐рдВрдЧрд▓ рдПрдХреНрд╕рдИ рд╣реИред

@Webreaper рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛтАЛтАЛрд╣реИ рдХрд┐ рдпрд╣ рдХреЗрд╡рд▓ рдореЛрдиреЛ рд╕реЗ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдорд╕реАрдПрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЙрд╕рдиреЗ mono sun-mon.exe рдирд╣реАрдВ рд▓рд┐рдЦрд╛ рдерд╛, рдпрд╣ рд╕рдВрднрд╡рддрдГ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдкрд░ рдЪрд▓рддрд╛ рдерд╛ред

рд▓реЗрдХрд┐рди .NET рдХреЛрд░ рд░рдирдЯрд╛рдЗрдо рдХреЛ рдкреНрд░реАрдЗрдВрд╕реНрдЯреЙрд▓реНрдб рдкрд░рд┐рджреГрд╢реНрдп рдХреЗ рд╕рд╛рде-рд╕рд╛рде рдЙрд░реНрдл тАЛтАЛтАЛтАЛрдлреНрд░реЗрдорд╡рд░реНрдХ рдирд┐рд░реНрднрд░ рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред рдЙрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдпрд╣ рдЕрднреА рднреА рдХрд╛рдлреА рдПрдХрд▓ рдлрд╝рд╛рдЗрд▓ рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдирд╣реАрдВ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ .NET рдХреЛрд░ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдЕрддрд┐рд░рд┐рдХреНрдд рдлрд╝рд╛рдЗрд▓реЗрдВ рд╣реИрдВ рдЬреИрд╕реЗ .deps.json рдФрд░ .runtimeconfig.json

@ chris3713 рд╡рд░реНрддрдорд╛рди рдореЗрдВ exe рд╕реНрдерд╛рди рддрдХ рдкрд╣реБрдБрдЪрдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рддрд░реАрдХрд╛ PInvoke-ing рд╕реЗ рджреЗрд╢реА рдПрдкреАрдЖрдИ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП: GetModuleFileNameW (Null, <buffer>, <len>)

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ Environment.CurrentDirectory рдПрдХ рдмреЗрд╣рддрд░ рд╕рдорд╛рдзрд╛рди рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореИрдВрдиреЗ рдЕрднреА рддрдХ рд╡рд┐рдВрдбреЛрдЬрд╝ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХрд┐рд╕реА рдЕрдиреНрдп рдЪреАрдЬрд╝ рдкрд░ рджреЛрдиреЛрдВ рджреГрд╖реНрдЯрд┐рдХреЛрдгреЛрдВ рдХреА рдХреЛрд╢рд┐рд╢ рдирд╣реАрдВ рдХреА рд╣реИред

рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: рдирд╣реАрдВред рд╡рд╣ рдкрде рдЖрд╡реЗрджрди рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рд╡реЗрд╢ рдмрд┐рдВрджреБрдУрдВ рдкрд░ рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рдЕрдзреАрди рд╣реИред рдЕрдЪреНрдЫрд╛ рдирд╣реАрдВред

рдереЛрдбрд╝рд╛ рд╕рдВрдмрдВрдзрд┐рдд рдиреЛрдЯ рдкрд░, рдореБрдЭреЗ рдореИрдХ рдХреЗ рд▓рд┐рдП рд╡реАрдПрд╕ рдХреЗ рдирд╡реАрдирддрдо рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди рдореЗрдВ рдмреНрд▓реЗрдЬрд╝рд░ рдРрдкреНрд╕ рдХреЗ рдПрдХрд▓-рдлрд╝рд╛рдЗрд▓ рдкреНрд░рдХрд╛рд╢рди рдореЗрдВ рдпрд╣ рдкреНрд░рддрд┐рдЧрдорди рдорд┐рд▓рд╛: https://github.com/aspnet/AspNetCore/issues/17079 - рдореИрдВрдиреЗ рдЗрд╕рдХреА рд░рд┐рдкреЛрд░реНрдЯ рдХреА рд╣реИ рдЗрд╕рдХреЗ рддрд╣рдд AspNeCore/Blazor, рд▓реЗрдХрд┐рди рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ coreclr рд╕рдореВрд╣ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реЛ - рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реИред рдЗрд╕реЗ рдЖрдк рд▓реЛрдЧреЛрдВ рдХреЗ рдШреВрдордиреЗ рдХреЗ рд▓рд┐рдП рдЫреЛрдбрд╝ рджреЗрдВрдЧреЗ!

@ рд╕реБрдЪрд┐рдорди рд╕рд╛рд╡рдзрд╛рди, рдЙрд╕ рдХрдВрдкрд╛рдЗрд▓рд░ рдореЗрдВ рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реИрдВ:

https://github.com/dotnet/roslyn/issues/39856

@cup рд╕рд┐рд╡рд╛рдп рдЗрд╕рдХреЗ рдХрд┐ рдореЗрд░реЗ рджреНрд╡рд╛рд░рд╛ рдирд╛рдорд┐рдд рдлрд╝рд╛рдЗрд▓ рдкрде рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдЖрдк C ++ рдореЗрдВ рд▓рд┐рдЦреЗ рдЧрдП рдкреБрд░рд╛рдиреЗ C# 5 рдХрдВрдкрд╛рдЗрд▓рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЬреЛ рдХрд┐ roslyn рдирд╣реАрдВ рд╣реИ рдФрд░ рд╡реЗ рд╢рд╛рдпрдж рдЙрд╕ рдХрд╛рд░рдг рд╕реЗ рдЙрд╕ рдореБрджреНрджреЗ рдХреЛ рдмрдВрдж рдХрд░ рджреЗрдВрдЧреЗред рд▓реЗрдХрд┐рди рд░реЛрд╕рд▓рд┐рди рд╡рд╣реА рдХрд╛рдо рдХрд░ рд╕рдХрддреА рд╣реИ, рдмрд╕ рдПрдХ рдЕрд▓рдЧ рд░рд╛рд╕реНрддрд╛...

рдереЛрдбрд╝рд╛ рд╕рдВрдмрдВрдзрд┐рдд рдиреЛрдЯ рдкрд░, рдореБрдЭреЗ рдореИрдХ рдХреЗ рд▓рд┐рдП рд╡реАрдПрд╕ рдХреЗ рдирд╡реАрдирддрдо рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди рдореЗрдВ рдмреНрд▓реЗрдЬрд╝рд░ рдРрдкреНрд╕ рдХреЗ рд╕рд┐рдВрдЧрд▓-рдлрд╛рдЗрд▓ рдкреНрд░рдХрд╛рд╢рди рдореЗрдВ рдпрд╣ рдкреНрд░рддрд┐рдЧрдорди рдорд┐рд▓рд╛: aspnet/AspNetCore#17079 - рдореИрдВрдиреЗ рдЗрд╕реЗ AspNeCore/Blazor рдХреЗ рддрд╣рдд рд░рд┐рдкреЛрд░реНрдЯ рдХрд┐рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ coreclr рд╕рдореВрд╣ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реИ - рдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВред рдЗрд╕реЗ рдЖрдк рд▓реЛрдЧреЛрдВ рдХреЗ рдШреВрдордиреЗ рдХреЗ рд▓рд┐рдП рдЫреЛрдбрд╝ рджреЗрдВрдЧреЗ!

@Webreaper рдЗрд╕ рдореБрджреНрджреЗ рдХреА рд░рд┐рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдЬреЛ рд╕реНрдерд┐рд░ рд╕рдВрдкрддреНрддрд┐рдпреЛрдВ рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ рдПрдПрд╕рдкреАрдиреЗрдЯ рдореБрджреНрджреЗ рдХреА рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИред рддреЛ, рдЗрд╕реЗ рджрд░реНрдЬ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рд╕рд╣реА рдЬрдЧрд╣ рд╣реИред

* рдкреЛрд╕реНрдЯ рдХреЛ рдЕрдиреНрдп рдореБрджреНрджреЗ рд╕реЗ рдпрд╣рд╛рдБ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдирд╛ред

@ рд╕реНрд╡рд░реВрдк-рд╢реНрд░реАрдзрд░,

DotNet Core Single File wpf рдРрдкреНрд╕ рдХрд╛ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рд╕рдордп рдореВрд▓ ILMerge-ed wpf рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ .net 4.7 рдкрд░ рдирд┐рд░реНрдорд┐рдд рд╣реЛрдиреЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмрд╣реБрдд рдзреАрдорд╛ рд╣реИред рдХреНрдпрд╛ рдЗрд╕рдХреА рдЙрдореНрдореАрдж рдХреА рдЬрд╛рдиреА рдЪрд╛рд╣рд┐рдП рдпрд╛ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдЗрд╕рдореЗрдВ рд╕реБрдзрд╛рд░ рд╣реЛрдЧрд╛?

рдмрд┐рд▓реНрдб рдореЗрд░реЗ рдЗрдореЗрдЬрдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝рд░ рд╕реЗ рдЖрддреЗ рд╣реИрдВ: https://github.com/devedse/DeveImageOptimizerWPF/releases

| рдкреНрд░рдХрд╛рд░ | рдЕрдиреБрдорд╛рдирд┐рдд рдкрд╣рд▓рд╛ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рд╕рдордп | рдЕрдиреБрдорд╛рдирд┐рдд рджреВрд╕рд░рд╛ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рд╕рдордп | рдЖрдХрд╛рд░ | рдбрд╛рдЙрдирд▓реЛрдб рд▓рд┐рдВрдХ |
| -- | -- | -- | -- | -- |
| .NET 4.7.0 + ILMerge | ~3 рд╕реЗрдХрдВрдб | ~1 рд╕реЗрдХрдВрдб | 39.3mb | рд▓рд┐рдВрдХ |
| рдбреЙрдЯрдиреЗрдЯ рдкрдмреНрд▓рд┐рд╢ -рдЖрд░ рд╡рд┐рди-рдПрдХреНрд╕ 64 -рд╕реА рд░рд┐рд▓реАрдЬ - рд╕реЗрд▓реНрдл-рдирд┐рд╣рд┐рдд = рдЧрд▓рдд / рдкреА: рдкрдмреНрд▓рд┐рд╢рд╕рд┐рдВрдЧрд▓рдлрд╛рдЗрд▓ = рд╕рдЪ | ~10 рд╕реЗрдХрдВрдб | ~3 рд╕реЗрдХрдВрдб | 49рдПрдордмреА | |
| рдбреЙрдЯрдиреЗрдЯ рдкреНрд░рдХрд╛рд╢рд┐рдд -r win-x64 -c рд░рд┐рд▓реАрдЬ /p:PublishSingleFile=true | ~19 рд╕реЗрдХрдВрдб | ~2 рд╕реЗрдХрдВрдб | 201 рдПрдордмреА | |
| рдбреЙрдЯрдиреЗрдЯ рдкрдмреНрд▓рд┐рд╢ -рдЖрд░ рд╡рд┐рди-рдПрдХреНрд╕ 64 -рд╕реА рд░рд┐рд▓реАрдЬ / рдкреА: рдкрдмреНрд▓рд┐рд╢рд╕рд┐рдВрдЧрд▓рдлрд╛рдЗрд▓ = рдЯреНрд░реВ / рдкреА: рдкрдмреНрд▓рд┐рд╢ рдЯреНрд░рд┐рдореНрдб = рдЯреНрд░реВ | ~15 рд╕реЗрдХрдВрдб | ~3 рд╕реЗрдХрдВрдб | 136mb | рд▓рд┐рдВрдХ |
| рдбреЙрдЯрдиреЗрдЯ рдкрдмреНрд▓рд┐рд╢-рдЖрд░ рд╡рд┐рди-рдПрдХреНрд╕64-рд╕реА рд░рд┐рд▓реАрдЬ | ~2.5 рд╕реЗрдХрдВрдб | ~1.5 рд╕реЗрдХрдВрдб | exe рдХреЗ рд▓рд┐рдП 223kb (dll рдореЗрдВ +400mb) | |

@devedse , рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, "рджреВрд╕рд░рд╛ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк" рдХрдИ рд░рдиреЛрдВ рдХрд╛ рдФрд╕рдд рд╣реИ (рдкрд╣рд▓реЗ рдХреЗ рдЕрд▓рд╛рд╡рд╛)?
рдореИрдВ рдЙрддреНрд╕реБрдХ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдЗрд╕ рдмрд╛рдд рдХреЗ рд▓рд┐рдП рдХреЛрдИ рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдирд╣реАрдВ рд╣реИ рдХрд┐ /p:PublishSingleFile=true /p:PublishTrimmed=true рд░рди ` /p:PublishSingleFile=true рд░рди рд╕реЗ рдзреАрдорд╛ рдХреНрдпреЛрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

рдЗрд╕рд▓рд┐рдП, рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдореИрдВ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ "рджреВрд╕рд░реЗ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк" рдореЗрдВ рд╕рдВрдЦреНрдпрд╛рдПрдВ рд╕реНрдерд┐рд░ рд╕рдВрдЦреНрдпрд╛рдПрдВ рд╣реИрдВ рдФрд░ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдореЗрдВ рдЕрдВрддрд░ рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╣реИ,

рд╕рд╛рде рд╣реА, рдпрд╣ рдореБрджреНрджрд╛ рд╕рд┐рдВрдЧрд▓-рдлрд╛рдЗрд▓ рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИ, рдХреНрдпрд╛ рдЖрдк рдХреГрдкрдпрд╛ рдкреВрд░реНрдг рдЪрд░реНрдЪрд╛ рдХреЛ рдПрдХ рдирдП рдореБрджреНрджреЗ рдкрд░ рд▓реЗ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╛ dotnet/coreclr#20287 рдкрд░? рдзрдиреНрдпрд╡рд╛рджред

@ рд╕реНрд╡рд░реВрдк-рд╢реНрд░реАрдзрд░, рдФрд╕рдд рд╣реЛрдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЖрдкрдХреЗ рдкреНрд░рд╢реНрди рдХреЗ рдЙрддреНрддрд░ рдореЗрдВ:
рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдмрд╣реБрдд рд╕рдЯреАрдХ рд╕рдордп рдХреЗ рд▓рд┐рдП рдереЛрдбрд╝рд╛ рдХрдард┐рди рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЖрд╡реЗрджрди рд╢реБрд░реВ рд╣реЛрдиреЗ рдХреЗ рджреМрд░рд╛рди рдЧрд┐рдирддреА рдХрд░рдХреЗ рд╕рдордп рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдФрд░ рдлрд┐рд░ рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдмрд╛рд░ рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рдерд╛ рдХрд┐ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рд╕рдордп рдореЗрдВ рдХреЛрдИ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЕрдВрддрд░ рд╣реИ рдпрд╛ рдирд╣реАрдВред рдпрджрд┐ рдЖрдк рдПрдХ рдмреЗрд╣рддрд░ рд╡рд┐рдзрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирддреЗ рд╣реИрдВ рддреЛ рдЖрдк рдореЗрд░реЗ рд╕рдорд╛рдзрд╛рди рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рдХреЗ рдЗрд╕реЗ рдЖрд╕рд╛рдиреА рд╕реЗ рдкреБрди: рдЙрддреНрдкрдиреНрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ: https://github.com/devedse/DeveImageOptimizerWPF

рдореЗрд░рд╛ рдореБрдЦреНрдп рдкреНрд░рд╢реНрди рдЗрд╕ рдмрд╛рдд рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИ рдХрд┐ рдПрдХ рдмрдВрдбрд▓ (рдПрдХрд▓ рдлрд╝рд╛рдЗрд▓) рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдирдмрдВрдбрд▓ .exe рдлрд╝рд╛рдЗрд▓ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рд╢реБрд░реВ рд╣реЛрдиреЗ рдореЗрдВ рдЕрдзрд┐рдХ рд╕рдордп рдХреНрдпреЛрдВ рд▓рдЧрддрд╛ рд╣реИред

рдореИрдВ рдпрд╣рд╛рдВ рдЧрд▓рдд рд╣реЛ рд╕рдХрддрд╛ рд╣реВрдВ рд▓реЗрдХрд┐рди рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдПрдХ рдлрд╛рдЗрд▓ рдХреЗ рд╕рд╛рде рдУрд╡рд░рд╣реЗрдб рд╣реИред рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рдРрдк рд╣реИ рдЬреЛ рдПрдХ рдФрд░ рдРрдк рд╢реБрд░реВ рдХрд░ рд░рд╣рд╛ рд╣реИред рдЬрдмрдХрд┐ ILMerge рд╕реАрдзреЗ рд╢реБрд░реВ рд╣реЛ рд░рд╣рд╛ рд╣реИред ILMerge рдиреЗ рдХреЗрд╡рд▓ рд╕рдВрджрд░реНрднрд┐рдд dll рдХреЛ exe рдореЗрдВ рдорд░реНрдЬ рдХрд┐рдпрд╛ рд╣реИ, рдЗрд╕рдиреЗ рдкреВрд░реА рдЪреАрдЬрд╝ рдХреЛ рдХрд┐рд╕реА рдЕрдиреНрдп рдкрд░рдд рдореЗрдВ рд▓рдкреЗрдЯрд╛ рдирд╣реАрдВ рд╣реИ рдЬреЛ рдХрд┐ рд╡рд░реНрддрдорд╛рди рдореЗрдВ PublishSingleFile рдХреЗ рд╕рд╛рде рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред

@devedse рдбреЙрдЯрдиреЗрдЯ рд░рди рд╢реБрд░реВ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд╕рд┐рдВрдЧрд▓ рдлрд╛рдЗрд▓ рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рдПрдХреНрд╕рдЯреНрд░реЗрдХреНрдЯ рдХрд░ рд░рд╣реА рд╣реИ, рдЪреЗрдХрд╕рдо рдЖрджрд┐ рдХреА рдЬрд╛рдВрдЪ рдХрд░ рд░рд╣реА рд╣реИред
рд▓рдЧрддрд╛ рд╣реИ рдЗрд╕реАрд▓рд┐рдП рдЗрддрдирд╛ рд╕рдордп рд▓рдЧрд╛ред
рдЕрд░реНрдХ "рдХреИрд╢реНрдб" рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЕрдЧрд▓рд╛ рд░рди, рдХреЛрдИ IO рдУрд╡рд░рд╣реЗрдб рдирд╣реАрдВ рд╣реИред

@RajeshAKumar , рд╣рдореНрдо рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕ рдкрд░рд┐рджреГрд╢реНрдп рдореЗрдВ рдЬрд╛рдиреЗ рдХрд╛ рд░рд╛рд╕реНрддрд╛ рдирд┐рдХрд╛рд▓ рд░рд╣рд╛ рд╣реИ? рдХреНрдпрд╛ ILMerge рдХреЗ рд░рд╛рд╕реНрддреЗ рдкрд░ рдЬрд╛рдирд╛ рдФрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ DLL рдХреЛ рдПрдХ рд╣реА рдмрдВрдбрд▓ рдореЗрдВ рдорд┐рд▓рд╛рдирд╛ рдмреЗрд╣рддрд░ рдирд╣реАрдВ рд╣реЛрдЧрд╛?

рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдмрдбрд╝реА .exe рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдЖрдк рд╕рднреА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рджреЛ рдмрд╛рд░ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреА рдбрд┐рд╕реНрдХ рд╕реНрдерд╛рди рд▓рд╛рдЧрдд рдХреЛ рднреА рдкреНрд░реЗрд░рд┐рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВред

@devedse рд╣рдо рд╕рднреА рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рдЕрдЧрд▓реЗ рдЪрд░рдг (рдмрдВрдбрд▓ рд╕реЗ рдЪрд▓рд╛рдПрдБ) рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЕрднреА рдХреЗ рд▓рд┐рдП, рдпрд╣ рдПрдХрдорд╛рддреНрд░ рд╕рдорд╛рдзрд╛рди рд╣реИред рдореИрдВ

https://github.com/dotnet/designs/blob/master/accepted/single-file/staging.md

рдбреЗрд╕реНрдХрдЯреЙрдк рдореЗрдВ рдЬреЗрдЖрдИрдЯреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдпрд╣реА рдорд┐рд▓рддрд╛ рд╣реИ, рдзреАрдорд╛ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк, рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХреЗрд╡рд▓ рдРрдкреНрдкрд▓ рд╣реА рдЗрд╕реЗ рд╕рдордЭ рдЧрдпрд╛ рд╣реИ

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

рдХреИрд╕реЗ рдорд╛рдкреЗрдВ: рд╣рдордиреЗ рдЯреНрд░реЗрд╕рд┐рдВрдЧ (рд╡рд┐рдВрдбреЛрдЬрд╝ рдкрд░ рдИрдЯреАрдбрдмреНрд▓реНрдпреВ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ - рдРрд╕реА рдШрдЯрдирд╛рдПрдВ рд╣реЛрддреА рд╣реИрдВ рдЬрдм рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╢реБрд░реВ рд╣реЛрддреА рд╣реИ рдФрд░ рдлрд┐рд░ рд░рдирдЯрд╛рдЗрдо рдШрдЯрдирд╛рдПрдВ рд╣реЛрддреА рд╣реИрдВ рдЬрд┐рдирдХрд╛ рдЙрдкрдпреЛрдЧ рдЗрд╕рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ - рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдмрд┐рд▓реНрдХреБрд▓ рдЖрд╕рд╛рди рдирд╣реАрдВ рд╣реИред

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

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

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

рдкрд╣рд▓реА рд╢реБрд░реБрдЖрдд рдмрд╣реБрдд рдзреАрдореА рд╣реЛрдиреЗ рдХреА рдЙрдореНрдореАрдж рд╣реИ - рдпрд╣ рдРрдк рдХреЛ рдбрд┐рд╕реНрдХ рдкрд░ рдирд┐рдХрд╛рд▓рддрд╛ рд╣реИ - рдмрд╣реБрдд рд╕рд╛рд░реЗ рдЖрдИрдУред

рдРрд╕рд╛ рдХрднреА рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдерд╛, рдЖрдк рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдЕрдиреБрднрд╡ рдХреЛ рдбрд┐рдЬрд╝рд╛рдЗрди рджреНрд╡рд╛рд░рд╛ рднрдпрд╛рдирдХ рдмрдирд╛рддреЗ рд╣реИрдВ, рднрдпрд╛рдирдХ рд╡рд┐рдХрд▓реНрдк, рдЗрд╕ рддрд░рд╣ рдЖрдк рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдЙрд╕ рддрдХрдиреАрдХ рд╕реЗ рдирдлрд░рдд рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рдбреЗрд╡рд▓рдкрд░ рдЙрдирдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реИ

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

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

рдореЗрд░реА рд░рд╛рдп рдореЗрдВ рдпрд╣ рд╕рдордп рдФрд░ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреА рдмрд░реНрдмрд╛рджреА рд╣реИ, рдПрдУрдЯреА рд╕рдВрдХрд▓рди рдФрд░ рдЯреНрд░реА-рд╢реЗрдХрд┐рдВрдЧ рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░реЗрдВ, рдЕрдкрдиреЗ рд╕рднреА рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЛ рд╡рд╣рд╛рдВ рд░рдЦреЗрдВ, рд╣реИрдХреНрд╕ рдХреЗ рд╕рд╛рде рд░реБрдХреЗрдВ

@RUSshy рдЗрддрдиреА рдирдлрд░рдд рдХреНрдпреЛрдВ? рдпрджрд┐ рдЖрдк рдкрд╣рд▓реА рдмрд╛рд░ рд▓реЙрдиреНрдЪ рдХрд░рддреЗ рд╕рдордп рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдореЗрдВ рджреЗрд░реА рдирд╣реАрдВ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддреЛ рд╕рд┐рдВрдЧрд▓-рдлрд╛рдЗрд▓ рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдХрд╛ рдЙрдкрдпреЛрдЧ рди рдХрд░реЗрдВред

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

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

@ vitek-karas, рдХреНрдпрд╛ "рдмрдВрдбрд▓ рд╕реЗ рд▓реЛрдб рд░рдирдЯрд╛рдЗрдо рд╕рдВрдкрддреНрддрд┐" рд╕реБрд╡рд┐рдзрд╛ рдХреЛ рдЯреНрд░реИрдХ рдХрд░рдиреЗ рдореЗрдВ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рд╣реИ? рдпрд╣ рд╕рдордЭрдиреЗ рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ рдХрд┐ рдХрд┐рд╕ рдкреНрд░рдХрд╛рд░ рдХреА рдмрд╛рдзрд╛рдПрдВ рд╣реИрдВред :)

@ am11 рд╣рдо рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд╡рд┐рд╕реНрддреГрдд рдпреЛрдЬрдирд╛ рддреИрдпрд╛рд░ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдЖрдк https://github.com/dotnet/coreclr/tree/single-exe рдореЗрдВ рдХрд┐рдП рдЧрдП рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдХреЛ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╢рд╛рдпрдж рдмрд╣реБрдд рдЕрд▓рдЧ рдирд╣реАрдВ рд╣реЛрдЧрд╛ (рдЬрд╛рд╣рд┐рд░ рд╣реИ рдмреЗрд╣рддрд░ рдлреИрдХреНрдЯрд░рд┐рдВрдЧ рдФрд░ рдЗрд╕реА рддрд░рд╣, рд▓реЗрдХрд┐рди рдореВрд▓ рд╡рд┐рдЪрд╛рд░ рдзреНрд╡рдирд┐ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ)ред

@Webreaper рд╡реЗрдм рдРрдкреНрд╕ рдХреЗ рд▓рд┐рдП, рдпрд╣ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ .Net Core 3 рдХреЛ рдЕрдм wpf/WinForm рд╡рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП рдЕрдиреБрд╢рдВрд╕рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдбреЗрд╕реНрдХрдЯреЙрдк рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ .exe рд╕реМ рдореЗрдВ рдЦреЛ рдЧрдпрд╛ рд╣реИред рдбреАрдПрд▓рдПрд▓ рдПрдХ рд╡рд┐рдХрд▓реНрдк рдирд╣реАрдВ рд╣реИ рддреЛ рдореИрдВ рдХреБрд▓ рдорд┐рд▓рд╛рдХрд░ рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рдкрд╣рд▓реЗ рдЪрд░рдг рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдирд┐рд░рд╛рд╢рд╛ рдХреЛ рд╕рдордЭреЗрдВред
;)

рдФрд░ рдХреЛрдИ рднреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЖрдЬ exe рдкрд░ рдлрд┐рд░ рд╕реЗ рдХреНрд▓рд┐рдХ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ 10sec (рдпрд╛ 3sec рд╕реЗ рдЕрдзрд┐рдХ) рдкреНрд░рддреАрдХреНрд╖рд╛ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рдХреЛрдИ рд▓реЛрдбрд┐рдВрдЧ рд╕рдВрдХреЗрддрдХ рдирд╣реАрдВ рд╣реИ, рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХрд╛ рджреВрд╕рд░рд╛ рдмрдбрд╝рд╛ рдореБрджреНрджрд╛ рд╣реИред рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд▓реЛрдбрд┐рдВрдЧ рдЗрдВрдбрд┐рдХреЗрдЯрд░ рдиреЗрдЯ рдХреЛрд░ 3.1 рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдирд╣реАрдВ рд╣реЛрдЧрд╛, рдЗрд╕рд▓рд┐рдП рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдзреИрд░реНрдп рд░рдЦрдирд╛ рд╣реЛрдЧрд╛...

рдбреЗрд╕реНрдХрдЯреЙрдк рдбреЗрд╡рд▓рдкрд░реНрд╕ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЪрд░рдг 2 рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдФрд░ рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ .Net 5 рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реЛрдЧрд╛ рдХреНрдпреЛрдВрдХрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, .Net Core рдореЗрдВ рдбреЗрд╕реНрдХрдЯреЙрдк рд╡рд┐рдХрд╛рд╕ рдЕрдВрддрд┐рдо рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рдмреБрд░рд╛ рдЕрдиреБрднрд╡ рд╣реИред

@RUSshy рдЗрддрдиреА рдирдлрд░рдд рдХреНрдпреЛрдВ? рдпрджрд┐ рдЖрдк рдкрд╣рд▓реА рдмрд╛рд░ рд▓реЙрдиреНрдЪ рдХрд░рддреЗ рд╕рдордп рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдореЗрдВ рджреЗрд░реА рдирд╣реАрдВ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддреЛ рд╕рд┐рдВрдЧрд▓-рдлрд╛рдЗрд▓ рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдХрд╛ рдЙрдкрдпреЛрдЧ рди рдХрд░реЗрдВред

рдпрд╣ рдирдлрд░рдд рдирд╣реАрдВ рд╣реИ, рдпрд╣ рд░рдЪрдирд╛рддреНрдордХ рдФрд░ рдИрдорд╛рдирджрд╛рд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╣реИ, рдореБрдЭреЗ рд╕реА # рдФрд░ рдиреЗрдЯ рдХреА рдкрд░рд╡рд╛рд╣ рд╣реИ, рдореИрдВ рд╣рд░ рд░реЛрдЬ рджреЛрдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ, рдореИрдВ рдирд╣реАрдВ рдЪрд╛рд╣рддрд╛ рдХрд┐ рдЗрд╕реЗ рдЬреАрдУ рдпрд╛ рдХреБрдЫ рдФрд░ рд╕реЗ рдмрджрд▓рд╛ рдЬрд╛рдП

рдЕрднреА рдЕрднреА:
https://old.reddit.com/r/golang/comments/e1xri3/choosing_go_at_american_express/
https://old.reddit.com/r/golang/comments/ds2z51/the_stripe_cli_is_now_available_and_its_write/

рдирдХрд╛рд░рд╛рддреНрдордХ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╕рдХрд╛рд░рд╛рддреНрдордХ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреА рддрд░рд╣ рд╣реА рд╕рд╣рд╛рдпрдХ рд╣реЛрддреА рд╣реИ, рд▓реЗрдХрд┐рди рдпрджрд┐ рдЖрдк рдЗрд╕реЗ "рдирдлрд░рдд" рдХреЗ рд░реВрдк рдореЗрдВ рд▓реЗрддреЗ рд╣реИрдВ рддреЛ рдореИрдВ рдЖрдкрдХреА рдорджрдж рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛

.рдиреЗрдЯ рд╕рдореБрджрд╛рдп рдореМрди, рдирд┐рд╖реНрдХреНрд░рд┐рдп рдФрд░ рдкрдХреНрд╖рдкрд╛рддреА рд╣реЛрдиреЗ рдХрд╛ рд░рд╛рд╕реНрддрд╛ рд╣реИ, рд╡реНрдпрд╡рдзрд╛рди рд╣реА рдЬрд╛рдиреЗ рдХрд╛ рдПрдХрдорд╛рддреНрд░ рддрд░реАрдХрд╛ рд╣реИ

.NET рдЗрди рджрд┐рдиреЛрдВ рдЕрдзрд┐рдХрд╛рдВрд╢ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рд╡рд╕реНрддреБрдирд┐рд╖реНрда рд░реВрдк рд╕реЗ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рдордВрдЪ рд╣реИред рдХрд╛рд╢ рдФрд░ рд▓реЛрдЧреЛрдВ рдХреЛ рдпрд╣ рдПрд╣рд╕рд╛рд╕ рд╣реЛрддрд╛ред

рдЬрд╛рд╡рд╛, рдЧреЛ, рд░рд╕реНрдЯ, рдиреЛрдб, ... рдЬреИрд╕реЗ рдЕрдиреНрдп рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рд╕реЗ рдореИрдВ рдпреБрджреНрдз рдХреА рдХрд╣рд╛рдирд┐рдпрд╛рдВ рд╕реБрдирддрд╛ рд╣реВрдВ, рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдкрд░реЗрд╢рд╛рди рдХрд░рдиреЗ рд╡рд╛рд▓реА рд╣реИрдВред рдпреЗ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдЙрддреНрдкрд╛рджрдХрддрд╛ рд╣рддреНрдпрд╛рд░реЗ рд╣реИрдВред

рдореЗрд░реА рд░рд╛рдп рдореЗрдВ рдпрд╣ рд╕рдордп рдФрд░ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреА рдмрд░реНрдмрд╛рджреА рд╣реИ, рдПрдУрдЯреА рд╕рдВрдХрд▓рди рдФрд░ рдЯреНрд░реА-рд╢реЗрдХрд┐рдВрдЧ рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░реЗрдВ, рдЕрдкрдиреЗ рд╕рднреА рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЛ рд╡рд╣рд╛рдВ рд░рдЦреЗрдВ, рд╣реИрдХреНрд╕ рдХреЗ рд╕рд╛рде рд░реБрдХреЗрдВ

рдореИрдВ рд╕рд╣рдордд рд╣реВрдВред .Net рдореЗрдВ рдПрдХ рдмреЗрд╣рддрд░реАрди рдЯрд╛рдЗрдк рд╕рд┐рд╕реНрдЯрдо рд╣реИред рдХрдИ рдмрд╛рд░ рдкреНрд░рддрд┐рдмрд┐рдВрдм рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕реЗ рджрд░рдХрд┐рдирд╛рд░ рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЯреВрд▓рд┐рдВрдЧ рдХреЛ рдПрдУрдЯреА рдкрд░ рдзреНрдпрд╛рди рджреЗрдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ рд▓реЗрдХрд┐рди рдкреНрд░рддрд┐рдмрд┐рдВрдм рдХреЛ рдХрдо рдХрд░рдиреЗ рдкрд░ рднреАред https://github.com/dotnet/corert/issues/7835#issuecomment -545087715 рдПрдХ рдмрд╣реБрдд рдЕрдЪреНрдЫреА рд╢реБрд░реБрдЖрдд рд╣реЛрдЧреАред рдирд▓ рдХреА рдЕрд░рдм рдбреЙрд▓рд░ рдХреА рдЧрд▓рддреА рдХреЛ рдЕрдм рдХрдо рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ; рдкреНрд░рддрд┐рдмрд┐рдВрдм-рдореБрдХреНрдд рдХреЛрдб (рдпрд╛ рдЕрдиреНрдпрдерд╛ рд▓рд┐рдВрдХрд░ рдпрд╛ рдХреЛрд░рд░реНрдЯ рд╕рдВрдЧрдд рдХреЛрдб) рдХреЗ рд▓рд┐рдП рд╕реЗрдЯрд┐рдВрдЧ рдпрд╛ рдорд╛рд░реНрдХрд░ рдХреЗ рд╕рд╛рде рдкреНрд░рддрд┐рдмрд┐рдВрдм рдХреЗ рд╕рд╛рде рднреА рдРрд╕рд╛ рд╣реА рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

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

рдЪрд┐рдВрддрди рдХреЛ рд╣рддреЛрддреНрд╕рд╛рд╣рд┐рдд рдХрд░рдиреЗ рдХреА рджрд┐рд╢рд╛ рдореЗрдВ рдХреЛрдИ рдкреНрд░рдЧрддрд┐ рдкреНрд░рдЧрддрд┐ рд╣реЛрдЧреАред

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

рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: рдЪреВрдВрдХрд┐ рдЗрд╕ рдкреЛрд╕реНрдЯ рдиреЗ рд╕реНрдкрд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рдПрдВ рдПрдХрддреНрд░ рдХреА рд╣реИрдВред рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛтАЛтАЛрд╣реИ рдХрд┐ рдореЗрдЯрд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдбрд┐рдЬрд╝рд╛рдЗрди-рдЯрд╛рдЗрдо рдкрд░ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП, рдЬрд╣рд╛рдВ рдХреЛрдб рдбреЗрдЯрд╛ рд╣реИ, рдФрд░ рдпрд╣ рдореЗрд░реЗ рдирд┐рдпрдВрддреНрд░рдг рдореЗрдВ рд╣реИред

рд╡реЗ рдкреНрд░рдХрд╛рд░ рдЬрд┐рдиреНрд╣реЗрдВ рдореИрдВ рдЗрдирд╡реЗрд░рд┐рдПрдВрдЯ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдкрд╕рдВрдж рдХрд░рддрд╛ рд╣реВрдВ рдЬрд┐рди рдкрд░ рдореИрдВ рднрд░реЛрд╕рд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред рд░рдирдЯрд╛рдЗрдо рдкреНрд░рддрд┐рдмрд┐рдВрдм рдЙрд╕ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдХреЛ рддреЛрдбрд╝ рджреЗрддрд╛ рд╣реИред

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

рдЗрд╕ рдХреНрд╖реЗрддреНрд░ рдХреЗ рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЛ рдЯреИрдЧ рдХрд░рдирд╛: @swaroop-sridhar
рдпрджрд┐ рдЖрдк рд╕рджрд╕реНрдпрддрд╛ рд▓реЗрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддреЛ danmosemsft рдХреЛ рд╕реВрдЪрд┐рдд рдХрд░реЗрдВред

рдЗрд╕ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдореЗрдВ рд╕рд┐рдВрдЧрд▓-рдлрд╛рдЗрд▓ рдлреАрдЪрд░ рдбрд┐рдЬрд╝рд╛рдЗрди рд╣реИ: https://github.com/dotnet/designs/blob/master/accepted/2020/single-file/design.md
рдЗрд╕ рдореБрджреНрджреЗ рдореЗрдВ рд╕рд┐рдВрдЧрд▓-рдлрд╛рдЗрд▓ рдРрдкреНрд╕ рдХреА рдЯреНрд░реИрдХрд┐рдВрдЧ рдкреНрд░рдЧрддрд┐: https://github.com/dotnet/runtime/issues/36590ред
рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рдЖрдкрдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдФрд░ рд╕реБрдЭрд╛рд╡реЛрдВ рдХреЗ рд▓рд┐рдП рд╕рднреА рдХреЛ рдзрдиреНрдпрд╡рд╛рджред

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

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

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

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

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

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

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