CAD рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдкреНрд▓рдЧрдЗрдирд╣рд░реВ рд╡рд┐рдХрд╛рд╕ рдЧрд░реНрджрд╛ (
рдЬрдм рддрдкрд╛рдЗрдБрд╕рдБрдЧ рдПрдЙрдЯрд╛ рдорд╛рддреНрд░ рдкреНрд▓рдЧрдЗрди рдЫ рд╡рд╛ рддрдкрд╛рдЗрдБ рдЕрдЭреИ рдкрдирд┐ рдпрд╕ рдорд╛рдорд┐рд▓рд╛рдорд╛ рдПрдХ рд╕реНрд╡-рд╕рд┐рдХрд╛рдЗрдПрдХреЛ рд╢реБрд░реБрд╡рд╛рддрдХрд░реНрддрд╛ рд╣реБрдиреБрд╣реБрдиреНрдЫ, рддрдкрд╛рдЗрдБ рдХреЗрд╡рд▓ рдкрд░рд┐рдпреЛрдЬрдирд╛рдХреЛ рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рдЙрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ, рдпрд╕рдорд╛ рдЖрд╡рд╢реНрдпрдХ рдард╛рдЙрдБрд╣рд░реВ рдкрд░рд┐рд╡рд░реНрддрди рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ рд░ рдкреНрд▓рдЧрдЗрдирдХреЛ рдирдпрд╛рдБ рд╕рдВрд╕реНрдХрд░рдг рднреЗрд▓рд╛ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред рддрджрдиреБрд╕рд╛рд░, рдХреЛрдбрдорд╛ рдкрдЫрд┐рд▓реНрд▓рд╛ рдкрд░рд┐рд╡рд░реНрддрдирд╣рд░реВрд▓реЗ рд╢реНрд░рдо рд▓рд╛рдЧрддрдорд╛ рдзреЗрд░реИ рд╡реГрджреНрдзрд┐ рдЧрд░реНрдиреЗрдЫред
рдЬрдм рддрдкрд╛рдЗрдБ рдЕрдиреБрднрд╡ рд░ рдЬреНрдЮрд╛рди рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрдиреБрд╣реБрдиреНрдЫ, рддрдкрд╛рдЗрдБ рдпрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛рд▓рд╛рдИ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдЧрд░реНрди рдзреЗрд░реИ рддрд░рд┐рдХрд╛рд╣рд░реВ рдлреЗрд▓рд╛ рдкрд╛рд░реНрдиреБрд╣реБрдиреЗрдЫред рдо рдпреЛ рдмрд╛рдЯреЛ рд╣рд┐рдбреЗрдХреЛ рдЫреБ рд░ рдо рддрдкрд╛рдИрд▓рд╛рдИ рдмрддрд╛рдЙрди рдЪрд╛рд╣рдиреНрдЫреБ рдХрд┐ рдо рдХреЗ рд╕рдВрдЧ рд╕рдорд╛рдкреНрдд рднрдпреЛ рд░ рдпреЛ рдХрддреНрддрд┐рдХреЛ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдЫред
рдкрд╣рд┐рд▓реЗ, рдПрдЙрдЯрд╛ рд╡рд┐рдзрд┐ рд╣реЗрд░реМрдВ рдЬреБрди рд╕реНрдкрд╖реНрдЯ рдЫ рд░ рдЬреБрди рдореИрд▓реЗ рд▓рд╛рдореЛ рд╕рдордпрджреЗрдЦрд┐ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрдХреЛ рдЫреБред
рдкрд░рд┐рдпреЛрдЬрдирд╛ рдлрд╛рдЗрд▓рд╣рд░реВрдорд╛ рд▓рд┐рдЩреНрдХрд╣рд░реВ
рд░ рд╕рдмреИ рдХреБрд░рд╛рд▓рд╛рдИ рд╕рд░рд▓, рджреГрд╢реНрдп рд░ рдмреБрдЭреНрди рдпреЛрдЧреНрдп рдмрдирд╛рдЙрди, рдо рдкреНрд▓рдЧрдЗрди рд╡рд┐рдХрд╛рд╕рдХреЛ рдЕрдореВрд░реНрдд рдЙрджрд╛рд╣рд░рдг рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рд╕рдмреИ рдХреБрд░рд╛ рд╡рд░реНрдгрди рдЧрд░реНрдиреЗрдЫреБред
рднрд┐рдЬреБрдЕрд▓ рд╕реНрдЯреБрдбрд┐рдпреЛ рдЦреЛрд▓реМрдВ (рдорд╕рдБрдЧ рд╕рд╛рдореБрджрд╛рдпрд┐рдХ реирежрезреп рд╕рдВрд╕реНрдХрд░рдг рдЫред рд░ рд╣реЛ - рд░реВрд╕реАрдорд╛) рд░ рдирдпрд╛рдБ рд╕рдорд╛рдзрд╛рди рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реМрдВред рдЙрд╣рд╛рдБрд▓рд╛рдИ рдХрд▓ рдЧрд░реМрдВ MySuperPluginForRevit
рд╣рд╛рдореА рд╕рдВрд╕реНрдХрд░рдг 2015-2020 рдХреЛ рд▓рд╛рдЧрд┐ Revit рдХреЛ рд▓рд╛рдЧреА рдПрдХ рдкреНрд▓рдЧрдЗрди рдмрдирд╛рдЙрдиреЗрдЫреМрдВред рддреНрдпрд╕рдХрд╛рд░рдг, рд╕рдорд╛рдзрд╛рди (рдиреЗрдЯ рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреНрд▓рд╛рд╕ рд▓рд╛рдЗрдмреНрд░реЗрд░реА) рдорд╛ рдирдпрд╛рдБ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реМрдВ рд░ рдпрд╕рд▓рд╛рдИ рдХрд▓ рдЧрд░реМрдВ MySuperPluginForRevit_2015
рд╣рд╛рдореАрд▓реЗ Revit API рдорд╛ рд▓рд┐рдЩреНрдХрд╣рд░реВ рдердкреНрди рдЖрд╡рд╢реНрдпрдХ рдЫред рдЕрд╡рд╢реНрдп рдкрдирд┐, рд╣рд╛рдореА рд╕реНрдерд╛рдиреАрдп рдлрд╛рдЗрд▓рд╣рд░реВрдорд╛ рд▓рд┐рдЩреНрдХрд╣рд░реВ рдердкреНрди рд╕рдХреНрдЫреМрдВ (рд╣рд╛рдореАрд▓реЗ рд╕рдмреИ рдЖрд╡рд╢реНрдпрдХ SDK рд╣рд░реВ рд╡рд╛ Revit рдХреЛ рд╕рдмреИ рд╕рдВрд╕реНрдХрд░рдгрд╣рд░реВ рд╕реНрдерд╛рдкрдирд╛ рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рд╣реБрдиреЗрдЫ), рддрд░ рд╣рд╛рдореА рддреБрд░реБрдиреНрддреИ рд╕рд╣реА рдорд╛рд░реНрдЧ рдЕрдиреБрд╕рд░рдг рдЧрд░реНрдиреЗрдЫреМрдВ рд░ NuGet рдкреНрдпрд╛рдХреЗрдЬ рдЬрдбрд╛рди рдЧрд░реНрдиреЗрдЫреМрдВред рддрдкрд╛рдИрдВрд▓реЗ рдзреЗрд░реИ рдкреНрдпрд╛рдХреЗрдЬрд╣рд░реВ рдлреЗрд▓рд╛ рдкрд╛рд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ, рддрд░ рдо рдЖрдлреНрдиреИ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреЗрдЫреБред
рдкреНрдпрд╛рдХреЗрдЬ рдЬрдбрд╛рди рдЧрд░реЗрдкрдЫрд┐, рд╡рд╕реНрддреБрдорд╛ рджрд╛рдпрд╛рдБ рдХреНрд▓рд┐рдХ рдЧрд░реНрдиреБрд╣реЛрд╕реН "рд╕рдиреНрджрд░реНрдн"рд░ рд╡рд╕реНрддреБ рдЪрдпрди рдЧрд░реНрдиреБрд╣реЛрд╕реН"PackageReference рдорд╛ packages.config рд╕рд╛рд░реНрдиреБрд╣реЛрд╕реН...┬╗
рдпрджрд┐ рдЕрдЪрд╛рдирдХ рдпрд╕ рдмрд┐рдиреНрджреБрдорд╛ рддрдкрд╛рдИ рдЖрддрдВрдХрд┐рдд рд╣реБрди рдерд╛рд▓реНрдиреБрднрдпреЛ, рдХрд┐рдирдХрд┐ рдкреНрдпрд╛рдХреЗрдЬ рдЧреБрдг рд╡рд┐рдиреНрдбреЛрдорд╛ рддреНрдпрд╣рд╛рдБ рдХреБрдиреИ рдорд╣рддреНрддреНрд╡рдкреВрд░реНрдг рд╡рд╕реНрддреБ рд╣реБрдиреЗрдЫреИрди "рд╕реНрдерд╛рдиреАрдп рд░реВрдкрдорд╛ рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдЧрд░реНрдиреБрд╣реЛрд╕реН", рдЬреБрди рд╣рд╛рдореАрд▓реЗ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдкрдорд╛ рдорд╛рдирдорд╛ рд╕реЗрдЯ рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫ рдЭреВрдЯрд╛, рддреНрдпрд╕рдкрдЫрд┐ рдирдЖрддреНрддрд┐рдиреБрд╣реЛрд╕реН - рдкрд░рд┐рдпреЛрдЬрдирд╛рдХреЛ рд╕рд╛рде рдлреЛрд▓реНрдбрд░рдорд╛ рдЬрд╛рдиреБрд╣реЛрд╕реН, рддрдкрд╛рдИрдВрдХреЛ рд▓рд╛рдЧрд┐ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╕рдореНрдкрд╛рджрдХрдорд╛ .csproj рд╡рд┐рд╕реНрддрд╛рд░рдХреЛ рд╕рд╛рде рдлрд╛рдЗрд▓ рдЦреЛрд▓реНрдиреБрд╣реЛрд╕реН (рдо Notepad++ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдЫреБ) рд░ рддреНрдпрд╣рд╛рдБ рд╣рд╛рдореНрд░реЛ рдкреНрдпрд╛рдХреЗрдЬрдХреЛ рдмрд╛рд░реЗрдорд╛ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдлреЗрд▓рд╛ рдкрд╛рд░реНрдиреБрд╣реЛрд╕реНред рдЙрдиреА рдЕрд╣рд┐рд▓реЗ рдпрд╕реНрддреЛ рджреЗрдЦрд┐рдиреНрдЫрд┐рдиреН:
<PackageReference Include="ModPlus.Revit.API.2015">
<Version>1.0.0</Version>
</PackageReference>
рдпрд╕рдорд╛ рдПрдЙрдЯрд╛ рд╕рдореНрдкрддреНрддрд┐ рдердкреНрдиреБрд╣реЛрд╕реН рд░рдирдЯрд╛рдЗрдоред рдпреЛ рдпрд╕ рдкреНрд░рдХрд╛рд░ рдмрд╛рд╣рд┐рд░ рд╣реБрдиреЗрдЫ:
<PackageReference Include="ModPlus.Revit.API.2015">
<Version>1.0.0</Version>
<ExcludeAssets>runtime</ExcludeAssets>
</PackageReference>
рдЕрдм, рдкрд░рд┐рдпреЛрдЬрдирд╛ рдирд┐рд░реНрдорд╛рдг рдЧрд░реНрджрд╛, рдкреНрдпрд╛рдХреЗрдЬрдмрд╛рдЯ рдлрд╛рдЗрд▓рд╣рд░реВ рдЖрдЙрдЯрдкреБрдЯ рдлреЛрд▓реНрдбрд░рдорд╛ рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рд╣реБрдиреЗрдЫреИрдиред
рдЕрдЭ рдЕрдЧрд╛рдбрд┐ рдЬрд╛рдФрдВ - рддреБрд░реБрдиреНрддреИ рдХрд▓реНрдкрдирд╛ рдЧрд░реМрдВ рдХрд┐ рд╣рд╛рдореНрд░реЛ рдкреНрд▓рдЧрдЗрдирд▓реЗ Revit API рдмрд╛рдЯ рдХреЗрд╣рд┐ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреЗрдЫ, рдЬреБрди рдирдпрд╛рдБ рд╕рдВрд╕реНрдХрд░рдгрд╣рд░реВ рдЬрд╛рд░реА рд╣реБрдБрджрд╛ рд╕рдордпрд╕рдБрдЧреИ рдкрд░рд┐рд╡рд░реНрддрди рднрдПрдХреЛ рдЫред рдареАрдХ рдЫ, рд╡рд╛ рд╣рд╛рдореАрд▓реЗ рдХреЛрдбрдорд╛ рдХреЗрд╣рд┐ рдкрд░рд┐рд╡рд░реНрддрди рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫ рдЬреБрди Revit рдХреЛ рд╕рдВрд╕реНрдХрд░рдгрдХреЛ рд▓рд╛рдЧрд┐ рд╣рд╛рдореАрд▓реЗ рдкреНрд▓рдЧрдЗрди рдмрдирд╛рдЗрд░рд╣реЗрдХрд╛ рдЫреМрдВред рдХреЛрдбрдорд╛ рддреНрдпрд╕реНрддрд╛ рднрд┐рдиреНрдирддрд╛рд╣рд░реВ рд╕рдорд╛рдзрд╛рди рдЧрд░реНрди, рд╣рд╛рдореА рд╕рд╢рд░реНрдд рд╕рдВрдХрд▓рди рдкреНрд░рддреАрдХрд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреЗрдЫреМрдВред рдкрд░рд┐рдпреЛрдЬрдирд╛ рдЧреБрдгрд╣рд░реВ рдЦреЛрд▓реНрдиреБрд╣реЛрд╕реН, "рдЯреНрдпрд╛рдмрдорд╛ рдЬрд╛рдиреБрд╣реЛрд╕реНрд╡рд┐рдзрд╛рдирд╕рднрд╛"рд░ рдореИрджрд╛рдирдорд╛"рд╕рд╢рд░реНрдд рд╕рдВрдХрд▓рди рдиреЛрдЯреЗрд╢рди"рд▓рдЦреМрдВ R2015.
рдиреЛрдЯ рдЧрд░реНрдиреБрд╣реЛрд╕реН рдХрд┐ рдкреНрд░рддреАрдХ рджреБрд╡реИ рдбрд┐рдмрдЧ рд░ рд░рд┐рд▓реАрдЬ рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рдирдХрд╛ рд▓рд╛рдЧрд┐ рдердкрд┐рдПрдХреЛ рд╣реБрдиреБрдкрд░реНрдЫред
рдареАрдХ рдЫ, рдЬрдм рд╣рд╛рдореА рдЧреБрдг рд╡рд┐рдиреНрдбреЛрдорд╛ рдЫреМрдВ, рд╣рд╛рдореА рддреБрд░реБрдиреНрддреИ "рдЯреНрдпрд╛рдмрдорд╛ рдЬрд╛рдиреНрдЫреМрдВрдЕрдиреБрдкреНрд░рдпреЛрдЧ"рд░ рдореИрджрд╛рдирдорд╛"рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдирд╛рдо рд╕реНрдерд╛рди┬╗ рдкреНрд░рддреНрдпрдп рд╣рдЯрд╛рдЙрдиреБрд╣реЛрд╕реН _2015рддрд╛рдХрд┐ рд╣рд╛рдореНрд░реЛ рдиреЗрдорд╕реНрдкреЗрд╕ рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рд░ рдЕрд╕реЗрдВрдмрд▓реА рдирд╛рдордмрд╛рдЯ рд╕реНрд╡рддрдиреНрддреНрд░ рдЫ:
рдореЗрд░реЛ рдХреЗрд╕рдорд╛, рдЕрдиреНрддрд┐рдо рдЙрддреНрдкрд╛рджрдирдорд╛, рд╕рдмреИ рд╕рдВрд╕реНрдХрд░рдгрд╣рд░реВрдХреЛ рдкреНрд▓рдЧрдЗрдирд╣рд░реВ рдПрдЙрдЯреИ рдлреЛрд▓реНрдбрд░рдорд╛ рд░рд╛рдЦрд┐рдиреНрдЫрдиреН, рддреНрдпрд╕реИрд▓реЗ рдореЗрд░реЛ рдЕрд╕реЗрдВрдмрд▓реА рдирд╛рдорд╣рд░реВ рдлрд╛рд░рдордХреЛ рдкреНрд░рддреНрдпрдпрд╕рдБрдЧ рд░рд╣рдиреНрдЫред _20hhред рддрд░ рдпрджрд┐ рдлрд╛рдИрд▓рд╣рд░реВ рдлрд░рдХ рдлреЛрд▓реНрдбрд░рд╣рд░реВрдорд╛ рдЕрд╡рд╕реНрдерд┐рдд рд╣реБрди рдорд╛рдирд┐рдиреНрдЫ рднрдиреЗ рддрдкрд╛рдИрдВрд▓реЗ рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдирд╛рдордмрд╛рдЯ рдкреНрд░рддреНрдпрдп рд╣рдЯрд╛рдЙрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред
рдлрд╛рдЗрд▓ рдХреЛрдбрдорд╛ рдЬрд╛рдФрдВ Class1.cs рд░ рддреНрдпрд╣рд╛рдБ рдХреЗрд╣реА рдХреЛрдб рд╕рд┐рдореБрд▓реЗрдЯ рдЧрд░реНрдиреБрд╣реЛрд╕реН, Revit рдХреЛ рд╡рд┐рднрд┐рдиреНрди рд╕рдВрд╕реНрдХрд░рдгрд╣рд░реВрд▓рд╛рдИ рдзреНрдпрд╛рдирдорд╛ рд░рд╛рдЦреНрджреИ:
namespace MySuperPluginForRevit
{
using Autodesk.Revit.Attributes;
using Autodesk.Revit.DB;
using Autodesk.Revit.UI;
[Regeneration(RegenerationOption.Manual)]
[Transaction(TransactionMode.Manual)]
public class Class1 : IExternalCommand
{
public Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements)
{
#if R2015
TaskDialog.Show("ModPlus", "Hello Revit 2015");
#elif R2016
TaskDialog.Show("ModPlus", "Hello Revit 2016");
#elif R2017
TaskDialog.Show("ModPlus", "Hello Revit 2017");
#elif R2018
TaskDialog.Show("ModPlus", "Hello Revit 2018");
#elif R2019
TaskDialog.Show("ModPlus", "Hello Revit 2019");
#elif R2020
TaskDialog.Show("ModPlus", "Hello Revit 2020");
#endif
return Result.Succeeded;
}
}
}
рдореИрд▓реЗ рддреБрд░реБрдиреНрддреИ рд╕рдВрд╕реНрдХрд░рдг 2015 рдорд╛рдерд┐рдХреЛ Revit рдХреЛ рд╕рдмреИ рд╕рдВрд╕реНрдХрд░рдгрд╣рд░реВрд▓рд╛рдИ рдзреНрдпрд╛рдирдорд╛ рд░рд╛рдЦреЗрдВ (рдЬреБрди рд▓реЗрдЦреНрдиреЗ рд╕рдордпрдорд╛ рдЙрдкрд▓рдмреНрдз рдерд┐рдП) рд░ рддреБрд░реБрдиреНрддреИ рд╕рд╢рд░реНрдд рд╕рдВрдХрд▓рди рдкреНрд░рддреАрдХрд╣рд░реВрдХреЛ рдЙрдкрд╕реНрдерд┐рддрд┐рд▓рд╛рдИ рдзреНрдпрд╛рдирдорд╛ рд░рд╛рдЦреЗрдВ, рдЬреБрди рд╕рдорд╛рди рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░рд┐рдПрдХреЛ рд╣реЛред
рдореБрдЦреНрдп рд╣рд╛рдЗрд▓рд╛рдЗрдЯрдорд╛ рдЬрд╛рдФрдВред рд╣рд╛рдореАрд▓реЗ рд╣рд╛рдореНрд░реЛ рд╕рдорд╛рдзрд╛рдирдорд╛ рдирдпрд╛рдБ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрдЫреМрдВ, рдХреЗрд╡рд▓ Revit 2016 рдХреЛ рд▓рд╛рдЧрд┐ рдкреНрд▓рдЧрдЗрдирдХреЛ рд╕рдВрд╕реНрдХрд░рдгрдХреЛ рд▓рд╛рдЧрд┐ред рд╣рд╛рдореАрд▓реЗ рдорд╛рдерд┐ рд╡рд░реНрдгрди рдЧрд░рд┐рдПрдХрд╛ рд╕рдмреИ рдЪрд░рдгрд╣рд░реВ рдХреНрд░рдорд╢рдГ рджреЛрд╣реЛрд░реНрдпрд╛рдЙрдБрдЫреМрдВ, рдирдореНрдмрд░ 2015 рд▓рд╛рдИ рдирдореНрдмрд░ 2016 рд▓реЗ рдмрджрд▓реЗрд░ред рддрд░ рдлрд╛рдЗрд▓ Class1.cs рдирдпрд╛рдБ рдкрд░рд┐рдпреЛрдЬрдирд╛рдмрд╛рдЯ рд╣рдЯрд╛рдЙрдиреБрд╣реЛрд╕реНред
рдЖрд╡рд╢реНрдпрдХ рдХреЛрдб рд╕рд╣рд┐рдд рдлрд╛рдЗрд▓ - Class1.cs - рд╣рд╛рдореАрд╕рдБрдЧ рдпреЛ рдкрд╣рд┐рд▓реЗ рдиреИ рдЫ рд░ рд╣рд╛рдореАрд▓реЗ рдирдпрд╛рдБ рдкрд░рд┐рдпреЛрдЬрдирд╛рдорд╛ тАЛтАЛрдпрд╕рдХреЛ рд▓рд┐рдЩреНрдХ рд╕рдореНрдорд┐рд▓рд┐рдд рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫред рд▓рд┐рдЩреНрдХрд╣рд░реВ рд╕рдореНрдорд┐рд▓рд┐рдд рдЧрд░реНрдиреЗ рджреБрдИ рддрд░рд┐рдХрд╛рд╣рд░реВ рдЫрдиреН:
- рд▓рд╛рдореЛ - рдкрд░рд┐рдпреЛрдЬрдирд╛рдорд╛ тАЛтАЛрджрд╛рдпрд╛рдБ рдХреНрд▓рд┐рдХ рдЧрд░реНрдиреБрд╣реЛрд╕реН рд░ рдЪрдпрди рдЧрд░реНрдиреБрд╣реЛрд╕реН "рдердк->рдЕрд╡рд╕реНрдерд┐рдд рддрддреНрд╡", рдЦреБрд▓реНрдиреЗ рд╡рд┐рдиреНрдбреЛрдорд╛, рдЖрд╡рд╢реНрдпрдХ рдлрд╛рдЗрд▓ рдлреЗрд▓рд╛ рдкрд╛рд░реНрдиреБрд╣реЛрд╕реН рд░ рд╡рд┐рдХрд▓реНрдкрдХреЛ рд╕рдЯреНрдЯрд╛ "рдердк"рд╡рд┐рдХрд▓реНрдк рдЪрдпрди рдЧрд░реНрдиреБрд╣реЛрд╕реН"рдЬрдбрд╛рдирдХреЛ рд░реВрдкрдорд╛ рдердкреНрдиреБрд╣реЛрд╕реН┬╗
- рдЫреЛрдЯреЛ - рд╕реЛрд▓реБрд╕рди рдПрдХреНрд╕рдкреНрд▓реЛрд░рд░рдорд╛ рд╕реАрдзрд╛, рдЗрдЪреНрдЫрд┐рдд рдлрд╛рдЗрд▓ (рд╡рд╛ рдлрд╛рдЗрд▓рд╣рд░реВ, рд╡рд╛ рд╕рдореНрдкреВрд░реНрдг рдлреЛрд▓реНрдбрд░рд╣рд░реВ рдкрдирд┐) рдЪрдпрди рдЧрд░реНрдиреБрд╣реЛрд╕реН рд░ Alt рдХреБрдЮреНрдЬреА рд╣реЛрд▓реНрдб рдЧрд░реНрджрд╛ рдпрд╕рд▓рд╛рдИ рдирдпрд╛рдБ рдкрд░рд┐рдпреЛрдЬрдирд╛рдорд╛ тАЛтАЛрддрд╛рдиреНрдиреБрд╣реЛрд╕реНред рддрдкрд╛рдИрдБрд▓реЗ рддрд╛рдиреНрджрд╛, рддрдкрд╛рдИрдБрд▓реЗ Alt рдХреБрдЮреНрдЬреА рдерд┐рдЪреНрджрд╛, рдорд╛рдЙрд╕ рдХрд░реНрд╕рд░ рдкреНрд▓рд╕ рдЪрд┐рдиреНрд╣рдмрд╛рдЯ рдПрд░реЛрдорд╛ рдкрд░рд┐рд╡рд░реНрддрди рд╣реБрдиреЗрдЫ рднрдиреЗрд░ рджреЗрдЦреНрдиреБрд╣реБрдиреЗрдЫред
UPS: рдореИрд▓реЗ рдпрд╕ рдЕрдиреБрдЪреНрдЫреЗрджрдорд╛ рдЕрд▓рд┐рдХрддрд┐ рднреНрд░рдо рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реЗрдХреЛ рдЫреБ - рдзреЗрд░реИ рдлрд╛рдЗрд▓рд╣рд░реВ рд╕реНрдерд╛рдирд╛рдиреНрддрд░рдг рдЧрд░реНрди рддрдкрд╛рдИрдВрд▓реЗ рд╣реЛрд▓реНрдб рдЧрд░реНрдиреБрдкрд░реНрдЫ Shift + Alt!
рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдкреВрд░рд╛ рдЧрд░реЗрдкрдЫрд┐, рд╣рд╛рдореАрд╕рдБрдЧ рджреЛрд╕реНрд░реЛ рдкрд░рд┐рдпреЛрдЬрдирд╛рдорд╛ тАЛтАЛрдлрд╛рдЗрд▓ рд╣реБрдиреЗрдЫ Class1.cs рд╕рдореНрдмрдиреНрдзрд┐рдд рдкреНрд░рддрд┐рдорд╛ (рдиреАрд▓реЛ рддреАрд░) рд╕рдВрдЧ:
рд╕рдореНрдкрд╛рджрдХ рд╡рд┐рдиреНрдбреЛрдорд╛ рдХреЛрдб рд╕рдореНрдкрд╛рджрди рдЧрд░реНрджрд╛, рддрдкрд╛рдЗрдБ рдХреБрди рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╕рдиреНрджрд░реНрднрдорд╛ рдХреЛрдб рдкреНрд░рджрд░реНрд╢рди рдЧрд░реНрдиреЗ рдЫрдиреМрдЯ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ, рдЬрд╕рд▓реЗ рддрдкрд╛рдЗрдБрд▓рд╛рдИ рд╡рд┐рднрд┐рдиреНрди рд╕рд╢рд░реНрдд рд╕рдВрдХрд▓рди рдкреНрд░рддреАрдХрд╣рд░реВ рдЕрдиреНрддрд░реНрдЧрдд рд╕рдореНрдкрд╛рджрди рднрдЗрд░рд╣реЗрдХреЛ рдХреЛрдб рд╣реЗрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреЗрдЫ:
рд╣рд╛рдореА рдпреЛ рдпреЛрдЬрдирд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдЕрдиреНрдп рд╕рдмреИ рдкрд░рд┐рдпреЛрдЬрдирд╛рд╣рд░реВ (2017-2020) рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрдЫреМрдВред рд▓рд╛рдЗрдл рд╣реНрдпрд╛рдХ - рдпрджрд┐ рддрдкрд╛рдИрдВрд▓реЗ рдЖрдзрд╛рд░ рдкрд░рд┐рдпреЛрдЬрдирд╛рдмрд╛рдЯ рдирднрдИ рд╕реЛрд▓реБрд╕рди рдПрдХреНрд╕рдкреНрд▓реЛрд░рд░рдорд╛ рдлрд╛рдЗрд▓рд╣рд░реВ рддрд╛рдиреНрдиреБ рднрдпреЛ, рддрд░ рдкрд░рд┐рдпреЛрдЬрдирд╛рдмрд╛рдЯ рдЬрд╣рд╛рдБ рддрд┐рдиреАрд╣рд░реВ рдкрд╣рд┐рд▓реЗ рдиреИ рд▓рд┐рдЩреНрдХрдХреЛ рд░реВрдкрдорд╛ рд╕рдореНрдорд┐рд▓рд┐рдд рдЫрдиреН, рддрдм рддрдкрд╛рдИрдВрд▓реЗ Alt рдХреБрдЮреНрдЬреА рдерд┐рдЪрд┐рд░рд╣рдиреБ рдкрд░реНрджреИрди!
рд╡рд░реНрдгрди рдЧрд░рд┐рдПрдХреЛ рд╡рд┐рдХрд▓реНрдк рдкреНрд▓рдЧрдЗрдирдХреЛ рдирдпрд╛рдБ рд╕рдВрд╕реНрдХрд░рдг рдердкреНрдиреЗ рдХреНрд╖рдг рд╡рд╛ рдкрд░рд┐рдпреЛрдЬрдирд╛рдорд╛ тАЛтАЛтАЛтАЛрдирдпрд╛рдБ рдлрд╛рдЗрд▓рд╣рд░реВ рдердкреНрдиреЗ рдХреНрд╖рдг рд╕рдореНрдо рдзреЗрд░реИ рд░рд╛рдореНрд░реЛ рдЫ - рдпреЛ рд╕рдмреИ рдзреЗрд░реИ рдХрдард┐рди рд╣реБрдиреНрдЫред рд░ рднрд░реНрдЦрд░реИ рдореИрд▓реЗ рдЕрдЪрд╛рдирдХ рдЕрдЪрд╛рдирдХ рдорд╣рд╕реБрд╕ рдЧрд░реЗрдВ рдХрд┐ рдпреЛ рд╕рдмреИ рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛рдХреЛ рд╕рд╛рде рдХрд╕рд░реА рдХреНрд░рдордмрджреНрдз рдЧрд░реНрдиреЗ рд░ рд╣рд╛рдореА рджреЛрд╕реНрд░реЛ рд╡рд┐рдзрд┐рдорд╛ рдЬрд╛рдБрджреИрдЫреМрдВред
рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рдирдХреЛ рдЬрд╛рджреВ
рдпрд╣рд╛рдБ рдкрдврд┐рд╕рдХреЗрдкрдЫрд┐, рддрдкрд╛рдИрдВ рдЙрджреНрдЧрд╛рд░ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ, "рдпрджрд┐ рд▓реЗрдЦ рддреБрд░реБрдиреНрддреИ рджреЛрд╕реНрд░реЛрдХреЛ рдмрд╛рд░реЗрдорд╛ рд╣реЛ рднрдиреЗ, рддрдкрд╛рдИрдВрд▓реЗ рдкрд╣рд┐рд▓реЛ рд╡рд┐рдзрд┐рдХреЛ рд╡рд░реНрдгрди рдХрд┐рди рдЧрд░реНрдиреБрднрдпреЛ?!" рд░ рд╣рд╛рдореАрд▓реЗ рд╕рд╢рд░реНрдд рд╕рдВрдХрд▓рди рдкреНрд░рддреАрдХрд╣рд░реВ рд░ рдХреБрди рдард╛рдЙрдБрд╣рд░реВрдорд╛ рд╣рд╛рдореНрд░рд╛ рдкрд░рд┐рдпреЛрдЬрдирд╛рд╣рд░реВ рдлрд░рдХ рдЫрдиреН рднрдиреЗрд░ рд╕реНрдкрд╖реНрдЯ рдкрд╛рд░реНрдирдХреЛ рд▓рд╛рдЧрд┐ рдореИрд▓реЗ рд╕рдмреИ рдХреБрд░рд╛ рд╡рд░реНрдгрди рдЧрд░реЗрдВред рд░ рдЕрдм рдпреЛ рд╣рд╛рдореАрд▓рд╛рдИ рд╕реНрдкрд╖реНрдЯ рд╣реБрдиреНрдЫ рдХрд┐ рд╣рд╛рдореАрд▓реЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдкрд░реНрдиреЗ рдкрд░рд┐рдпреЛрдЬрдирд╛рд╣рд░реВрдорд╛ рдХреЗ рднрд┐рдиреНрдирддрд╛рд╣рд░реВ рдЫрдиреН, рдХреЗрд╡рд▓ рдПрдЙрдЯрд╛ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдЫреЛрдбреЗрд░ред
рд░ рд╕рдмреИ рдХреБрд░рд╛рд▓рд╛рдИ рдЕрдЭ рд╕реНрдкрд╖реНрдЯ рдмрдирд╛рдЙрдирдХреЛ рд▓рд╛рдЧрд┐, рд╣рд╛рдореА рдирдпрд╛рдБ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрджреИрдиреМрдВ, рддрд░ рд╣рд╛рдореНрд░реЛ рд╣рд╛рд▓рдХреЛ рдкрд░рд┐рдпреЛрдЬрдирд╛рд▓рд╛рдИ рдкрд╣рд┐рд▓реЛ рддрд░рд┐рдХрд╛рдорд╛ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрдиреЗ рдкрд░рд┐рд╡рд░реНрддрди рдЧрд░реНрдиреЗрдЫреМрдВред
рддреНрдпрд╕реЛрднрдП, рд╕рдмреИ рднрдиреНрджрд╛ рдкрд╣рд┐рд▓реЗ, рд╣рд╛рдореА рдореБрдЦреНрдп рдмрд╛рд╣реЗрдХ рд╕рдмреИ рдкрд░рд┐рдпреЛрдЬрдирд╛рд╣рд░реВ рд╕рдорд╛рдзрд╛рдирдмрд╛рдЯ рд╣рдЯрд╛рдЙрдБрдЫреМрдВ (рдлрд╛рдЗрд▓рд╣рд░реВ рд╕рд┐рдзреИ рд╕рдорд╛рд╡реЗрд╢ рдЧрд░реНрджрдЫ)ред рддреАред рд╕рдВрд╕реНрдХрд░рдг 2016-2020 рдХреЛ рд▓рд╛рдЧреА рдкрд░рд┐рдпреЛрдЬрдирд╛рд╣рд░реБред рд╕рдорд╛рдзрд╛рдирдХреЛ рд╕рд╛рде рдлреЛрд▓реНрдбрд░ рдЦреЛрд▓реНрдиреБрд╣реЛрд╕реН рд░ рддреНрдпрд╣рд╛рдБ рдпреА рдкрд░рд┐рдпреЛрдЬрдирд╛рд╣рд░реВрдХреЛ рдлреЛрд▓реНрдбрд░рд╣рд░реВ рдореЗрдЯрд╛рдЙрдиреБрд╣реЛрд╕реНред
рд╣рд╛рдореАрд╕рдБрдЧ рд╣рд╛рдореНрд░реЛ рдирд┐рд░реНрдгрдпрдорд╛ рдПрдЙрдЯрд╛ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдмрд╛рдБрдХреА рдЫ - MySuperPluginForRevit_2015ред рдпрд╕рдХреЛ рдЧреБрдгрд╣рд░реВ рдЦреЛрд▓реНрдиреБрд╣реЛрд╕реН рд░:
- рдЯреНрдпрд╛рдмрдорд╛ "рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╡рд┐рдзрд╛рдирд╕рднрд╛ рдирд╛рдордмрд╛рдЯ рдкреНрд░рддреНрдпрдп рд╣рдЯрд╛рдЙрдиреБрд╣реЛрд╕реН _2015 (рдХрд┐рди рдХрд╛рд░рдг рдкрдЫрд┐ рд╕реНрдкрд╖реНрдЯ рд╣реБрдиреЗрдЫ)
- рдЯреНрдпрд╛рдмрдорд╛ "рд╡рд┐рдзрд╛рдирд╕рднрд╛┬╗рд╕рд╢рд░реНрдд рд╕рдВрдХрд▓рди рдкреНрд░рддреАрдХ рд╣рдЯрд╛рдЙрдиреБрд╣реЛрд╕реН R2015 рд╕рдореНрдмрдиреНрдзрд┐рдд рдХреНрд╖реЗрддреНрд░рдмрд╛рдЯ
рдиреЛрдЯ: рднрд┐рдЬреБрдЕрд▓ рд╕реНрдЯреБрдбрд┐рдпреЛрдХреЛ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдгрдорд╛ рдмрдЧ рдЫ - рд╕рд╢рд░реНрдд рд╕рдВрдХрд▓рди рдкреНрд░рддреАрдХрд╣рд░реВ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдЧреБрдг рд╡рд┐рдиреНрдбреЛрдорд╛ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реБрдБрджреИрдирдиреН, рдпрджреНрдпрдкрд┐ рддрд┐рдиреАрд╣рд░реВ рдЙрдкрд▓рдмреНрдз рдЫрдиреНред рдпрджрд┐ рддрдкрд╛рдИрдВрд▓реЗ рдпреЛ рддреНрд░реБрдЯрд┐ рдЕрдиреБрднрд╡ рдЧрд░реНрдиреБрднрдпреЛ рднрдиреЗ, рддрдкрд╛рдИрдВрд▓реЗ рддрд┐рдиреАрд╣рд░реВрд▓рд╛рдИ .csproj рдлрд╛рдЗрд▓рдмрд╛рдЯ рдореНрдпрд╛рдиреБрдЕрд▓ рд░реВрдкрдорд╛ рд╣рдЯрд╛рдЙрди рдЖрд╡рд╢реНрдпрдХ рдЫред рдпрджреНрдпрдкрд┐, рд╣рд╛рдореАрд▓реЗ рдпрд╕рдорд╛ рдЕрдЭреИ рдХрд╛рдо рдЧрд░реНрди рдмрд╛рдБрдХреА рдЫ, рддреНрдпрд╕реИрд▓реЗ рдкрдвреНрдиреБрд╣реЛрд╕реНред
рдкреНрд░рддреНрдпрдп рд╣рдЯрд╛рдПрд░ рд╕рдорд╛рдзрд╛рди рдПрдХреНрд╕рдкреНрд▓реЛрд░рд░ рд╡рд┐рдиреНрдбреЛрдорд╛ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкреБрди: рдирд╛рдорд╛рдХрд░рдг рдЧрд░реНрдиреБрд╣реЛрд╕реН _2015 рд░ рддреНрдпрд╕рдкрдЫрд┐ рд╕рдорд╛рдзрд╛рдирдмрд╛рдЯ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╣рдЯрд╛рдЙрдиреБрд╣реЛрд╕реНред рдпреЛ рдХреНрд░рдо рд░ рдкреВрд░реНрдгрддрд╛рд╡рд╛рджреАрд╣рд░реВрдХреЛ рднрд╛рд╡рдирд╛ рдХрд╛рдпрдо рд░рд╛рдЦреНрди рдЖрд╡рд╢реНрдпрдХ рдЫ! рд╣рд╛рдореА рд╣рд╛рдореНрд░реЛ рд╕рдорд╛рдзрд╛рдирдХреЛ рдлреЛрд▓реНрдбрд░ рдЦреЛрд▓реНрдЫреМрдВ, рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдлреЛрд▓реНрдбрд░рд▓рд╛рдИ рддреНрдпрд╣реА рддрд░рд┐рдХрд╛рд▓реЗ рдкреБрди: рдирд╛рдорд╛рдХрд░рдг рдЧрд░реНрдЫреМрдВ рд░ рдкрд░рд┐рдпреЛрдЬрдирд╛рд▓рд╛рдИ рд╕рдорд╛рдзрд╛рдирдорд╛ рдлрд┐рд░реНрддрд╛ рд▓реЛрдб рдЧрд░реНрдЫреМрдВред
рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди рдкреНрд░рдмрдиреНрдзрдХ рдЦреЛрд▓реНрдиреБрд╣реЛрд╕реНред рдЕрдореЗрд░рд┐рдХреА рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди рдЬрд╛рд░реА рд╕рд┐рджреНрдзрд╛рдиреНрддрдорд╛, рдпреЛ рдЖрд╡рд╢реНрдпрдХ рдкрд░реНрджреИрди, рддреНрдпрд╕реИрд▓реЗ рд╣рд╛рдореА рдпрд╕рд▓рд╛рдИ рдореЗрдЯрд╛рдЙрдБрдЫреМрдВред рд╣рд╛рдореАрд▓реЗ рдкрд╣рд┐рд▓реЗ рдиреИ рдкрд░рд┐рдЪрд┐рдд рдирд╛рдорд╣рд░реВрдХрд╛ рд╕рд╛рде рдирдпрд╛рдБ рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рдирд╣рд░реВ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрдЫреМрдВ R2015, R2016, ..., R2020ред рдиреЛрдЯ рдЧрд░реНрдиреБрд╣реЛрд╕реН рдХрд┐ рддрдкрд╛рдИрдВрд▓реЗ рдЕрдиреНрдп рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рдирд╣рд░реВрдмрд╛рдЯ рд╕реЗрдЯрд┐рдЩрд╣рд░реВ рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫреИрди рд░ рддрдкрд╛рдИрдВрд▓реЗ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рдирд╣рд░реВ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫреИрди:
рдкрд░рд┐рдпреЛрдЬрдирд╛рдХреЛ рд╕рд╛рде рдлреЛрд▓реНрдбрд░рдорд╛ рдЬрд╛рдиреБрд╣реЛрд╕реН рд░ рддрдкрд╛рдИрдВрдХреЛ рд▓рд╛рдЧрд┐ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╕рдореНрдкрд╛рджрдХрдорд╛ .csproj рд╡рд┐рд╕реНрддрд╛рд░рдХреЛ рд╕рд╛рде рдлрд╛рдЗрд▓ рдЦреЛрд▓реНрдиреБрд╣реЛрд╕реНред рд╡реИрд╕реЗ, рддрдкрд╛рдЗрдБ рдпрд╕рд▓рд╛рдИ рднрд┐рдЬреБрдЕрд▓ рд╕реНрдЯреБрдбрд┐рдпреЛрдорд╛ рдкрдирд┐ рдЦреЛрд▓реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ - рддрдкрд╛рдЗрдБрд▓реЗ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдЕрдирд▓реЛрдб рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫ рд░ рддреНрдпрд╕рдкрдЫрд┐ рдЗрдЪреНрдЫрд┐рдд рд╡рд╕реНрддреБ рд╕рдиреНрджрд░реНрдн рдореЗрдиреБрдорд╛ рд╣реБрдиреЗрдЫ:
рднрд┐рдЬреБрдЕрд▓ рд╕реНрдЯреБрдбрд┐рдпреЛрдорд╛ рд╕рдореНрдкрд╛рджрди рдЧрд░реНрдиреБ рдЕрдЭ рд░рд╛рдореНрд░реЛ рдЫ, рдХрд┐рдирдХрд┐ рд╕рдореНрдкрд╛рджрдХрд▓реЗ рдкрдЩреНрдХреНрддрд┐рдмрджреНрдз рд░ рдкреНрд░рдореНрдкреНрдЯ рдЧрд░реНрджрдЫред
рдлрд╛рдЗрд▓рдорд╛ рд╣рд╛рдореА рддрддреНрд╡рд╣рд░реВ рджреЗрдЦреНрдиреЗрдЫреМрдВ
рд╕рд╛рдорд╛рдиреНрдп (рдкрд╣рд┐рд▓реЛ) рддрддреНрд╡рдорд╛ рдЬрд╛рдиреБрд╣реЛрд╕реН рд╕рдореНрдкрддреНрддрд┐ рд╕рдореВрд╣ рд░ рд╕рдореНрдкрддреНрддреА рд╣реЗрд░реНрдиреБрд╣реЛрд╕реН рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдирд╛рдо - рдпреЛ рд╕рднрд╛рдХреЛ рдирд╛рдо рд╣реЛ рд░ рд╣рд╛рдореАрд╕рдБрдЧ рдпреЛ рдкреНрд░рддреНрдпрдп рдмрд┐рдирд╛ рд╣реБрдиреБрдкрд░реНрдЫ _2015ред рдпрджрд┐ рддреНрдпрд╣рд╛рдБ рдПрдХ рдкреНрд░рддреНрдпрдп рдЫ рднрдиреЗ, рддреНрдпрд╕рдкрдЫрд┐ рдпрд╕рд▓рд╛рдИ рд╣рдЯрд╛рдЙрдиреБрд╣реЛрд╕реНред
рд╕рд░реНрдд рд╕рд╣рд┐рддрдХреЛ рддрддреНрд╡ рдЦреЛрдЬреНрджреИ
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
рд╣рд╛рдореАрд▓рд╛рдИ рдпрд╕рдХреЛ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЫреИрди - рд╣рд╛рдореА рдпрд╕рд▓рд╛рдИ рдореЗрдЯрд╛рдЙрдБрдЫреМрдВред
рд╕рд░реНрдд рд╕рд╣рд┐рддрдХреЛ рддрддреНрд╡
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
рдХреЛрдб рд╡рд┐рдХрд╛рд╕ рд░ рдбрд┐рдмрдЧрд┐рдЩрдХреЛ рдЪрд░рдгрдорд╛ рдХрд╛рдо рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рд╣реБрдиреЗрдЫред рддрдкрд╛рдИрдВ рдЖрдлреНрдиреЛ рдЖрд╡рд╢реНрдпрдХрддрд╛рд╣рд░реВ рдЕрдиреБрд░реВрдк рдпрд╕рдХреЛ рдЧреБрдгрд╣рд░реВ рдкрд░рд┐рд╡рд░реНрддрди рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ - рд╡рд┐рднрд┐рдиреНрди рдЖрдЙрдЯрдкреБрдЯ рдкрдерд╣рд░реВ рд╕реЗрдЯ рдЧрд░реНрдиреБрд╣реЛрд╕реН, рд╕рд╢рд░реНрдд рд╕рдВрдХрд▓рди рдкреНрд░рддреАрдХрд╣рд░реВ рдкрд░рд┐рд╡рд░реНрддрди рдЧрд░реНрдиреБрд╣реЛрд╕реН, рдЖрджрд┐ред
рдЕрдм рдирдпрд╛рдБ рддрддреНрд╡рд╣рд░реВ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реМрдВ рд╕рдореНрдкрддреНрддрд┐ рд╕рдореВрд╣ рд╣рд╛рдореНрд░реЛ рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рдирд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ред рдпреА рддрддреНрд╡рд╣рд░реВрдорд╛ рд╣рд╛рдореАрд▓реЗ рдХреЗрд╡рд▓ рдЪрд╛рд░ рдЧреБрдгрд╣рд░реВ рд╕реЗрдЯ рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫ:
- рдЖрдЙрдЯрдкреБрдЯрдкрд╛рде - рдЖрдЙрдЯрдкреБрдЯ рдлреЛрд▓реНрдбрд░ред рдореИрд▓реЗ рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдорд╛рди рд╕реЗрдЯ рдЧрд░реЗрдВ binR20xx
- рдХрдиреНрд╕реНрдЯреЗрдиреНрдЯрд╣рд░реВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдЧрд░реНрдиреБрд╣реЛрд╕реН - рд╕рд╢рд░реНрдд рд╕рдВрдХрд▓рди рдкреНрд░рддреАрдХрд╣рд░реВред рдорд╛рди рддреЛрдХреНрдиреБрдкрд░реНрдЫ рдЯреНрд░реЗрд╕; R20hh
- рд▓рдХреНрд╖реНрдп рдлреНрд░реЗрдорд╡рд░реНрдХ рд╕рдВрд╕реНрдХрд░рдг - рдкреНрд▓реЗрдЯрдлрд░реНрдо рд╕рдВрд╕реНрдХрд░рдгред Revit API рдХреЛ рд╡рд┐рднрд┐рдиреНрди рд╕рдВрд╕реНрдХрд░рдгрд╣рд░реВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЧрд░реНрди рд╡рд┐рднрд┐рдиреНрди рдкреНрд▓реЗрдЯрдлрд░реНрдорд╣рд░реВ рдЖрд╡рд╢реНрдпрдХ рдЫред
- рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдирд╛рдо - рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдирд╛рдо (рдЬрд╕реНрддреИ рдлрд╛рдЗрд▓ рдирд╛рдо)ред рддрдкрд╛рдИрд▓реЗ рд╡рд┐рдзрд╛рдирд╕рднрд╛рдХреЛ рд╕рд╣реА рдирд╛рдо рд▓реЗрдЦреНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ, рддрд░ рдмрд╣реБрдореБрдЦреА рдкреНрд░рддрд┐рднрд╛рдХреЛ рд▓рд╛рдЧрд┐ рдо рдореВрд▓реНрдп рд▓реЗрдЦреНрди рд╕рд┐рдлрд╛рд░рд┐рд╕ рдЧрд░реНрджрдЫреБ $(AsemblyName)_20╤Е╤Еред рдпреЛ рдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐, рд╣рд╛рдореАрд▓реЗ рдкрд╣рд┐рд▓реЗ рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдирд╛рдордмрд╛рдЯ рдкреНрд░рддреНрдпрдп рд╣рдЯрд╛рдпреМрдВ
рдпреА рд╕рдмреИ рддрддреНрд╡рд╣рд░реВрдХреЛ рд╕рдмреИрднрдиреНрджрд╛ рдорд╣рддреНрддреНрд╡рдкреВрд░реНрдг рд╡рд┐рд╢реЗрд╖рддрд╛ рднрдиреЗрдХреЛ рддрд┐рдиреАрд╣рд░реВрд▓рд╛рдИ рдкрд░рд┐рд╡рд░реНрддрди рдирдЧрд░реА рдЕрдиреНрдп рдкрд░рд┐рдпреЛрдЬрдирд╛рд╣рд░реВрдорд╛ рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫред рд▓реЗрдЦрдорд╛ рдкрдЫрд┐ рдо .csproj рдлрд╛рдЗрд▓рдХреЛ рд╕рдмреИ рд╕рд╛рдордЧреНрд░реА рд╕рдВрд▓рдЧреНрди рдЧрд░реНрдиреЗрдЫреБред
рдареАрдХ рдЫ, рд╣рд╛рдореАрд▓реЗ рдкрд░рд┐рдпреЛрдЬрдирд╛рдХреЛ рдЧреБрдгрд╣рд░реВ рдкрддреНрддрд╛ рд▓рдЧрд╛рдпреМрдВ - рдпреЛ рдЧрд╛рд╣реНрд░реЛ рдЫреИрдиред рддрд░ рдкреНрд▓рдЧ-рдЗрди рдкреБрд╕реНрддрдХрд╛рд▓рдпрд╣рд░реВрд╕рдБрдЧ рдХреЗ рдЧрд░реНрдиреЗ (NuGet рдкреНрдпрд╛рдХреЗрдЬрд╣рд░реВ)ред рдпрджрд┐ рд╣рд╛рдореА рдЕрдЧрд╛рдбрд┐ рд╣реЗрд░реНрдЫреМрдВ, рд╣рд╛рдореА рджреЗрдЦреНрдиреЗрдЫреМрдВ рдХрд┐ рд╕рдорд╛рд╡реЗрд╢ рдкреБрд╕реНрддрдХрд╛рд▓рдпрд╣рд░реВ рддрддреНрд╡рд╣рд░реВрдорд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЧрд░рд┐рдПрдХреЛ рдЫ
рддрддреНрд╡ рд╣рд╛рдореНрд░реЛ рд╕рд╣рд╛рдпрддрд╛рдорд╛ рдЖрдЙрдБрдЫ
рддрддреНрд╡ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджреИ рдЫрдиреМрдЯ, рд╣рд╛рдореАрд▓реЗ рд╡рд┐рднрд┐рдиреНрди рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рдирд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рд╡рд┐рднрд┐рдиреНрди NuGet рдкреНрдпрд╛рдХреЗрдЬрд╣рд░реВ рд╕реЗрдЯ рдЧрд░реНрдЫреМрдВ:
рд╕рдмреИ рд╕рд╛рдордЧреНрд░реА csproj
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{5AD738D6-4122-4E76-B865-BE7CE0F6B3EB}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>MySuperPluginForRevit</RootNamespace>
<AssemblyName>MySuperPluginForRevit</AssemblyName>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<Deterministic>true</Deterministic>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>binDebug</OutputPath>
<DefineConstants>DEBUG;R2015</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'R2015|AnyCPU' ">
<OutputPath>binR2015</OutputPath>
<DefineConstants>TRACE;R2015</DefineConstants>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<AssemblyName>$(AssemblyName)_2015</AssemblyName>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'R2016|AnyCPU' ">
<OutputPath>binR2016</OutputPath>
<DefineConstants>TRACE;R2016</DefineConstants>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<AssemblyName>$(AssemblyName)_2016</AssemblyName>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'R2017|AnyCPU' ">
<OutputPath>binR2017</OutputPath>
<DefineConstants>TRACE;R2017</DefineConstants>
<TargetFrameworkVersion>v4.5.2</TargetFrameworkVersion>
<AssemblyName>$(AssemblyName)_2017</AssemblyName>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'R2018|AnyCPU' ">
<OutputPath>binR2018</OutputPath>
<DefineConstants>TRACE;R2018</DefineConstants>
<TargetFrameworkVersion>v4.5.2</TargetFrameworkVersion>
<AssemblyName>$(AssemblyName)_2018</AssemblyName>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'R2019|AnyCPU' ">
<OutputPath>binR2019</OutputPath>
<DefineConstants>TRACE;R2019</DefineConstants>
<TargetFrameworkVersion>v4.7</TargetFrameworkVersion>
<AssemblyName>$(AssemblyName)_2019</AssemblyName>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'R2020|AnyCPU' ">
<OutputPath>binR2020</OutputPath>
<DefineConstants>TRACE;R2020</DefineConstants>
<TargetFrameworkVersion>v4.7</TargetFrameworkVersion>
<AssemblyName>$(AssemblyName)_2020</AssemblyName>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Net.Http" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="Class1.cs" />
<Compile Include="PropertiesAssemblyInfo.cs" />
</ItemGroup>
<Choose>
<When Condition=" '$(Configuration)'=='R2015' ">
<ItemGroup>
<PackageReference Include="ModPlus.Revit.API.2015">
<Version>1.0.0</Version>
<ExcludeAssets>runtime</ExcludeAssets>
</PackageReference>
</ItemGroup>
</When>
<When Condition=" '$(Configuration)'=='R2016' ">
<ItemGroup>
<PackageReference Include="ModPlus.Revit.API.2016">
<Version>1.0.0</Version>
<ExcludeAssets>runtime</ExcludeAssets>
</PackageReference>
</ItemGroup>
</When>
<When Condition=" '$(Configuration)'=='R2017' ">
<ItemGroup>
<PackageReference Include="ModPlus.Revit.API.2017">
<Version>1.0.0</Version>
<ExcludeAssets>runtime</ExcludeAssets>
</PackageReference>
</ItemGroup>
</When>
<When Condition=" '$(Configuration)'=='R2018' ">
<ItemGroup>
<PackageReference Include="ModPlus.Revit.API.2018">
<Version>1.0.0</Version>
<ExcludeAssets>runtime</ExcludeAssets>
</PackageReference>
</ItemGroup>
</When>
<When Condition=" '$(Configuration)'=='R2019' ">
<ItemGroup>
<PackageReference Include="ModPlus.Revit.API.2019">
<Version>1.0.0</Version>
<ExcludeAssets>runtime</ExcludeAssets>
</PackageReference>
</ItemGroup>
</When>
<When Condition=" '$(Configuration)'=='R2020' or '$(Configuration)'=='Debug'">
<ItemGroup>
<PackageReference Include="ModPlus.Revit.API.2020">
<Version>1.0.0</Version>
<ExcludeAssets>runtime</ExcludeAssets>
</PackageReference>
</ItemGroup>
</When>
</Choose>
<Import Project="$(MSBuildToolsPath)Microsoft.CSharp.targets" />
</Project>
рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджрд┐рдиреБрд╣реЛрд╕реН рдХрд┐ рдПрдЙрдЯрд╛ рд╕рд░реНрддрдорд╛ рдореИрд▓реЗ рджреБрдИ рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рдирд╣рд░реВ рдорд╛рд░реНрдлрдд рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЧрд░реЗрдХреЛ рдЫреБ рд╡рд╛ред рдпрд╕ рддрд░рд┐рдХрд╛рд▓реЗ рдЖрд╡рд╢реНрдпрдХ рдкреНрдпрд╛рдХреЗрдЬ рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рдирдХреЛ рд╕рдордпрдорд╛ рдЬрдбрд╛рди рд╣реБрдиреЗрдЫ рдбрд┐рдмрдЧ рдЧрд░реНрдиреБрд╣реЛрд╕реН.
рд░ рдпрд╣рд╛рдБ рд╣рд╛рдореАрд╕рдБрдЧ рд▓рдЧрднрдЧ рд╕рдмреИ рдЪреАрдЬрд╣рд░реВ рдЫрдиреНред рд╣рд╛рдореА рдкрд░рд┐рдпреЛрдЬрдирд╛рд▓рд╛рдИ рдлрд┐рд░реНрддрд╛ рд▓реЛрдб рдЧрд░реНрдЫреМрдВ, рд╣рд╛рдореАрд▓рд╛рдИ рдЖрд╡рд╢реНрдпрдХ рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди рд╕рдХреНрд╖рдо рдкрд╛рд░реНрдЫреМрдВ, рд╕рдорд╛рдзрд╛рдирдХреЛ рд╕рдиреНрджрд░реНрдн рдореЗрдиреБрдорд╛ рд╡рд╕реНрддреБрд▓рд╛рдИ рдХрд▓ рдЧрд░реНрдиреБрд╣реЛрд╕реН (рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╣реЛрдЗрди)рд╕рдмреИ NuGet рдкреНрдпрд╛рдХреЗрдЬрд╣рд░реВ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдЧрд░реНрдиреБрд╣реЛрд╕реН"рд░ рд╣рд╛рдореА рд╣реЗрд░реНрдЫреМрдВ рдХрд┐ рд╣рд╛рдореНрд░реЛ рдкреНрдпрд╛рдХреЗрдЬрд╣рд░реВ рдХрд╕рд░реА рдкрд░рд┐рд╡рд░реНрддрди рд╣реБрдиреНрдЫрдиреНред
рд░ рдпрд╕ рдЪрд░рдгрдорд╛ рдо рдбреЗрдб рдПрдиреНрдбрдорд╛ рдкреБрдЧреЗрдВ - рд╕рдмреИ рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рдирд╣рд░реВ рдПрдХреИрдЪреЛрдЯрд┐ рд╕рдЩреНрдХрд▓рди рдЧрд░реНрди, рд╣рд╛рдореАрд▓реЗ рдмреНрдпрд╛рдЪ рдЕрд╕реЗрдВрдмрд▓реА рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХреНрдЫреМрдВ (рдореЗрдиреБ "рд╡рд┐рдзрд╛рдирд╕рднрд╛->рдмреНрдпрд╛рдЪ рдирд┐рд░реНрдорд╛рдг"), рддрд░ рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рдирд╣рд░реВ рд╕реНрд╡рд┐рдЪ рдЧрд░реНрджрд╛, рдкреНрдпрд╛рдХреЗрдЬрд╣рд░реВ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдкрдорд╛ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рд╣реБрдБрджреИрдирдиреНред рд░ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╕рдВрдпреЛрдЬрди рдЧрд░реНрджрд╛, рдпреЛ рдкрдирд┐ рд╣реБрдБрджреИрди, рдпрджреНрдпрдкрд┐, рд╕рд┐рджреНрдзрд╛рдиреНрддрдорд╛, рдпреЛ рд╣реБрдиреБрдкрд░реНрдЫред рдореИрд▓реЗ рдорд╛рдирдХ рдорд╛рдзреНрдпрдорд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдпреЛ рд╕рдорд╕реНрдпрд╛рдХреЛ рд╕рдорд╛рдзрд╛рди рдлреЗрд▓рд╛ рдкрд╛рд░реЗрдХреЛ рдЫреИрдиред рд░ рд╕рдореНрднрд╡рддрдГ рдпреЛ рднрд┐рдЬреБрдЕрд▓ рд╕реНрдЯреБрдбрд┐рдпреЛ рдмрдЧ рдкрдирд┐ рд╣реЛред
рддрд╕рд░реНрде, рдмреНрдпрд╛рдЪ рд╡рд┐рдзрд╛рдирд╕рднрд╛ рд▓рд╛рдЧрд┐, рдпреЛ рдПрдХ рд╡рд┐рд╢реЗрд╖ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдкреНрд░рдгрд╛рд▓реА рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреЗ рдирд┐рд░реНрдгрдп рдЧрд░рд┐рдпреЛ
рддреНрдпрд╕реЛрднрдП, рд╣рд╛рдореНрд░реЛ рд╕рдорд╛рдзрд╛рдирдХреЛ рдлреЛрд▓реНрдбрд░рдорд╛ рдЬрд╛рдиреБрд╣реЛрд╕реН (рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╣реЛрдЗрди), рдХреБрдЮреНрдЬреА рд╣реЛрд▓реНрдб рдЧрд░реНрдиреБрд╣реЛрд╕реН рд╕рд┐рдлреНрдЯ рд░ рдлреЛрд▓реНрдбрд░рдорд╛ рдЦрд╛рд▓реА рдард╛рдЙрдБрдорд╛ рджрд╛рдпрд╛рдБ рдХреНрд▓рд┐рдХ рдЧрд░реНрдиреБрд╣реЛрд╕реН - рд╕рдиреНрджрд░реНрдн рдореЗрдиреБрдорд╛ рд╡рд╕реНрддреБ рдЪрдпрди рдЧрд░реНрдиреБрд╣реЛрд╕реН "рдпрд╣рд╛рдБ PowerShell рд╡рд┐рдиреНрдбреЛ рдЦреЛрд▓реНрдиреБрд╣реЛрд╕реН"ред
рдпрджрд┐ рддрдкрд╛рдЗрдБрд╕рдБрдЧ рдпреЛ рд╕реНрдерд╛рдкрд┐рдд рдЫреИрди рднрдиреЗ nuke, рддреНрдпрд╕рдкрдЫрд┐ рдкрд╣рд┐рд▓реЗ рдЖрджреЗрд╢ рд▓реЗрдЦреНрдиреБрд╣реЛрд╕реН
dotnet tool install Nuke.GlobalTool тАУglobal
рдЕрдм рдЖрджреЗрд╢ рд▓реЗрдЦреНрдиреБрд╣реЛрд╕реН nuke рд░ рддрдкрд╛рдЗрдБрд▓рд╛рдИ рдХрдиреНрдлрд┐рдЧрд░ рдЧрд░реНрди рдкреНрд░реЗрд░рд┐рдд рдЧрд░рд┐рдиреЗрдЫ nuke рд╣рд╛рд▓рдХреЛ рдкрд░рд┐рдпреЛрдЬрдирд╛рдХреЛ рд▓рд╛рдЧрд┐ред рдорд▓рд╛рдИ рдерд╛рд╣рд╛ рдЫреИрди рдпреЛ рдХрд╕рд░реА рд░реВрд╕реАрдорд╛ рдЕрдЭ рд╕рд╣реА рд░реВрдкрдорд╛ рд▓реЗрдЦреНрдиреЗ - рдЕрдВрдЧреНрд░реЗрдЬреАрдорд╛ рдпреЛ рд▓реЗрдЦрд┐рдиреЗрдЫ Could not find .nuke рдлрд╛рдЗрд▓ред рдХреЗ рддрдкрд╛рдИ рдмрд┐рд▓реНрдб рд╕реЗрдЯрдЕрдк рдЧрд░реНрди рдЪрд╛рд╣рдиреБрд╣реБрдиреНрдЫ? [y/n]
Y рдХреБрдЮреНрдЬреА рдерд┐рдЪреНрдиреБрд╣реЛрд╕реН рд░ рддреНрдпрд╕рдкрдЫрд┐ рддреНрдпрд╣рд╛рдБ рдкреНрд░рддреНрдпрдХреНрд╖ рд╕реЗрдЯрд┐рдЩ рд╡рд╕реНрддреБрд╣рд░реВ рд╣реБрдиреЗрдЫред рд╣рд╛рдореАрд▓рд╛рдИ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреЗ рд╕рдмреИрднрдиреНрджрд╛ рд╕рд░рд▓ рд╡рд┐рдХрд▓реНрдк рдЪрд╛рд╣рд┐рдиреНрдЫ рдПрдордПрд╕рдмрд┐рд▓реНрдб, рддреНрдпрд╕реИрд▓реЗ рд╣рд╛рдореА рд╕реНрдХреНрд░рд┐рдирд╕рдЯрдорд╛ рдЬрд╕реНрддреИ рдЬрд╡рд╛рдл рджрд┐рдиреНрдЫреМрдВ:
рднрд┐рдЬреБрдЕрд▓ рд╕реНрдЯреБрдбрд┐рдпреЛрдорд╛ рдЬрд╛рдиреБрд╣реЛрд╕реН, рдЬрд╕рд▓реЗ рд╣рд╛рдореАрд▓рд╛рдИ рд╕рдорд╛рдзрд╛рди рдкреБрди: рд▓реЛрдб рдЧрд░реНрди рдкреНрд░реЗрд░рд┐рдд рдЧрд░реНрдиреЗрдЫ, рдХрд┐рдирдХрд┐ рдпрд╕рдорд╛ рдирдпрд╛рдБ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдердкрд┐рдПрдХреЛ рдЫред рд╣рд╛рдореА рд╕рдорд╛рдзрд╛рди рдкреБрди: рд▓реЛрдб рдЧрд░реНрдЫреМрдВ рд░ рд╣реЗрд░реМрдВ рдХрд┐ рд╣рд╛рдореАрд╕рдБрдЧ рдПрдЙрдЯрд╛ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдЫ рдирд┐рд░реНрдорд╛рдг рдЬрд╕рдорд╛ рд╣рд╛рдореА рдХреЗрд╡рд▓ рдПрдЙрдЯрд╛ рдлрд╛рдЗрд▓рдорд╛ рд░реБрдЪрд┐ рд░рд╛рдЦреНрдЫреМрдВ - Build.cs
рдпреЛ рдлрд╛рдЗрд▓ рдЦреЛрд▓реНрдиреБрд╣реЛрд╕реН рд░ рд╕рдмреИ рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рдирд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдирд┐рд░реНрдорд╛рдг рдЧрд░реНрди рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓реЗрдЦреНрдиреБрд╣реЛрд╕реНред рдареАрдХ рдЫ, рд╡рд╛ рдореЗрд░реЛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреБрд╣реЛрд╕реН, рдЬреБрди рддрдкрд╛рдИрдВ рдЖрдлреНрдиреЛ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЕрдиреБрд░реВрдк рд╕рдореНрдкрд╛рджрди рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ:
using System.IO;
using Nuke.Common;
using Nuke.Common.Execution;
using Nuke.Common.ProjectModel;
using Nuke.Common.Tools.MSBuild;
using static Nuke.Common.Tools.MSBuild.MSBuildTasks;
[CheckBuildProjectConfigurations]
[UnsetVisualStudioEnvironmentVariables]
class Build : NukeBuild
{
public static int Main () => Execute<Build>(x => x.Compile);
[Solution] readonly Solution Solution;
// If the solution name and the project (plugin) name are different, then indicate the project (plugin) name here
string PluginName => Solution.Name;
Target Compile => _ => _
.Executes(() =>
{
var project = Solution.GetProject(PluginName);
if (project == null)
throw new FileNotFoundException("Not found!");
var build = new List<string>();
foreach (var (_, c) in project.Configurations)
{
var configuration = c.Split("|")[0];
if (configuration == "Debug" || build.Contains(configuration))
continue;
Logger.Normal($"Configuration: {configuration}");
build.Add(configuration);
MSBuild(_ => _
.SetProjectFile(project.Path)
.SetConfiguration(configuration)
.SetTargets("Restore"));
MSBuild(_ => _
.SetProjectFile(project.Path)
.SetConfiguration(configuration)
.SetTargets("Rebuild"));
}
});
}
рд╣рд╛рдореА PowerShell рд╡рд┐рдиреНрдбреЛрдорд╛ рдлрд░реНрдХрдиреНрдЫреМрдВ рд░ рдлреЗрд░рд┐ рдЖрджреЗрд╢ рд▓реЗрдЦреНрдЫреМрдВ nuke (рддрдкрд╛рдИрд▓реЗ рдЖрджреЗрд╢ рд▓реЗрдЦреНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ nuke рдЖрд╡рд╢реНрдпрдХ рд╕рдВрдХреЗрдд рдЧрд░реНрджреИ рд▓рдХреНрд╖реНрдпред рддрд░ рд╣рд╛рдореАрд╕рдБрдЧ рдПрдЙрдЯрд╛ рдЫ рд▓рдХреНрд╖реНрдп, рдЬреБрди рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд░реВрдкрдорд╛ рдЪрд▓реНрдЫ)ред рдЗрдиреНрдЯрд░ рдХреБрдЮреНрдЬреА рдерд┐рдЪреЗрдкрдЫрд┐, рд╣рд╛рдореА рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╣реНрдпрд╛рдХрд░рд╣рд░реВ рдЬрд╕реНрддреИ рдорд╣рд╕реБрд╕ рдЧрд░реНрдиреЗрдЫреМрдВ, рдХрд┐рдирднрдиреЗ, рдЪрд▓рдЪрд┐рддреНрд░рдорд╛ рдЬрд╕реНрддреИ, рд╣рд╛рдореНрд░реЛ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдкрдорд╛ рд╡рд┐рднрд┐рдиреНрди рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рдирд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рднреЗрд▓рд╛ рд╣реБрдиреЗрдЫред
рд╡реИрд╕реЗ, рддрдкрд╛рдИрд▓реЗ PowerShell рд╕рд┐рдзреИ рднрд┐рдЬреБрдЕрд▓ рд╕реНрдЯреБрдбрд┐рдпреЛрдмрд╛рдЯ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ (рдореЗрдиреБ "рджреГрд╢реНрдп->рдЕрдиреНрдп рд╡рд┐рдиреНрдбреЛрдЬрд╣рд░реВ->рдкреНрдпрд╛рдХреЗрдЬ рдкреНрд░рдмрдиреНрдзрдХ рдХрдиреНрд╕реЛрд▓"), рддрд░ рд╕рдмреИ рдХреБрд░рд╛ рдХрд╛рд▓реЛ рд░ рд╕реЗрддреЛ рд╣реБрдиреЗрдЫ, рдЬреБрди рдзреЗрд░реИ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдЫреИрдиред
рдпреЛ рдореЗрд░реЛ рд▓реЗрдЦ рд╕рдорд╛рдкреНрдд рд╣реБрдиреНрдЫред рдо рдкрдХреНрдХрд╛ рдЫреБ рдХрд┐ рддрдкрд╛рдИрд▓реЗ AutoCAD рдХреЛ рд▓рд╛рдЧрд┐ рд╡рд┐рдХрд▓реНрдк рдЖрдлреИ рдкрддреНрддрд╛ рд▓рдЧрд╛рдЙрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред рдорд▓рд╛рдИ рдЖрд╢рд╛ рдЫ рдХрд┐ рдпрд╣рд╛рдБ рдкреНрд░рд╕реНрддреБрдд рд╕рд╛рдордЧреНрд░реАрд▓реЗ рдпрд╕рдХреЛ "рдЧреНрд░рд╛рд╣рдХрд╣рд░реВ" рднреЗрдЯреНрдЯрд╛рдЙрдиреЗрдЫред
рддрдкрд╛рдИрдВрдХреЛ рдзреНрдпрд╛рдирдХреЛ рд▓рд╛рдЧрд┐ рдзрдиреНрдпрдмрд╛рдж!
рд╕реНрд░реЛрдд: www.habr.com