เช…เชฎเซ‡ Revit/AutoCAD เชจเชพ เชตเชฟเชตเชฟเชง เชธเช‚เชธเซเช•เชฐเชฃเซ‹ เชฎเชพเชŸเซ‡ เชธเช‚เช•เชฒเชจ เชธเชพเชฅเซ‡ เชเช• เชชเซเชฒเช—เช‡เชจ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ เชฌเชจเชพเชตเซ€เช เช›เซ€เช

เช…เชฎเซ‡ Revit/AutoCAD เชจเชพ เชตเชฟเชตเชฟเชง เชธเช‚เชธเซเช•เชฐเชฃเซ‹ เชฎเชพเชŸเซ‡ เชธเช‚เช•เชฒเชจ เชธเชพเชฅเซ‡ เชเช• เชชเซเชฒเช—เช‡เชจ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ เชฌเชจเชพเชตเซ€เช เช›เซ€เช

CAD เชเชชเซเชฒเซ€เช•เซ‡เชถเชจ เชฎเชพเชŸเซ‡ เชชเซเชฒเช—เชˆเชจเซ‹ เชตเชฟเช•เชธเชพเชตเชคเซ€ เชตเช–เชคเซ‡ (เชฎเชพเชฐเชพ เช•เชฟเชธเซเชธเชพเชฎเชพเช‚ เช† AutoCAD, Revit เช…เชจเซ‡ Renga เช›เซ‡) เชธเชฎเชฏ เชœเชคเชพเช‚, เชเช• เชธเชฎเชธเซเชฏเชพ เชฆเซ‡เช–เชพเชฏ เช›เซ‡ - เชชเซเชฐเซ‹เช—เซเชฐเชพเชฎเชจเชพ เชจเชตเชพ เชธเช‚เชธเซเช•เชฐเชฃเซ‹ เชฌเชนเชพเชฐ เชชเชพเชกเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡, เชคเซ‡เชฎเชจเชพ API เชซเซ‡เชฐเชซเชพเชฐเซ‹ เช…เชจเซ‡ เชชเซเชฒเช—เชฟเชจเซเชธเชจเชพ เชจเชตเชพ เชธเช‚เชธเซเช•เชฐเชฃเซ‹ เชฌเชจเชพเชตเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡.

เชœเซเชฏเชพเชฐเซ‡ เชคเชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ เชซเช•เซเชค เชเช• เชœ เชชเซเชฒเช—เช‡เชจ เชนเซ‹เชฏ เช…เชฅเชตเชพ เชคเชฎเซ‡ เชนเชœเซ€ เชชเชฃ เช† เชฌเชพเชฌเชคเชฎเชพเช‚ เชธเซเชต-เชถเชฟเช•เซเชทเชฟเชค เชถเชฟเช–เชพเช‰ เช›เซ‹, เชคเซ‹ เชคเชฎเซ‡ เชซเช•เซเชค เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸเชจเซ€ เชจเช•เชฒ เชฌเชจเชพเชตเซ€ เชถเช•เซ‹ เช›เซ‹, เชคเซ‡เชฎเชพเช‚ เชœเชฐเซ‚เชฐเซ€ เชธเซเชฅเชพเชจเซ‹ เชฌเชฆเชฒเซ€ เชถเช•เซ‹ เช›เซ‹ เช…เชจเซ‡ เชชเซเชฒเช—เช‡เชจเชจเซเช‚ เชจเชตเซเช‚ เชธเช‚เชธเซเช•เชฐเชฃ เชเชธเซ‡เชฎเซเชฌเชฒ เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹. เชคเชฆเชจเซเชธเชพเชฐ, เช•เซ‹เชกเชฎเชพเช‚ เช…เชจเซเช—เชพเชฎเซ€ เชซเซ‡เชฐเชซเชพเชฐเซ‹ เชฎเชœเซ‚เชฐ เช–เชฐเซเชšเชฎเชพเช‚ เชฌเชนเซเชตเชฟเชง เชตเชงเชพเชฐเซ‹ เช•เชฐเชถเซ‡.

เชœเซ‡เชฎ เชœเซ‡เชฎ เชคเชฎเซ‡ เช…เชจเซเชญเชต เช…เชจเซ‡ เชœเซเชžเชพเชจ เชฎเซ‡เชณเชตเชถเซ‹ เชคเซ‡เชฎ, เชคเชฎเชจเซ‡ เช† เชชเซเชฐเช•เซเชฐเชฟเชฏเชพเชจเซ‡ เชธเซเชตเชšเชพเชฒเชฟเชค เช•เชฐเชตเชพเชจเซ€ เช˜เชฃเซ€ เชฐเซ€เชคเซ‹ เชฎเชณเชถเซ‡. เชนเซเช‚ เช† เชฎเชพเชฐเซเช— เชชเชฐ เชšเชพเชฒเซเชฏเซ‹ เช›เซเช‚ เช…เชจเซ‡ เชนเซเช‚ เชคเชฎเชจเซ‡ เช•เชนเซ‡เชตเชพ เชฎเชพเช‚เช—เซ เช›เซเช‚ เช•เซ‡ เชฎเชพเชฐเซ€ เชธเชพเชฅเซ‡ เชถเซเช‚ เชฅเชฏเซเช‚ เช…เชจเซ‡ เชคเซ‡ เช•เซ‡เชŸเชฒเซเช‚ เช…เชจเซเช•เซ‚เชณ เช›เซ‡.

เชชเซเชฐเชฅเชฎ, เชšเชพเชฒเซ‹ เชเช• เชชเชฆเซเชงเชคเชฟ เชœเซ‹เชˆเช เชœเซ‡ เชธเซเชชเชทเซเชŸ เช›เซ‡ เช…เชจเซ‡ เชœเซ‡เชจเซ‹ เชฎเซ‡เช‚ เชฒเชพเช‚เชฌเชพ เชธเชฎเชฏเชฅเซ€ เช‰เชชเชฏเซ‹เช— เช•เชฐเซเชฏเซ‹ เช›เซ‡.

เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ เชซเชพเช‡เชฒเซ‹เชจเซ€ เชฒเชฟเช‚เช•เซเชธ

เช…เชจเซ‡ เชฌเชงเซเช‚ เชธเชฐเชณ, เชตเชฟเชเซเชฏเซเช…เชฒ เช…เชจเซ‡ เชธเชฎเชœเซ€ เชถเช•เชพเชฏ เชคเซ‡เชตเซเช‚ เชฌเชจเชพเชตเชตเชพ เชฎเชพเชŸเซ‡, เชนเซเช‚ เชชเซเชฒเช—เช‡เชจ เชกเซ‡เชตเชฒเชชเชฎเซ‡เชจเซเชŸเชจเชพ เช…เชฎเซ‚เชฐเซเชค เช‰เชฆเชพเชนเชฐเชฃเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชฆเชฐเซ‡เช• เชตเชธเซเชคเซเชจเซเช‚ เชตเชฐเซเชฃเชจ เช•เชฐเซ€เชถ.

เชšเชพเชฒเซ‹ เชตเชฟเชเซเชฏเซเช…เชฒ เชธเซเชŸเซเชกเชฟเชฏเซ‹ เช–เซ‹เชฒเซ€เช (เชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ เช•เซ‹เชฎเซเชฏเซเชจเชฟเชŸเซ€ 2019 เชตเชฐเซเชเชจ เช›เซ‡. เช…เชจเซ‡ เชนเชพ - เชฐเชถเชฟเชฏเชจเชฎเชพเช‚) เช…เชจเซ‡ เชเช• เชจเชตเซเช‚ เชธเซ‹เชฒเซเชฏเซเชถเชจ เชฌเชจเชพเชตเซ€เช. เชšเชพเชฒเซ‹ เชคเซ‡เชจเซ‡ เชฌเซ‹เชฒเชพเชตเซ€เช MySuperPluginForRevit

เช…เชฎเซ‡ Revit/AutoCAD เชจเชพ เชตเชฟเชตเชฟเชง เชธเช‚เชธเซเช•เชฐเชฃเซ‹ เชฎเชพเชŸเซ‡ เชธเช‚เช•เชฒเชจ เชธเชพเชฅเซ‡ เชเช• เชชเซเชฒเช—เช‡เชจ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ เชฌเชจเชพเชตเซ€เช เช›เซ€เช

เช…เชฎเซ‡ เชตเชฐเซเชเชจ 2015-2020 เชฎเชพเชŸเซ‡ Revit เชฎเชพเชŸเซ‡ เชชเซเชฒเช—เช‡เชจ เชฌเชจเชพเชตเซ€เชถเซเช‚. เชคเซ‡เชฅเซ€, เชšเชพเชฒเซ‹ เชธเซ‹เชฒเซเชฏเซเชถเชจเชฎเชพเช‚ เชเช• เชจเชตเซ‹ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ เชฌเชจเชพเชตเซ€เช (เชจเซ‡เชŸ เชซเซเชฐเซ‡เชฎเชตเชฐเซเช• เช•เซเชฒเชพเชธ เชฒเชพเช‡เชฌเซเชฐเซ‡เชฐเซ€) เช…เชจเซ‡ เชคเซ‡เชจเซ‡ เช•เซ‰เชฒ เช•เชฐเซ€เช MySuperPluginForRevit_2015

เช…เชฎเซ‡ Revit/AutoCAD เชจเชพ เชตเชฟเชตเชฟเชง เชธเช‚เชธเซเช•เชฐเชฃเซ‹ เชฎเชพเชŸเซ‡ เชธเช‚เช•เชฒเชจ เชธเชพเชฅเซ‡ เชเช• เชชเซเชฒเช—เช‡เชจ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ เชฌเชจเชพเชตเซ€เช เช›เซ€เช

เช…เชฎเชพเชฐเซ‡ Revit API เชฎเชพเช‚ เชฒเชฟเช‚เช•เซเชธ เช‰เชฎเซ‡เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡. เช…เชฒเชฌเชคเซเชค, เช…เชฎเซ‡ เชธเซเชฅเชพเชจเชฟเช• เชซเชพเช‡เชฒเซ‹เชฎเชพเช‚ เชฒเชฟเช‚เช•เซเชธ เช‰เชฎเซ‡เชฐเซ€ เชถเช•เซ€เช เช›เซ€เช (เช…เชฎเชพเชฐเซ‡ เชคเชฎเชพเชฎ เชœเชฐเซ‚เชฐเซ€ SDKs เช…เชฅเชตเชพ Revit เชจเชพ เชคเชฎเชพเชฎ เชธเช‚เชธเซเช•เชฐเชฃเซ‹ เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เชชเชกเชถเซ‡), เชชเชฐเช‚เชคเซ เช…เชฎเซ‡ เชคเชฐเชค เชœ เชฏเซ‹เช—เซเชฏ เชฎเชพเชฐเซเช—เชจเซ‡ เช…เชจเซเชธเชฐเซ€เชถเซเช‚ เช…เชจเซ‡ NuGet เชชเซ‡เช•เซ‡เชœเชจเซ‡ เช•เชจเซ‡เช•เซเชŸ เช•เชฐเซ€เชถเซเช‚. เชคเชฎเซ‡ เช˜เชฃเชพ เชฌเชงเชพ เชชเซ‡เช•เซ‡เชœเซ‹ เชถเซ‹เชงเซ€ เชถเช•เซ‹ เช›เซ‹, เชชเชฐเช‚เชคเซ เชนเซเช‚ เชฎเชพเชฐเชพ เชชเซ‹เชคเชพเชจเชพ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชถ.

เชชเซ‡เช•เซ‡เชœเชจเซ‡ เช•เชจเซ‡เช•เซเชŸ เช•เชฐเซเชฏเชพ เชชเช›เซ€, เช†เช‡เชŸเชฎ เชชเชฐ เชœเชฎเชฃเซเช‚-เช•เซเชฒเชฟเช• เช•เชฐเซ‹ โ€œเชธเช‚เชฆเชฐเซเชญเซ‹"เช…เชจเซ‡ เช†เช‡เชŸเชฎ เชชเชธเช‚เชฆ เช•เชฐเซ‹"packages.config เชจเซ‡ PackageReference เชชเชฐ เช–เชธเซ‡เชกเซ‹...ยป

เช…เชฎเซ‡ Revit/AutoCAD เชจเชพ เชตเชฟเชตเชฟเชง เชธเช‚เชธเซเช•เชฐเชฃเซ‹ เชฎเชพเชŸเซ‡ เชธเช‚เช•เชฒเชจ เชธเชพเชฅเซ‡ เชเช• เชชเซเชฒเช—เช‡เชจ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ เชฌเชจเชพเชตเซ€เช เช›เซ€เช

เชœเซ‹ เช…เชšเชพเชจเช• เช† เชฌเชฟเช‚เชฆเซเช เชคเชฎเซ‡ เช—เชญเชฐเชพเชตเชพเชจเซเช‚ เชถเชฐเซ‚ เช•เชฐเซ‹ เช›เซ‹, เช•เชพเชฐเชฃ เช•เซ‡ เชชเซ‡เช•เซ‡เชœ เชชเซเชฐเซ‹เชชเชฐเซเชŸเซ€เช เชตเชฟเช‚เชกเซ‹เชฎเชพเช‚ เช•เซ‹เชˆ เชฎเชนเชคเซเชตเชชเซ‚เชฐเซเชฃ เชตเชธเซเชคเซ เชนเชถเซ‡ เชจเชนเซ€เช‚.เชธเซเชฅเชพเชจเชฟเช• เชฐเซ€เชคเซ‡ เชจเช•เชฒ เช•เชฐเซ‹", เชœเซ‡เชจเซ‡ เช†เชชเชฃเซ‡ เชšเซ‹เช•เซเช•เชธเชชเชฃเซ‡ เชฎเซ‚เชฒเซเชฏ เชชเชฐ เชธเซ‡เชŸ เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡ เช–เซ‹เชŸเซเช‚, เชชเช›เซ€ เช—เชญเชฐเชพเชถเซ‹ เชจเชนเซ€เช‚ - เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ เชธเชพเชฅเซ‡เชจเชพ เชซเซ‹เชฒเซเชกเชฐเชฎเชพเช‚ เชœเชพเช“, เชคเชฎเชพเชฐเชพ เชฎเชพเชŸเซ‡ เช…เชจเซเช•เซ‚เชณ เชเชกเชฟเชŸเชฐเชฎเชพเช‚ .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.

เช…เชฎเซ‡ Revit/AutoCAD เชจเชพ เชตเชฟเชตเชฟเชง เชธเช‚เชธเซเช•เชฐเชฃเซ‹ เชฎเชพเชŸเซ‡ เชธเช‚เช•เชฒเชจ เชธเชพเชฅเซ‡ เชเช• เชชเซเชฒเช—เช‡เชจ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ เชฌเชจเชพเชตเซ€เช เช›เซ€เช

เชจเซ‹เช‚เชง เช•เชฐเซ‹ เช•เซ‡ เชกเซ€เชฌเช— เช…เชจเซ‡ เชฐเซ€เชฒเซ€เช เชฐเซ‚เชชเชฐเซ‡เช–เชพเช‚เช•เชจเซ‹ เชฌเช‚เชจเซ‡ เชฎเชพเชŸเซ‡ เชชเซเชฐเชคเซ€เช• เช‰เชฎเซ‡เชฐเชตเซเช‚ เช†เชตเชถเซเชฏเช• เช›เซ‡.

เช เซ€เช• เช›เซ‡, เชœเซเชฏเชพเชฐเซ‡ เช†เชชเชฃเซ‡ เชชเซเชฐเซ‹เชชเชฐเซเชŸเซ€เช เชตเชฟเชจเซเชกเซ‹เชฎเชพเช‚ เชนเซ‹เชˆเช เช›เซ€เช, เช…เชฎเซ‡ เชคเชฐเชค เชœ " เชŸเซ‡เชฌ เชชเชฐ เชœเชˆเช เช›เซ€เชเชเชชเซเชฒเชฟเช•เซ‡เชถเชจ"เช…เชจเซ‡ เช•เซเชทเซ‡เชคเซเชฐเชฎเชพเช‚"เชกเชฟเชซเซ‰เชฒเซเชŸ เชจเซ‡เชฎเชธเซเชชเซ‡เชธยป เชชเซเชฐเชคเซเชฏเชฏ เชฆเซ‚เชฐ เช•เชฐเซ‹ _2015เชœเซ‡เชฅเซ€ เช†เชชเชฃเซเช‚ เชจเซ‡เชฎเชธเซเชชเซ‡เชธ เชธเชพเชฐเซเชตเชคเซเชฐเชฟเช• เชนเซ‹เชฏ เช…เชจเซ‡ เชเชธเซ‡เชฎเซเชฌเชฒเซ€เชจเชพ เชจเชพเชฎเชฅเซ€ เชธเซเชตเชคเช‚เชคเซเชฐ เชนเซ‹เชฏ:

เช…เชฎเซ‡ Revit/AutoCAD เชจเชพ เชตเชฟเชตเชฟเชง เชธเช‚เชธเซเช•เชฐเชฃเซ‹ เชฎเชพเชŸเซ‡ เชธเช‚เช•เชฒเชจ เชธเชพเชฅเซ‡ เชเช• เชชเซเชฒเช—เช‡เชจ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ เชฌเชจเชพเชตเซ€เช เช›เซ€เช

เชฎเชพเชฐเชพ เช•เชฟเชธเซเชธเชพเชฎเชพเช‚, เช…เช‚เชคเชฟเชฎ เช‰เชคเซเชชเชพเชฆเชจเชฎเชพเช‚, เชคเชฎเชพเชฎ เชธเช‚เชธเซเช•เชฐเชฃเซ‹เชจเชพ เชชเซเชฒเช—เช‡เชจเซเชธ เชเช• เชซเซ‹เชฒเซเชกเชฐเชฎเชพเช‚ เชฎเซ‚เช•เชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡, เชคเซ‡เชฅเซ€ เชฎเชพเชฐเชพ เชเชธเซ‡เชฎเซเชฌเชฒเซ€ เชจเชพเชฎเซ‹ เชซเซ‹เชฐเซเชฎเชจเชพ เชชเซเชฐเชคเซเชฏเชฏ เชธเชพเชฅเซ‡ เชฐเชนเซ‡ เช›เซ‡. _20ั…ั…. เชชเชฐเช‚เชคเซ เชคเชฎเซ‡ เชเชธเซ‡เชฎเซเชฌเชฒเซ€ เชจเชพเชฎเชฎเชพเช‚เชฅเซ€ เชชเซเชฐเชคเซเชฏเชฏ เชชเชฃ เชฆเซ‚เชฐ เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹ เชœเซ‹ เชซเชพเช‡เชฒเซ‹ เชตเชฟเชตเชฟเชง เชซเซ‹เชฒเซเชกเชฐเซเชธเชฎเชพเช‚ เชธเซเชฅเชฟเชค เชนเซ‹เชตเชพเชจเซเช‚ เชฎเชพเชจเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡.

เชšเชพเชฒเซ‹ เชซเชพเชˆเชฒ เช•เซ‹เชก เชชเชฐ เชœเชˆเช 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 2016 เชฎเชพเชŸเซ‡เชจเชพ เชชเซเชฒเช—เช‡เชจเชจเชพ เชตเชฐเซเชเชจ เชฎเชพเชŸเซ‡. เช…เชฎเซ‡ เช‰เชชเชฐ เชตเชฐเซเชฃเชตเซ‡เชฒ เชคเชฎเชพเชฎ เชชเช—เชฒเชพเช‚เช“เชจเซเช‚ เช…เชจเซเช•เซเชฐเชฎเซ‡ เชชเซเชจเชฐเชพเชตเชฐเซเชคเชจ เช•เชฐเซ€เช เช›เซ€เช, เชจเช‚เชฌเชฐ 2015 เชจเซ‡ เชจเช‚เชฌเชฐ 2016 เชธเชพเชฅเซ‡ เชฌเชฆเชฒเซ€เชจเซ‡. เชชเชฐเช‚เชคเซ เชซเชพเช‡เชฒ Class1.cs เชจเชตเชพ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸเชฎเชพเช‚เชฅเซ€ เช•เชพเชขเซ€ เชจเชพเช–เซ‹.

เช…เชฎเซ‡ Revit/AutoCAD เชจเชพ เชตเชฟเชตเชฟเชง เชธเช‚เชธเซเช•เชฐเชฃเซ‹ เชฎเชพเชŸเซ‡ เชธเช‚เช•เชฒเชจ เชธเชพเชฅเซ‡ เชเช• เชชเซเชฒเช—เช‡เชจ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ เชฌเชจเชพเชตเซ€เช เช›เซ€เช

เชœเชฐเซ‚เชฐเซ€ เช•เซ‹เชก เชธเชพเชฅเซ‡ เชซเชพเช‡เชฒ เช•เชฐเซ‹ - Class1.cs - เช…เชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ เชคเซ‡ เชชเชนเซ‡เชฒเชพเชฅเซ€ เชœ เช›เซ‡ เช…เชจเซ‡ เช…เชฎเชพเชฐเซ‡ เชจเชตเชพ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸเชฎเชพเช‚ เชคเซ‡เชจเซ€ เชฒเชฟเช‚เช• เชฆเชพเช–เชฒ เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡. เชฒเชฟเช‚เช•เซเชธ เชฆเชพเช–เชฒ เช•เชฐเชตเชพเชจเซ€ เชฌเซ‡ เชฐเซ€เชค เช›เซ‡:

  1. เชฒเชพเช‚เชฌเซ€ - เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ เชชเชฐ เชœเชฎเชฃเซเช‚-เช•เซเชฒเชฟเช• เช•เชฐเซ‹ เช…เชจเซ‡ เชชเชธเช‚เชฆ เช•เชฐเซ‹ "เช‰เชฎเซ‡เชฐเซ‹->เชนเชพเชฒเชจเซเช‚ เชคเชคเซเชต", เช–เซเชฒเชคเซ€ เชตเชฟเชจเซเชกเซ‹เชฎเชพเช‚, เชตเชฟเช•เชฒเซเชชเชจเซ‡ เชฌเชฆเชฒเซ‡ เชœเชฐเซ‚เชฐเซ€ เชซเชพเช‡เชฒ เชถเซ‹เชงเซ‹"เช‰เชฎเซ‡เชฐเซ‹"เชตเชฟเช•เชฒเซเชช เชชเชธเช‚เชฆ เช•เชฐเซ‹"เช•เชจเซ‡เช•เซเชถเชจ เชคเชฐเซ€เช•เซ‡ เช‰เชฎเซ‡เชฐเซ‹ยป

เช…เชฎเซ‡ Revit/AutoCAD เชจเชพ เชตเชฟเชตเชฟเชง เชธเช‚เชธเซเช•เชฐเชฃเซ‹ เชฎเชพเชŸเซ‡ เชธเช‚เช•เชฒเชจ เชธเชพเชฅเซ‡ เชเช• เชชเซเชฒเช—เช‡เชจ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ เชฌเชจเชพเชตเซ€เช เช›เซ€เช

  1. เชŸเซ‚เช‚เช•เชพ - เชธเซ€เชงเซเช‚ เชœ เชธเซ‹เชฒเซเชฏเซเชถเชจ เชเช•เซเชธเชชเซเชฒเซ‹เชฐเชฐเชฎเชพเช‚, เช‡เชšเซเช›เชฟเชค เชซเชพเช‡เชฒ (เช…เชฅเชตเชพ เชซเชพเช‡เชฒเซ‹ เช…เชฅเชตเชพ เชคเซ‹ เช†เช–เชพ เชซเซ‹เชฒเซเชกเชฐเซเชธ) เชชเชธเช‚เชฆ เช•เชฐเซ‹ เช…เชจเซ‡ Alt เช•เซ€ เชฆเชฌเชพเชตเซ€ เชฐเชพเช–เซ€เชจเซ‡ เชคเซ‡เชจเซ‡ เชจเชตเชพ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸเชฎเชพเช‚ เช–เซ‡เช‚เชšเซ‹. เชœเซ‡เชฎ เชœเซ‡เชฎ เชคเชฎเซ‡ เช–เซ‡เช‚เชšเซ‹ เช›เซ‹, เชคเชฎเซ‡ เชœเซ‹เชถเซ‹ เช•เซ‡ เชœเซเชฏเชพเชฐเซ‡ เชคเชฎเซ‡ Alt เช•เซ€ เชฆเชฌเชพเชตเซ‹ เช›เซ‹, เชคเซเชฏเชพเชฐเซ‡ เชฎเชพเช‰เชธ เช•เชฐเซเชธเชฐ เชตเชคเซเชคเชพ เชšเชฟเชนเซเชจเชฅเซ€ เชคเซ€เชฐเชฎเชพเช‚ เชฌเชฆเชฒเชพเชˆ เชœเชถเซ‡.
    เชฏเซเชชเซ€เชกเซ€: เชฎเซ‡เช‚ เช† เชซเช•เชฐเชพเชฎเชพเช‚ เชฅเซ‹เชกเซ€ เชฎเซ‚เช‚เชเชตเชฃ เช•เชฐเซ€ เช›เซ‡ - เช˜เชฃเซ€ เชซเชพเช‡เชฒเซ‹เชจเซ‡ เชธเซเชฅเชพเชจเชพเช‚เชคเชฐเชฟเชค เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชคเชฎเชพเชฐเซ‡ เชฆเชฌเชพเชตเซ€ เชฐเชพเช–เชตเซเช‚ เชœเซ‹เชˆเช เชถเชฟเชซเซเชŸ + เช“เชฒเซเชŸ!

เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ เชนเชพเชฅ เชงเชฐเซเชฏเชพ เชชเช›เซ€, เช…เชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ เชฌเซ€เชœเชพ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸเชฎเชพเช‚ เชซเชพเช‡เชฒ เชนเชถเซ‡ Class1.cs เช…เชจเซเชฐเซ‚เชช เชšเชฟเชนเซเชจ เชธเชพเชฅเซ‡ (เชตเชพเชฆเชณเซ€ เชคเซ€เชฐ):

เช…เชฎเซ‡ Revit/AutoCAD เชจเชพ เชตเชฟเชตเชฟเชง เชธเช‚เชธเซเช•เชฐเชฃเซ‹ เชฎเชพเชŸเซ‡ เชธเช‚เช•เชฒเชจ เชธเชพเชฅเซ‡ เชเช• เชชเซเชฒเช—เช‡เชจ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ เชฌเชจเชพเชตเซ€เช เช›เซ€เช

เชธเช‚เชชเชพเชฆเช• เชตเชฟเช‚เชกเซ‹เชฎเชพเช‚ เช•เซ‹เชกเชจเซ‡ เชธเช‚เชชเชพเชฆเชฟเชค เช•เชฐเชคเซ€ เชตเช–เชคเซ‡, เชคเชฎเซ‡ เช•เชฏเชพ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ เชธเช‚เชฆเชฐเซเชญเชฎเชพเช‚ เช•เซ‹เชก เชชเซเชฐเชฆเชฐเซเชถเชฟเชค เช•เชฐเชตเซ‹ เชคเซ‡ เชชเชฃ เชชเชธเช‚เชฆ เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹, เชœเซ‡ เชคเชฎเชจเซ‡ เชตเชฟเชตเชฟเชง เชถเชฐเชคเซ€ เชธเช‚เช•เชฒเชจ เชชเซเชฐเชคเซ€เช•เซ‹ เชนเซ‡เช เชณ เชธเช‚เชชเชพเชฆเชฟเชค เช•เซ‹เชกเชจเซ‡ เชœเซ‹เชตเชพเชจเซ€ เชฎเช‚เชœเซ‚เชฐเซ€ เช†เชชเชถเซ‡:

เช…เชฎเซ‡ Revit/AutoCAD เชจเชพ เชตเชฟเชตเชฟเชง เชธเช‚เชธเซเช•เชฐเชฃเซ‹ เชฎเชพเชŸเซ‡ เชธเช‚เช•เชฒเชจ เชธเชพเชฅเซ‡ เชเช• เชชเซเชฒเช—เช‡เชจ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ เชฌเชจเชพเชตเซ€เช เช›เซ€เช

เช…เชฎเซ‡ เช† เชฏเซ‹เชœเชจเชพเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เช…เชจเซเชฏ เชคเชฎเชพเชฎ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ (2017-2020) เชฌเชจเชพเชตเซ€เช เช›เซ€เช. เชฒเชพเช‡เชซ เชนเซ‡เช• - เชœเซ‹ เชคเชฎเซ‡ เชธเซ‹เชฒเซเชฏเซเชถเชจ เชเช•เซเชธเซเชชเซเชฒเซ‹เชฐเชฐเชฎเชพเช‚ เชซเชพเช‡เชฒเซ‹เชจเซ‡ เชฌเซ‡เช เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸเชฎเชพเช‚เชฅเซ€ เชจเชนเซ€เช‚, เชชเชฐเช‚เชคเซ เชคเซ‡ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸเชฎเชพเช‚เชฅเซ€ เช–เซ‡เช‚เชšเซ‹ เช›เซ‹ เชœเซเชฏเชพเช‚ เชคเซ‡เช“ เชชเชนเซ‡เชฒเซ‡เชฅเซ€ เชœ เชฒเชฟเช‚เช• เชคเชฐเซ€เช•เซ‡ เชถเชพเชฎเซ‡เชฒ เช›เซ‡, เชคเซ‹ เชคเชฎเชพเชฐเซ‡ Alt เช•เซ€ เชฆเชฌเชพเชตเซ€ เชฐเชพเช–เชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เชจเชฅเซ€!

เชชเซเชฒเช—เช‡เชจเชจเซเช‚ เชจเชตเซเช‚ เชธเช‚เชธเซเช•เชฐเชฃ เช‰เชฎเซ‡เชฐเชตเชพเชจเซ€ เช•เซเชทเชฃ เชธเซเชงเซ€ เช…เชฅเชตเชพ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸเชฎเชพเช‚ เชจเชตเซ€ เชซเชพเช‡เชฒเซ‹ เช‰เชฎเซ‡เชฐเชตเชพเชจเซ€ เช•เซเชทเชฃ เชธเซเชงเซ€ เชตเชฐเซเชฃเชตเซ‡เชฒ เชตเชฟเช•เชฒเซเชช เช–เซ‚เชฌ เชธเชพเชฐเซ‹ เช›เซ‡ - เช† เชฌเชงเซเช‚ เช–เซ‚เชฌ เช•เช‚เชŸเชพเชณเชพเชœเชจเช• เชฌเชจเซ€ เชœเชพเชฏ เช›เซ‡. เช…เชจเซ‡ เชคเชพเชœเซ‡เชคเชฐเชฎเชพเช‚ เชฎเชจเซ‡ เช…เชšเชพเชจเช• เช…เชšเชพเชจเช• เชธเชฎเชœเชพเชฏเซเช‚ เช•เซ‡ เชเช• เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ เชธเชพเชฅเซ‡ เช† เชฌเชงเซเช‚ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช—เซ‹เช เชตเชตเซเช‚ เช…เชจเซ‡ เช…เชฎเซ‡ เชฌเซ€เชœเซ€ เชชเชฆเซเชงเชคเชฟ เชคเชฐเชซ เช†เช—เชณ เชตเชงเซ€ เชฐเชนเซเชฏเชพ เช›เซ€เช.

เชฐเซ‚เชชเชฐเซ‡เช–เชพเช‚เช•เชจเซ‹เชจเซ‹ เชœเชพเชฆเซ

เช…เชนเซ€เช‚ เชตเชพเช‚เชšเชตเชพเชจเซเช‚ เชธเชฎเชพเชชเซเชค เช•เชฐเซเชฏเชพ เชชเช›เซ€, เชคเชฎเซ‡ เช•เชนเซ€ เชถเช•เซ‹ เช›เซ‹, "เชคเชฎเซ‡ เชถเชพ เชฎเชพเชŸเซ‡ เชชเซเชฐเชฅเชฎ เชชเชฆเซเชงเชคเชฟเชจเซเช‚ เชตเชฐเซเชฃเชจ เช•เชฐเซเชฏเซเช‚, เชœเซ‹ เชฒเซ‡เช– เชคเชฐเชค เชœ เชฌเซ€เชœเชพ เชตเชฟเชถเซ‡ เช›เซ‡?!" เช…เชจเซ‡ เช…เชฎเชจเซ‡ เชถเชฐเชคเซ€ เชธเช‚เช•เชฒเชจ เชชเซเชฐเชคเซ€เช•เซ‹เชจเซ€ เชถเชพ เชฎเชพเชŸเซ‡ เชœเชฐเซ‚เชฐ เช›เซ‡ เช…เชจเซ‡ เช…เชฎเชพเชฐเชพ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸเซเชธ เช•เชˆ เชœเช—เซเชฏเชพเช เช…เชฒเช— เช›เซ‡ เชคเซ‡ เชธเซเชชเชทเซเชŸ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชฎเซ‡เช‚ เชฌเชงเซเช‚ เชตเชฐเซเชฃเชตเซเชฏเซเช‚. เช…เชจเซ‡ เชนเชตเซ‡ เชคเซ‡ เช†เชชเชฃเชพ เชฎเชพเชŸเซ‡ เชธเซเชชเชทเซเชŸ เชฅเชˆ เช—เชฏเซเช‚ เช›เซ‡ เช•เซ‡ เช†เชชเชฃเซ‡ เชซเช•เซเชค เชเช• เชœ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸเชจเซ‡ เช›เซ‹เชกเซ€เชจเซ‡, เช…เชฎเชฒเซ€เช•เชฐเชฃ เชฎเชพเชŸเซ‡เชจเชพ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸเซเชธเชฎเชพเช‚ เช•เชฏเชพ เชคเชซเชพเชตเชคเซ‹เชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡.

เช…เชจเซ‡ เชฌเชงเซเช‚ เชตเชงเซ เชธเซเชชเชทเซเชŸ เชฌเชจเชพเชตเชตเชพ เชฎเชพเชŸเซ‡, เช…เชฎเซ‡ เชจเชตเซ‹ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ เชฌเชจเชพเชตเซ€เชถเซเช‚ เชจเชนเซ€เช‚, เชชเชฐเช‚เชคเซ เชชเซเชฐเชฅเชฎ เชฐเซ€เชคเซ‡ เชฌเชจเชพเชตเซ‡เชฒเชพ เช…เชฎเชพเชฐเชพ เชตเชฐเซเชคเชฎเชพเชจ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸเชฎเชพเช‚ เชซเซ‡เชฐเชซเชพเชฐเซ‹ เช•เชฐเซ€เชถเซเช‚.

เชคเซ‡เชฅเซ€, เชธเซŒ เชชเซเชฐเชฅเชฎ, เช…เชฎเซ‡ เชฎเซเช–เซเชฏ เชเช• เชธเชฟเชตเชพเชฏเชจเชพ เชคเชฎเชพเชฎ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸเซเชธเชจเซ‡ เช‰เช•เซ‡เชฒเชฎเชพเช‚เชฅเซ€ เชฆเซ‚เชฐ เช•เชฐเซ€เช เช›เซ€เช (เชธเซ€เชงเซ€ เชซเชพเช‡เชฒเซ‹ เชงเชฐเชพเชตเซ‡ เช›เซ‡). เชคเซ‡. เชตเชฐเซเชเชจ 2016-2020 เชฎเชพเชŸเซ‡เชจเชพ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ. เชธเซ‹เชฒเซเชฏเซเชถเชจ เชธเชพเชฅเซ‡ เชซเซ‹เชฒเซเชกเชฐ เช–เซ‹เชฒเซ‹ เช…เชจเซ‡ เชคเซเชฏเชพเช‚ เช† เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸเซเชธเชจเชพ เชซเซ‹เชฒเซเชกเชฐเซเชธเชจเซ‡ เช•เชพเชขเซ€ เชจเชพเช–เซ‹.

เช…เชฎเชพเชฐเชพ เชจเชฟเชฐเซเชฃเชฏเชฎเชพเช‚ เช…เชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ เชเช• เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ เชฌเชพเช•เซ€ เช›เซ‡ - MySuperPluginForRevit_2015. เชคเซ‡เชจเชพ เช—เซเชฃเชงเชฐเซเชฎเซ‹ เช–เซ‹เชฒเซ‹ เช…เชจเซ‡:

  1. เชŸเซ‡เชฌ เชชเชฐ "เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ"เชเชธเซ‡เชฎเซเชฌเชฒเซ€เชจเชพ เชจเชพเชฎเชฎเชพเช‚เชฅเซ€ เชชเซเชฐเชคเซเชฏเชฏ เชฆเซ‚เชฐ เช•เชฐเซ‹ _2015 (เชถเชพ เชฎเชพเชŸเซ‡ เชคเซ‡ เชชเช›เซ€เชฅเซ€ เชธเซเชชเชทเซเชŸ เชฅเชถเซ‡)
  2. เชŸเซ‡เชฌ เชชเชฐ "เชตเชฟเชงเชพเชจเชธเชญเชพยป เชถเชฐเชคเซ€ เชธเช‚เช•เชฒเชจ เชชเซเชฐเชคเซ€เช• เชฆเซ‚เชฐ เช•เชฐเซ‹ R2015 เช…เชจเซเชฐเซ‚เชช เช•เซเชทเซ‡เชคเซเชฐเชฎเชพเช‚เชฅเซ€

เชจเซ‹เช‚เชง: เชตเชฟเชเซเชฏเซเช…เชฒ เชธเซเชŸเซเชกเชฟเชฏเซ‹เชจเชพ เชจเชตเซ€เชจเชคเชฎ เชธเช‚เชธเซเช•เชฐเชฃเชฎเชพเช‚ เชฌเช— เช›เซ‡ - เชถเชฐเชคเซ€ เชธเช‚เช•เชฒเชจ เชชเซเชฐเชคเซ€เช•เซ‹ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ เช—เซเชฃเชงเชฐเซเชฎเซ‹ เชตเชฟเช‚เชกเซ‹เชฎเชพเช‚ เชชเซเชฐเชฆเชฐเซเชถเชฟเชค เชฅเชคเชพ เชจเชฅเซ€, เชœเซ‹ เช•เซ‡ เชคเซ‡ เช‰เชชเชฒเชฌเซเชง เช›เซ‡. เชœเซ‹ เชคเชฎเซ‡ เช† เช–เชพเชฎเซ€ เช…เชจเซเชญเชตเซ‹ เช›เซ‹, เชคเซ‹ เชคเชฎเชพเชฐเซ‡ เชคเซ‡เชจเซ‡ .csproj เชซเชพเช‡เชฒเชฎเชพเช‚เชฅเซ€ เชฎเซ‡เชจเซเชฏเซเช…เชฒเซ€ เชฆเซ‚เชฐ เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡. เชœเซ‹ เช•เซ‡, เช†เชชเชฃเซ‡ เชนเชœเซ€ เชคเซ‡เชฎเชพเช‚ เช•เชพเชฎ เช•เชฐเชตเชพเชจเซเช‚ เช›เซ‡, เชคเซ‡เชฅเซ€ เช†เช—เชณ เชตเชพเช‚เชšเซ‹.

เชธเซ‹เชฒเซเชฏเซเชถเชจ เชเช•เซเชธเชชเซเชฒเซ‹เชฐเชฐ เชตเชฟเชจเซเชกเซ‹เชฎเชพเช‚ เชชเซเชฐเชคเซเชฏเชฏ เชฆเซ‚เชฐ เช•เชฐเซ€เชจเซ‡ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸเชจเซเช‚ เชจเชพเชฎ เชฌเชฆเชฒเซ‹ _2015 เช…เชจเซ‡ เชชเช›เซ€ เชธเซ‹เชฒเซเชฏเซเชถเชจเชฎเชพเช‚เชฅเซ€ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸเชจเซ‡ เชฆเซ‚เชฐ เช•เชฐเซ‹. เชธเช‚เชชเซ‚เชฐเซเชฃเชคเชพเชตเชพเชฆเซ€เช“เชจเซ€ เชตเซเชฏเชตเชธเซเชฅเชพ เช…เชจเซ‡ เชฒเชพเช—เชฃเซ€เช“ เชœเชพเชณเชตเชตเชพ เชฎเชพเชŸเซ‡ เช† เชœเชฐเซ‚เชฐเซ€ เช›เซ‡! เช…เชฎเซ‡ เช…เชฎเชพเชฐเชพ เชธเซ‹เชฒเซเชฏเซเชถเชจเชจเซเช‚ เชซเซ‹เชฒเซเชกเชฐ เช–เซ‹เชฒเซ€เช เช›เซ€เช, เชคเซ‡ เชœ เชฐเซ€เชคเซ‡ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ เชซเซ‹เชฒเซเชกเชฐเชจเซเช‚ เชจเชพเชฎ เชฌเชฆเชฒเซ€เช เช›เซ€เช เช…เชจเซ‡ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸเชจเซ‡ เชซเชฐเซ€เชฅเซ€ เชธเซ‹เชฒเซเชฏเซเชถเชจเชฎเชพเช‚ เชฒเซ‹เชก เช•เชฐเซ€เช เช›เซ€เช.

เชฐเซ‚เชชเชฐเซ‡เช–เชพเช‚เช•เชจ เชฎเซ‡เชจเซ‡เชœเชฐ เช–เซ‹เชฒเซ‹. เชฏเซเชเชธ เชฐเซ‚เชชเชฐเซ‡เช–เชพเช‚เช•เชจ เชชเซเชฐเช•เชพเชถเชจ เชธเซˆเชฆเซเชงเชพเช‚เชคเชฟเช• เชฐเซ€เชคเซ‡, เชคเซ‡เชจเซ€ เชœเชฐเซ‚เชฐ เชฐเชนเซ‡เชถเซ‡ เชจเชนเซ€เช‚, เชคเซ‡เชฅเซ€ เช…เชฎเซ‡ เชคเซ‡เชจเซ‡ เช•เชพเชขเซ€ เชจเชพเช–เซ€เช เช›เซ€เช. เช…เชฎเซ‡ เชจเชพเชฎเซ‹ เชธเชพเชฅเซ‡ เชจเชตเชพ เชฐเซ‚เชชเชฐเซ‡เช–เชพเช‚เช•เชจเซ‹ เชฌเชจเชพเชตเซ€เช เช›เซ€เช เชœเซ‡ เช…เชฎเชจเซ‡ เชชเชนเซ‡เชฒเชพเชฅเซ€ เชœ เชชเชฐเชฟเชšเชฟเชค เช›เซ‡ R2015, R2016,..., R2020. เชจเซ‹เช‚เชง เช•เชฐเซ‹ เช•เซ‡ เชคเชฎเชพเชฐเซ‡ เช…เชจเซเชฏ เชฐเซ‚เชชเชฐเซ‡เช–เชพเช‚เช•เชจเซ‹เชฎเชพเช‚เชฅเซ€ เชธเซ‡เชŸเชฟเช‚เช—เซเชธเชจเซ€ เชจเช•เชฒ เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เชจเชฅเซ€ เช…เชจเซ‡ เชคเชฎเชพเชฐเซ‡ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ เช—เซ‹เช เชตเชฃเซ€เช“ เชฌเชจเชพเชตเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เชจเชฅเซ€:

เช…เชฎเซ‡ Revit/AutoCAD เชจเชพ เชตเชฟเชตเชฟเชง เชธเช‚เชธเซเช•เชฐเชฃเซ‹ เชฎเชพเชŸเซ‡ เชธเช‚เช•เชฒเชจ เชธเชพเชฅเซ‡ เชเช• เชชเซเชฒเช—เช‡เชจ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ เชฌเชจเชพเชตเซ€เช เช›เซ€เช

เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ เชธเชพเชฅเซ‡เชจเชพ เชซเซ‹เชฒเซเชกเชฐเชฎเชพเช‚ เชœเชพเช“ เช…เชจเซ‡ เชคเชฎเชพเชฐเชพ เชฎเชพเชŸเซ‡ เช…เชจเซเช•เซ‚เชณ เชเชกเชฟเชŸเชฐเชฎเชพเช‚ .csproj เชเช•เซเชธเซเชŸเซ‡เช‚เชถเชจ เชธเชพเชฅเซ‡ เชซเชพเช‡เชฒ เช–เซ‹เชฒเซ‹. เชฎเชพเชฐเซเช— เชฆเซเชตเชพเชฐเชพ, เชคเชฎเซ‡ เชคเซ‡เชจเซ‡ เชตเชฟเชเซเชฏเซเช…เชฒ เชธเซเชŸเซเชกเชฟเชฏเซ‹เชฎเชพเช‚ เชชเชฃ เช–เซ‹เชฒเซ€ เชถเช•เซ‹ เช›เซ‹ - เชคเชฎเชพเชฐเซ‡ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸเชจเซ‡ เช…เชจเชฒเซ‹เชก เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡ เช…เชจเซ‡ เชชเช›เซ€ เช‡เชšเซเช›เชฟเชค เช†เช‡เชŸเชฎ เชธเช‚เชฆเชฐเซเชญ เชฎเซ‡เชจเซ‚เชฎเชพเช‚ เชนเชถเซ‡:

เช…เชฎเซ‡ Revit/AutoCAD เชจเชพ เชตเชฟเชตเชฟเชง เชธเช‚เชธเซเช•เชฐเชฃเซ‹ เชฎเชพเชŸเซ‡ เชธเช‚เช•เชฒเชจ เชธเชพเชฅเซ‡ เชเช• เชชเซเชฒเช—เช‡เชจ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ เชฌเชจเชพเชตเซ€เช เช›เซ€เช

เชตเชฟเชเซเชฏเซเช…เชฒ เชธเซเชŸเซเชกเชฟเชฏเซ‹เชฎเชพเช‚ เชธเช‚เชชเชพเชฆเชจ เช•เชฐเชตเซเช‚ เชตเชงเซ เชธเชพเชฐเซเช‚ เช›เซ‡, เช•เชพเชฐเชฃ เช•เซ‡ เชธเช‚เชชเชพเชฆเช• เชธเช‚เชฐเซ‡เช–เชฟเชค เช•เชฐเซ‡ เช›เซ‡ เช…เชจเซ‡ เชธเช‚เช•เซ‡เชค เช†เชชเซ‡ เช›เซ‡.

เชซเชพเชˆเชฒเชฎเชพเช‚ เช†เชชเชฃเซ‡ เชคเชคเซเชตเซ‹ เชœเซ‹เชˆเชถเซเช‚ เชชเซเชฐเซ‹เชชเชฐเซเชŸเซ€ เช—เซเชฐเซเชช - เช–เซ‚เชฌ เชœ เชŸเซ‹เชš เชชเชฐ เชธเชพเชฎเชพเชจเซเชฏ เช›เซ‡, เช…เชจเซ‡ เชชเช›เซ€ เชถเชฐเชคเซ‹ เช†เชตเซ‡ เช›เซ‡. เชœเซเชฏเชพเชฐเซ‡ เชคเซ‡ เชฌเชพเช‚เชงเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เชคเซเชฏเชพเชฐเซ‡ เช† เชคเชคเซเชตเซ‹ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸเชจเชพ เช—เซเชฃเชงเชฐเซเชฎเซ‹เชจเซ‡ เชธเซ‡เชŸ เช•เชฐเซ‡ เช›เซ‡. เชชเซเชฐเชฅเชฎ เชคเชคเซเชต, เชœเซ‡ เชถเชฐเชคเซ‹ เชตเชฟเชจเชพ เช›เซ‡, เชธเชพเชฎเชพเชจเซเชฏ เช—เซเชฃเชงเชฐเซเชฎเซ‹เชจเซ‡ เชธเซ‡เชŸ เช•เชฐเซ‡ เช›เซ‡, เช…เชจเซ‡ เชถเชฐเชคเซ‹ เชธเชพเชฅเซ‡ เชคเชคเซเชตเซ‹, เชคเซ‡ เชฎเซเชœเชฌ, เชฐเซ‚เชชเชฐเซ‡เช–เชพเช‚เช•เชจเซ‹ เชชเชฐ เช†เชงเชพเชฐ เชฐเชพเช–เซ€เชจเซ‡ เช•เซ‡เชŸเชฒเชพเช• เช—เซเชฃเชงเชฐเซเชฎเซ‹เชฎเชพเช‚ เชซเซ‡เชฐเชซเชพเชฐ เช•เชฐเซ‡ เช›เซ‡.

เชธเชพเชฎเชพเชจเซเชฏ (เชชเซเชฐเชฅเชฎ) เชคเชคเซเชต เชชเชฐ เชœเชพเช“ เชชเซเชฐเซ‹เชชเชฐเซเชŸเซ€ เช—เซเชฐเซเชช เช…เชจเซ‡ เชฎเชฟเชฒเช•เชค เชœเซเช“ เชเชธเซ‡เชฎเซเชฌเชฒเซ€เชจเซเช‚ เชจเชพเชฎ โ€“ เช† เชเชธเซ‡เชฎเซเชฌเชฒเซ€เชจเซเช‚ เชจเชพเชฎ เช›เซ‡ เช…เชจเซ‡ เช†เชชเชฃเซ€ เชชเชพเชธเซ‡ เชคเซ‡ เชชเซเชฐเชคเซเชฏเชฏ เชตเชฟเชจเชพ เชนเซ‹เชตเซเช‚ เชœเซ‹เชˆเช _2015. เชœเซ‹ เช•เซ‹เชˆ เชชเซเชฐเชคเซเชฏเชฏ เชนเซ‹เชฏ, เชคเซ‹ เชคเซ‡เชจเซ‡ เชฆเซ‚เชฐ เช•เชฐเซ‹.

เชถเชฐเชค เชธเชพเชฅเซ‡ เชคเชคเซเชต เชถเซ‹เชงเชตเซเช‚

<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">

เช…เชฎเชจเซ‡ เชคเซ‡เชจเซ€ เชœเชฐเซ‚เชฐ เชจเชฅเซ€ - เช…เชฎเซ‡ เชคเซ‡เชจเซ‡ เช•เชพเชขเซ€ เชจเชพเช–เซ€เช เช›เซ€เช.

เชถเชฐเชค เชธเชพเชฅเซ‡เชจเซเช‚ เชคเชคเซเชต

<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">

เช•เซ‹เชก เชกเซ‡เชตเชฒเชชเชฎเซ‡เชจเซเชŸ เช…เชจเซ‡ เชกเซ€เชฌเช—เซ€เช‚เช—เชจเชพ เชคเชฌเช•เซเช•เซ‡ เช•เชพเชฎ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชœเชฐเซ‚เชฐเซ€ เชฐเชนเซ‡เชถเซ‡. เชคเชฎเซ‡ เชคเชฎเชพเชฐเซ€ เชœเชฐเซ‚เชฐเชฟเชฏเชพเชคเซ‹เชจเซ‡ เช…เชจเซเชฐเซ‚เชช เชคเซ‡เชจเชพ เช—เซเชฃเชงเชฐเซเชฎเซ‹ เชฌเชฆเชฒเซ€ เชถเช•เซ‹ เช›เซ‹ - เชตเชฟเชตเชฟเชง เช†เช‰เชŸเชชเซเชŸ เชชเชพเชฅ เชธเซ‡เชŸ เช•เชฐเซ‹, เชถเชฐเชคเซ€ เชธเช‚เช•เชฒเชจ เชชเซเชฐเชคเซ€เช•เซ‹ เชฌเชฆเชฒเซ‹, เชตเช—เซ‡เชฐเซ‡.

เชนเชตเซ‡ เชšเชพเชฒเซ‹ เชจเชตเชพ เชคเชคเซเชตเซ‹ เชฌเชจเชพเชตเซ€เช เชชเซเชฐเซ‹เชชเชฐเซเชŸเซ€ เช—เซเชฐเซเชช เช…เชฎเชพเชฐเชพ เชฐเซ‚เชชเชฐเซ‡เช–เชพเช‚เช•เชจเซ‹ เชฎเชพเชŸเซ‡. เช† เช˜เชŸเช•เซ‹เชฎเชพเช‚ เช†เชชเชฃเซ‡ เชซเช•เซเชค เชšเชพเชฐ เช—เซเชฃเชงเชฐเซเชฎเซ‹ เชธเซ‡เชŸ เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡:

  • เช†เช‰เชŸเชชเซเชŸเชชเชพเชฅ - เช†เช‰เชŸเชชเซเชŸ เชซเซ‹เชฒเซเชกเชฐ. เชฎเซ‡เช‚ เชกเชฟเชซเซ‰เชฒเซเชŸ เชฎเซ‚เชฒเซเชฏ เชธเซ‡เชŸ เช•เชฐเซเชฏเซเช‚ เช›เซ‡ binR20xx
  • เช•เซ‹เชจเซเชธเซเชŸเชจเซเชŸเซเชธ เชตเซเชฏเชพเช–เซเชฏเชพเชฏเชฟเชค เช•เชฐเซ‹ - เชถเชฐเชคเซ€ เชธเช‚เช•เชฒเชจ เชชเซเชฐเชคเซ€เช•เซ‹. เชฎเซ‚เชฒเซเชฏ เชธเซเชชเชทเซเชŸ เช•เชฐเชตเซเช‚ เชœเซ‹เชˆเช TRACE;R20ั…ั…
  • เชŸเชพเชฐเซเช—เซ‡เชŸเชซเซเชฐเซ‡เชฎเชตเชฐเซเช• เชตเชฐเซเชเชจ - เชชเซเชฒเซ‡เชŸเชซเซ‹เชฐเซเชฎ เชธเช‚เชธเซเช•เชฐเชฃ. Revit API เชจเชพ เชตเชฟเชตเชฟเชง เชตเชฐเซเชเชจเชจเซ‡ เช…เชฒเช— เช…เชฒเช— เชชเซเชฒเซ‡เชŸเชซเซ‹เชฐเซเชฎเชจเซ‹ เช‰เชฒเซเชฒเซ‡เช– เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡.
  • เชเชธเซ‡เชฎเซเชฌเชฒเซ€เชจเซเช‚ เชจเชพเชฎ - เชเชธเซ‡เชฎเซเชฌเชฒเซ€เชจเซเช‚ เชจเชพเชฎ (เชเชŸเชฒเซ‡ โ€‹โ€‹โ€‹โ€‹เช•เซ‡ เชซเชพเช‡เชฒเชจเซเช‚ เชจเชพเชฎ). เชคเชฎเซ‡ เชเชธเซ‡เชฎเซเชฌเชฒเซ€เชจเซเช‚ เชšเซ‹เช•เซเช•เชธ เชจเชพเชฎ เชฒเช–เซ€ เชถเช•เซ‹ เช›เซ‹, เชชเชฐเช‚เชคเซ เชตเชฐเซเชธเซ‡เชŸเชฟเชฒเชฟเชŸเซ€ เชฎเชพเชŸเซ‡ เชนเซเช‚ เชฎเซ‚เชฒเซเชฏ เชฒเช–เชตเชพเชจเซ€ เชญเชฒเชพเชฎเชฃ เช•เชฐเซเช‚ เช›เซเช‚ $(เชเชธเซ‡เชฎเซเชฌเชฒเซ€ เชจเชพเชฎ)_20ั…ั…. เช† เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡, เช…เชฎเซ‡ เช…เช—เชพเช‰ เชเชธเซ‡เชฎเซเชฌเชฒเซ€เชจเชพ เชจเชพเชฎเชฎเชพเช‚เชฅเซ€ เชชเซเชฐเชคเซเชฏเชฏ เชฆเซ‚เชฐ เช•เชฐเซเชฏเซ‹ เชนเชคเซ‹

เช† เชคเชฎเชพเชฎ เช˜เชŸเช•เซ‹เชจเซ€ เชธเซŒเชฅเซ€ เชฎเชนเชคเซเชตเชจเซ€ เชตเชฟเชถเซ‡เชทเชคเชพ เช เช›เซ‡ เช•เซ‡ เชคเซ‡เช“เชจเซ‡ เชฌเชฟเชฒเช•เซเชฒ เชฌเชฆเชฒเซเชฏเชพ เชตเชฟเชจเชพ เช…เชจเซเชฏ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸเซเชธเชฎเชพเช‚ เชจเช•เชฒ เช•เชฐเซ€ เชถเช•เชพเชฏ เช›เซ‡. เชชเชพเช›เชณเชฅเซ€ เชฒเซ‡เช–เชฎเชพเช‚ เชนเซเช‚ .csproj เชซเชพเช‡เชฒเชจเซ€ เชคเชฎเชพเชฎ เชธเชพเชฎเช—เซเชฐเซ€เช“ เชœเซ‹เชกเซ€เชถ.

เช เซ€เช• เช›เซ‡, เช…เชฎเซ‡ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸเชจเชพ เช—เซเชฃเชงเชฐเซเชฎเซ‹ เชถเซ‹เชงเซ€ เช•เชพเชขเซเชฏเชพ เช›เซ‡ - เชคเซ‡ เชฎเซเชถเซเช•เซ‡เชฒ เชจเชฅเซ€. เชชเชฐเช‚เชคเซ เชชเซเชฒเช—-เช‡เชจ เชฒเชพเช‡เชฌเซเชฐเซ‡เชฐเซ€เช“ (NuGet เชชเซ‡เช•เซ‡เชœเซ‹) เชธเชพเชฅเซ‡ เชถเซเช‚ เช•เชฐเชตเซเช‚. เชœเซ‹ เช†เชชเชฃเซ‡ เช†เช—เชณ เชœเซ‹เชˆเช, เชคเซ‹ เช†เชชเชฃเซ‡ เชœเซ‹เชถเซเช‚ เช•เซ‡ เชธเชฎเชพเชตเชฟเชทเซเชŸ เชฒเชพเชˆเชฌเซเชฐเซ‡เชฐเซ€เช“ เชคเชคเซเชตเซ‹เชฎเชพเช‚ เชธเซเชชเชทเซเชŸ เชฅเชฏเซ‡เชฒ เช›เซ‡ เช†เช‡เชŸเชฎเช—เซเชฐเซเชช. เชชเชฐเช‚เชคเซ เช–เชฐเชพเชฌ เชจเชธเซ€เชฌ - เช† เชคเชคเซเชต เชเช• เชคเชคเซเชต เชคเชฐเซ€เช•เซ‡ เชถเชฐเชคเซ‹เชจเซ‡ เช–เซ‹เชŸเซ€ เชฐเซ€เชคเซ‡ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ เช•เชฐเซ‡ เช›เซ‡ เชชเซเชฐเซ‹เชชเชฐเซเชŸเซ€ เช—เซเชฐเซเชช. เช•เชฆเชพเชš เช† เชตเชฟเชเซเชฏเซเช…เชฒ เชธเซเชŸเซเชกเชฟเชฏเซ‹เชจเซ€ เชญเซ‚เชฒ เชชเชฃ เช›เซ‡, เชชเชฐเช‚เชคเซ เชœเซ‹ เชคเชฎเซ‡ เช•เซ‡เชŸเชฒเชพเช• เช˜เชŸเช•เซ‹เชจเซ‹ เช‰เชฒเซเชฒเซ‡เช– เช•เชฐเซ‹ เช›เซ‹ เช†เช‡เชŸเชฎเช—เซเชฐเซเชช เชฐเซ‚เชชเชฐเซ‡เช–เชพเช‚เช•เชจ เชถเชฐเชคเซ‹ เชธเชพเชฅเซ‡, เช…เชจเซ‡ เช…เช‚เชฆเชฐ 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 เชชเซ‡เช•เซ‡เชœเซ‹ เชชเซเชจเชƒเชธเซเชฅเชพเชชเชฟเชค เช•เชฐเซ‹"เช…เชจเซ‡ เช…เชฎเซ‡ เชœเซ‹เชˆเช เช›เซ€เช เช•เซ‡ เช…เชฎเชพเชฐเชพ เชชเซ‡เช•เซ‡เชœเซ‹ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชฌเชฆเชฒเชพเชฏ เช›เซ‡.

เช…เชฎเซ‡ Revit/AutoCAD เชจเชพ เชตเชฟเชตเชฟเชง เชธเช‚เชธเซเช•เชฐเชฃเซ‹ เชฎเชพเชŸเซ‡ เชธเช‚เช•เชฒเชจ เชธเชพเชฅเซ‡ เชเช• เชชเซเชฒเช—เช‡เชจ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ เชฌเชจเชพเชตเซ€เช เช›เซ€เช

เช…เชจเซ‡ เช† เชคเชฌเช•เซเช•เซ‡ เชนเซเช‚ เชเช• เชฎเซƒเชค เช…เช‚เชค เชชเชฐ เช†เชตเซเชฏเซ‹ - เชเช• เชœ เชธเชฎเชฏเซ‡ เชคเชฎเชพเชฎ เชฐเซ‚เชชเชฐเซ‡เช–เชพเช‚เช•เชจเซ‹ เชเช•เชคเซเชฐเชฟเชค เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡, เช…เชฎเซ‡ เชฌเซ‡เชš เชเชธเซ‡เชฎเซเชฌเชฒเซ€เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€ เชถเช•เซ€เช เช›เซ€เช (เชฎเซ‡เชจเซ "เชตเชฟเชงเชพเชจเชธเชญเชพ->เชฌเซ‡เชš เชฌเชฟเชฒเซเชก"), เชชเชฐเช‚เชคเซ เชœเซเชฏเชพเชฐเซ‡ เชฐเซ‚เชชเชฐเซ‡เช–เชพเช‚เช•เชจเซ‹ เชธเซเชตเชฟเชš เช•เชฐเซ€ เชฐเชนเซเชฏเชพ เชนเซ‹เชฏ, เชคเซเชฏเชพเชฐเซ‡ เชชเซ‡เช•เซ‡เชœเซ‹ เช†เชชเชฎเซ‡เชณเซ‡ เชชเซเชจเชƒเชธเซเชฅเชพเชชเชฟเชค เชฅเชคเชพ เชจเชฅเซ€. เช…เชจเซ‡ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸเชจเซ‡ เชเชธเซ‡เชฎเซเชฌเชฒ เช•เชฐเชคเซ€ เชตเช–เชคเซ‡, เช† เชชเชฃ เชฅเชคเซเช‚ เชจเชฅเซ€, เชœเซ‹ เช•เซ‡, เชธเชฟเชฆเซเชงเชพเช‚เชคเชฎเชพเช‚, เชคเซ‡ เชฅเชตเซเช‚ เชœเซ‹เชˆเช. เชฎเชจเซ‡ เชชเซเชฐเชฎเชพเชฃเชญเซ‚เชค เชฎเชพเชงเซเชฏเชฎเซ‹เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เช† เชธเชฎเชธเซเชฏเชพเชจเซ‹ เช‰เช•เซ‡เชฒ เชฎเชณเซเชฏเซ‹ เชจเชฅเซ€. เช…เชจเซ‡ เชฎเซ‹เชŸเซ‡ เชญเชพเช—เซ‡ เช† เชตเชฟเชเซเชฏเซเช…เชฒ เชธเซเชŸเซเชกเชฟเชฏเซ‹ เชฌเช— เชชเชฃ เช›เซ‡.

เชคเซ‡เชฅเซ€, เชฌเซ‡เชš เชเชธเซ‡เชฎเซเชฌเชฒเซ€ เชฎเชพเชŸเซ‡, เช–เชพเชธ เช“เชŸเซ‹เชฎเซ‡เชŸเซ‡เชก เชเชธเซ‡เชฎเซเชฌเชฒเซ€ เชธเชฟเชธเซเชŸเชฎเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเชพเชจเซเช‚ เชจเช•เซเช•เซ€ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซเช‚ เชนเชคเซเช‚ Nuke. เชนเซเช‚ เชตเชพเชธเซเชคเชตเชฎเชพเช‚ เช† เช‡เชšเซเช›เชคเซ‹ เชจ เชนเชคเซ‹ เช•เชพเชฐเชฃ เช•เซ‡ เชฎเชจเซ‡ เชฒเชพเช—เซ‡ เช›เซ‡ เช•เซ‡ เชคเซ‡ เชชเซเชฒเช—เช‡เชจ เชกเซ‡เชตเชฒเชชเชฎเซ‡เชจเซเชŸเชจเชพ เชธเช‚เชฆเชฐเซเชญเชฎเชพเช‚ เช“เชตเชฐเช•เชฟเชฒ เช›เซ‡, เชชเชฐเช‚เชคเซ เช† เช•เซเชทเชฃเซ‡ เชฎเชจเซ‡ เช…เชจเซเชฏ เช•เซ‹เชˆ เช‰เช•เซ‡เชฒ เชฆเซ‡เช–เชพเชคเซ‹ เชจเชฅเซ€. เช…เชจเซ‡ เชชเซเชฐเชถเซเชจ "เชถเชพ เชฎเชพเชŸเซ‡ เชจเซเชฏเซเช•?" เชœเชตเชพเชฌ เชธเชฐเชณ เช›เซ‡ - เช…เชฎเซ‡ เชคเซ‡เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชพเชฎ เชชเชฐ เช•เชฐเซ€เช เช›เซ€เช.

เชคเซ‡เชฅเซ€, เช…เชฎเชพเชฐเชพ เชธเซ‹เชฒเซเชฏเซเชถเชจเชจเชพ เชซเซ‹เชฒเซเชกเชฐ เชชเชฐ เชœเชพเช“ (เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ เชจเชนเซ€เช‚), เช•เซ€ เชฆเชฌเชพเชตเซ€ เชฐเชพเช–เซ‹ Shift เช…เชจเซ‡ เชซเซ‹เชฒเซเชกเชฐเชฎเชพเช‚ เช–เชพเชฒเซ€ เชœเช—เซเชฏเชพ เชชเชฐ เชœเชฎเชฃเซเช‚-เช•เซเชฒเชฟเช• เช•เชฐเซ‹ - เชธเช‚เชฆเชฐเซเชญ เชฎเซ‡เชจเซ‚เชฎเชพเช‚ เช†เช‡เชŸเชฎ เชชเชธเช‚เชฆ เช•เชฐเซ‹ โ€œเช…เชนเซ€เช‚ เชชเชพเชตเชฐเชถเซ‡เชฒ เชตเชฟเชจเซเชกเซ‹ เช–เซ‹เชฒเซ‹ยป.

เช…เชฎเซ‡ Revit/AutoCAD เชจเชพ เชตเชฟเชตเชฟเชง เชธเช‚เชธเซเช•เชฐเชฃเซ‹ เชฎเชพเชŸเซ‡ เชธเช‚เช•เชฒเชจ เชธเชพเชฅเซ‡ เชเช• เชชเซเชฒเช—เช‡เชจ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ เชฌเชจเชพเชตเซ€เช เช›เซ€เช

เชœเซ‹ เชคเชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ เชคเซ‡ เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช•เชฐเซ‡เชฒ เชจเชฅเซ€ nuke, เชชเช›เซ€ เชชเซเชฐเชฅเชฎ เช†เชฆเซ‡เชถ เชฒเช–เซ‹

dotnet tool install Nuke.GlobalTool โ€“global

เชนเชตเซ‡ เช†เชฆเซ‡เชถ เชฒเช–เซ‹ nuke เช…เชจเซ‡ เชคเชฎเชจเซ‡ เชฐเซ‚เชชเชฐเซ‡เช–เชพเช‚เช•เชฟเชค เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชชเซ‚เช›เชตเชพเชฎเชพเช‚ เช†เชตเชถเซ‡ nuke เชตเชฐเซเชคเชฎเชพเชจ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ เชฎเชพเชŸเซ‡. เชฎเชจเซ‡ เช–เชฌเชฐ เชจเชฅเซ€ เช•เซ‡ เช†เชจเซ‡ เชฐเชถเชฟเชฏเชจเชฎเชพเช‚ เชตเชงเซ เชฏเซ‹เช—เซเชฏ เชฐเซ€เชคเซ‡ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชฒเช–เชตเซเช‚ - เช…เช‚เช—เซเชฐเซ‡เชœเซ€เชฎเชพเช‚ เชคเซ‡ เชฒเช–เชตเชพเชฎเชพเช‚ เช†เชตเชถเซ‡ Could not find .nuke เชซเชพเช‡เชฒ. เชถเซเช‚ เชคเชฎเซ‡ เชฌเชฟเชฒเซเชก เชธเซ‡เชŸเช…เชช เช•เชฐเชตเชพ เชฎเชพเช‚เช—เซ‹ เช›เซ‹? [y/n]

Y เช•เซ€ เชฆเชฌเชพเชตเซ‹ เช…เชจเซ‡ เชชเช›เซ€ เชคเซเชฏเชพเช‚ เชธเซ€เชงเซ€ เชธเซ‡เชŸเชฟเช‚เช—เซเชธ เชตเชธเซเชคเซเช“ เชนเชถเซ‡. เช…เชฎเชจเซ‡ เชธเซŒเชฅเซ€ เชธเชฐเชณ เชตเชฟเช•เชฒเซเชชเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡ MSB เชฌเชฟเชฒเซเชก, เชคเซ‡เชฅเซ€ เช…เชฎเซ‡ เชธเซเช•เซเชฐเซ€เชจเชถเซ‹เชŸเชจเซ€ เชœเซ‡เชฎ เชœเชตเชพเชฌ เช†เชชเซ€เช เช›เซ€เช:

เช…เชฎเซ‡ Revit/AutoCAD เชจเชพ เชตเชฟเชตเชฟเชง เชธเช‚เชธเซเช•เชฐเชฃเซ‹ เชฎเชพเชŸเซ‡ เชธเช‚เช•เชฒเชจ เชธเชพเชฅเซ‡ เชเช• เชชเซเชฒเช—เช‡เชจ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ เชฌเชจเชพเชตเซ€เช เช›เซ€เช

เชšเชพเชฒเซ‹ เชตเชฟเชเซเชฏเซเช…เชฒ เชธเซเชŸเซเชกเชฟเชฏเซ‹ เชชเชฐ เชœเชˆเช, เชœเซ‡ เช…เชฎเชจเซ‡ เชธเซ‹เชฒเซเชฏเซเชถเชจ เชซเชฐเซ€เชฅเซ€ เชฒเซ‹เชก เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชธเช‚เช•เซ‡เชค เช†เชชเชถเซ‡, เช•เชพเชฐเชฃ เช•เซ‡ เชคเซ‡เชฎเชพเช‚ เชเช• เชจเชตเซ‹ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ เช‰เชฎเซ‡เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซ‹ เช›เซ‡. เช…เชฎเซ‡ เชธเซ‹เชฒเซเชฏเซเชถเชจ เชซเชฐเซ€เชฅเซ€ เชฒเซ‹เชก เช•เชฐเซ€เช เช›เซ€เช เช…เชจเซ‡ เชœเซ‹เชˆเช เช›เซ€เช เช•เซ‡ เช…เชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ เชเช• เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ เช›เซ‡ เชฌเชฟเชฒเซเชก เช•เชฐเซ‹ เชœเซ‡เชฎเชพเช‚ เช…เชฎเชจเซ‡ เชซเช•เซเชค เชเช• เชœ เชซเชพเช‡เชฒเชฎเชพเช‚ เชฐเชธ เช›เซ‡ - Build.cs

เช…เชฎเซ‡ Revit/AutoCAD เชจเชพ เชตเชฟเชตเชฟเชง เชธเช‚เชธเซเช•เชฐเชฃเซ‹ เชฎเชพเชŸเซ‡ เชธเช‚เช•เชฒเชจ เชธเชพเชฅเซ‡ เชเช• เชชเซเชฒเช—เช‡เชจ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ เชฌเชจเชพเชตเซ€เช เช›เซ€เช

เช† เชซเชพเช‡เชฒ เช–เซ‹เชฒเซ‹ เช…เชจเซ‡ เชคเชฎเชพเชฎ เชฐเซ‚เชชเชฐเซ‡เช–เชพเช‚เช•เชจเซ‹ เชฎเชพเชŸเซ‡ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ เชฌเชจเชพเชตเชตเชพ เชฎเชพเชŸเซ‡ เชธเซเช•เซเชฐเชฟเชชเซเชŸ เชฒเช–เซ‹. เชธเชพเชฐเซเช‚, เช…เชฅเชตเชพ เชฎเชพเชฐเซ€ เชธเซเช•เซเชฐเชฟเชชเซเชŸเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ‹, เชœเซ‡เชจเซ‡ เชคเชฎเซ‡ เชคเชฎเชพเชฐเซ€ เชœเชฐเซ‚เชฐเชฟเชฏเชพเชคเซ‹เชจเซ‡ เช…เชจเซเชฐเซ‚เชช เชธเช‚เชชเชพเชฆเชฟเชค เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹:

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"));
            }
        });
}

เช…เชฎเซ‡ เชชเชพเชตเชฐเชถเซ‡เชฒ เชตเชฟเชจเซเชกเซ‹ เชชเชฐ เชชเชพเช›เชพ เช†เชตเซ€เช เช›เซ€เช เช…เชจเซ‡ เชซเชฐเซ€เชฅเซ€ เช†เชฆเซ‡เชถ เชฒเช–เซ€เช เช›เซ€เช nuke (เชคเชฎเซ‡ เช†เชฆเซ‡เชถ เชฒเช–เซ€ เชถเช•เซ‹ เช›เซ‹ nuke เชœเชฐเซ‚เชฐเซ€ เชธเซ‚เชšเชตเซ‡ เช›เซ‡ เชฒเช•เซเชทเซเชฏเชพเช‚เช•. เชชเชฐเช‚เชคเซ เช…เชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ เชเช• เช›เซ‡ เชฒเช•เซเชทเซเชฏเชพเช‚เช•, เชœเซ‡ เชฎเซ‚เชณเชญเซ‚เชค เชฐเซ€เชคเซ‡ เชšเชพเชฒเซ‡ เช›เซ‡). เชเชจเซเชŸเชฐ เช•เซ€ เชฆเชฌเชพเชตเซเชฏเชพ เชชเช›เซ€, เช…เชฎเซ‡ เชตเชพเชธเซเชคเชตเชฟเช• เชนเซ‡เช•เชฐเซเชธ เชœเซ‡เชตเชพ เช…เชจเซเชญเชตเซ€เชถเซเช‚, เช•เชพเชฐเชฃ เช•เซ‡, เชฎเซ‚เชตเซ€เชจเซ€ เชœเซ‡เชฎ, เช…เชฎเชพเชฐเซ‹ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ เชตเชฟเชตเชฟเชง เชฐเซ‚เชชเชฐเซ‡เช–เชพเช‚เช•เชจเซ‹ เชฎเชพเชŸเซ‡ เช†เชชเชฎเซ‡เชณเซ‡ เชเชธเซ‡เชฎเซเชฌเชฒ เชฅเชˆ เชœเชถเซ‡.

เชฎเชพเชฐเซเช— เชฆเซเชตเชพเชฐเชพ, เชคเชฎเซ‡ เชชเชพเชตเชฐเชถเซ‡เชฒเชจเซ‹ เช‰เชชเชฏเซ‹เช— เชตเชฟเชเซเชฏเซเช…เชฒ เชธเซเชŸเซเชกเชฟเชฏเซ‹เชฎเชพเช‚เชฅเซ€ เชธเซ€เชงเซ‹ เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹ (เชฎเซ‡เชจเซ "เชœเซเช“->เช…เชจเซเชฏ เชตเชฟเชจเซเชกเซ‹->เชชเซ‡เช•เซ‡เชœ เชฎเซ‡เชจเซ‡เชœเชฐ เช•เชจเซเชธเซ‹เชฒ"), เชชเชฐเช‚เชคเซ เชฌเชงเซเช‚ เช•เชพเชณเชพ เช…เชจเซ‡ เชธเชซเซ‡เชฆ เชนเชถเซ‡, เชœเซ‡ เช–เซ‚เชฌ เช…เชจเซเช•เซ‚เชณ เชจเชฅเซ€.

เช† เชฎเชพเชฐเชพ เชฒเซ‡เช–เชจเซ‡ เชธเชฎเชพเชชเซเชค เช•เชฐเซ‡ เช›เซ‡. เชฎเชจเซ‡ เช–เชพเชคเชฐเซ€ เช›เซ‡ เช•เซ‡ เชคเชฎเซ‡ AutoCAD เชฎเชพเชŸเซ‡เชจเซ‹ เชตเชฟเช•เชฒเซเชช เชœเชพเชคเซ‡ เชถเซ‹เชงเซ€ เชถเช•เชถเซ‹. เชนเซเช‚ เช†เชถเชพ เชฐเชพเช–เซเช‚ เช›เซเช‚ เช•เซ‡ เช…เชนเซ€เช‚ เชชเซเชฐเชธเซเชคเซเชค เชธเชพเชฎเช—เซเชฐเซ€ เชคเซ‡เชจเชพ "เช—เซเชฐเชพเชนเช•เซ‹" เชถเซ‹เชงเซ€ เชถเช•เชถเซ‡.

เชคเชฎเชพเชฐเซเช‚ เชงเซเชฏเชพเชจ เชฌเชฆเชฒ เช†เชญเชพเชฐ!

เชธเซ‹เชฐเซเชธ: www.habr.com

เชเช• เชŸเชฟเชชเซเชชเชฃเซ€ เช‰เชฎเซ‡เชฐเซ‹