CAD เชเชชเซเชฒเซเชเซเชถเชจ เชฎเชพเชเซ เชชเซเชฒเชเชเชจเซ เชตเชฟเชเชธเชพเชตเชคเซ เชตเชเชคเซ (
เชเซเชฏเชพเชฐเซ เชคเชฎเชพเชฐเซ เชชเชพเชธเซ เชซเชเซเชค เชเช เช เชชเซเชฒเชเชเชจ เชนเซเชฏ เช เชฅเชตเชพ เชคเชฎเซ เชนเชเซ เชชเชฃ เช เชฌเชพเชฌเชคเชฎเชพเช เชธเซเชต-เชถเชฟเชเซเชทเชฟเชค เชถเชฟเชเชพเช เชเซ, เชคเซ เชคเชฎเซ เชซเชเซเชค เชชเซเชฐเซเชเซเชเซเชเชจเซ เชจเชเชฒ เชฌเชจเชพเชตเซ เชถเชเซ เชเซ, เชคเซเชฎเชพเช เชเชฐเซเชฐเซ เชธเซเชฅเชพเชจเซ เชฌเชฆเชฒเซ เชถเชเซ เชเซ เช เชจเซ เชชเซเชฒเชเชเชจเชจเซเช เชจเชตเซเช เชธเชเชธเซเชเชฐเชฃ เชเชธเซเชฎเซเชฌเชฒ เชเชฐเซ เชถเชเซ เชเซ. เชคเชฆเชจเซเชธเชพเชฐ, เชเซเชกเชฎเชพเช เช เชจเซเชเชพเชฎเซ เชซเซเชฐเชซเชพเชฐเซ เชฎเชเซเชฐ เชเชฐเซเชเชฎเชพเช เชฌเชนเซเชตเชฟเชง เชตเชงเชพเชฐเซ เชเชฐเชถเซ.
เชเซเชฎ เชเซเชฎ เชคเชฎเซ เช เชจเซเชญเชต เช เชจเซ เชเซเชเชพเชจ เชฎเซเชณเชตเชถเซ เชคเซเชฎ, เชคเชฎเชจเซ เช เชชเซเชฐเชเซเชฐเชฟเชฏเชพเชจเซ เชธเซเชตเชเชพเชฒเชฟเชค เชเชฐเชตเชพเชจเซ เชเชฃเซ เชฐเซเชคเซ เชฎเชณเชถเซ. เชนเซเช เช เชฎเชพเชฐเซเช เชชเชฐ เชเชพเชฒเซเชฏเซ เชเซเช เช เชจเซ เชนเซเช เชคเชฎเชจเซ เชเชนเซเชตเชพ เชฎเชพเชเชเซ เชเซเช เชเซ เชฎเชพเชฐเซ เชธเชพเชฅเซ เชถเซเช เชฅเชฏเซเช เช เชจเซ เชคเซ เชเซเชเชฒเซเช เช เชจเซเชเซเชณ เชเซ.
เชชเซเชฐเชฅเชฎ, เชเชพเชฒเซ เชเช เชชเชฆเซเชงเชคเชฟ เชเซเชเช เชเซ เชธเซเชชเชทเซเช เชเซ เช เชจเซ เชเซเชจเซ เชฎเซเช เชฒเชพเชเชฌเชพ เชธเชฎเชฏเชฅเซ เชเชชเชฏเซเช เชเชฐเซเชฏเซ เชเซ.
เชชเซเชฐเซเชเซเชเซเช เชซเชพเชเชฒเซเชจเซ เชฒเชฟเชเชเซเชธ
เช เชจเซ เชฌเชงเซเช เชธเชฐเชณ, เชตเชฟเชเซเชฏเซเช เชฒ เช เชจเซ เชธเชฎเชเซ เชถเชเชพเชฏ เชคเซเชตเซเช เชฌเชจเชพเชตเชตเชพ เชฎเชพเชเซ, เชนเซเช เชชเซเชฒเชเชเชจ เชกเซเชตเชฒเชชเชฎเซเชจเซเชเชจเชพ เช เชฎเซเชฐเซเชค เชเชฆเชพเชนเชฐเชฃเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ เชฆเชฐเซเช เชตเชธเซเชคเซเชจเซเช เชตเชฐเซเชฃเชจ เชเชฐเซเชถ.
เชเชพเชฒเซ เชตเชฟเชเซเชฏเซเช เชฒ เชธเซเชเซเชกเชฟเชฏเซ เชเซเชฒเซเช (เชฎเชพเชฐเซ เชชเชพเชธเซ เชเซเชฎเซเชฏเซเชจเชฟเชเซ 2019 เชตเชฐเซเชเชจ เชเซ. เช เชจเซ เชนเชพ - เชฐเชถเชฟเชฏเชจเชฎเชพเช) เช เชจเซ เชเช เชจเชตเซเช เชธเซเชฒเซเชฏเซเชถเชจ เชฌเชจเชพเชตเซเช. เชเชพเชฒเซ เชคเซเชจเซ เชฌเซเชฒเชพเชตเซเช MySuperPluginForRevit
เช เชฎเซ เชตเชฐเซเชเชจ 2015-2020 เชฎเชพเชเซ Revit เชฎเชพเชเซ เชชเซเชฒเชเชเชจ เชฌเชจเชพเชตเซเชถเซเช. เชคเซเชฅเซ, เชเชพเชฒเซ เชธเซเชฒเซเชฏเซเชถเชจเชฎเชพเช เชเช เชจเชตเซ เชชเซเชฐเซเชเซเชเซเช เชฌเชจเชพเชตเซเช (เชจเซเช เชซเซเชฐเซเชฎเชตเชฐเซเช เชเซเชฒเชพเชธ เชฒเชพเชเชฌเซเชฐเซเชฐเซ) เช เชจเซ เชคเซเชจเซ เชเซเชฒ เชเชฐเซเช MySuperPluginForRevit_2015
เช เชฎเชพเชฐเซ Revit API เชฎเชพเช เชฒเชฟเชเชเซเชธ เชเชฎเซเชฐเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ. เช เชฒเชฌเชคเซเชค, เช เชฎเซ เชธเซเชฅเชพเชจเชฟเช เชซเชพเชเชฒเซเชฎเชพเช เชฒเชฟเชเชเซเชธ เชเชฎเซเชฐเซ เชถเชเซเช เชเซเช (เช เชฎเชพเชฐเซ เชคเชฎเชพเชฎ เชเชฐเซเชฐเซ SDKs เช เชฅเชตเชพ Revit เชจเชพ เชคเชฎเชพเชฎ เชธเชเชธเซเชเชฐเชฃเซ เชเชจเซเชธเซเชเซเชฒ เชเชฐเชตเชพเชจเซ เชเชฐเซเชฐ เชชเชกเชถเซ), เชชเชฐเชเชคเซ เช เชฎเซ เชคเชฐเชค เช เชฏเซเชเซเชฏ เชฎเชพเชฐเซเชเชจเซ เช เชจเซเชธเชฐเซเชถเซเช เช เชจเซ NuGet เชชเซเชเซเชเชจเซ เชเชจเซเชเซเช เชเชฐเซเชถเซเช. เชคเชฎเซ เชเชฃเชพ เชฌเชงเชพ เชชเซเชเซเชเซ เชถเซเชงเซ เชถเชเซ เชเซ, เชชเชฐเชเชคเซ เชนเซเช เชฎเชพเชฐเชพ เชชเซเชคเชพเชจเชพ เชเชชเชฏเซเช เชเชฐเซเชถ.
เชชเซเชเซเชเชจเซ เชเชจเซเชเซเช เชเชฐเซเชฏเชพ เชชเชเซ, เชเชเชเชฎ เชชเชฐ เชเชฎเชฃเซเช-เชเซเชฒเชฟเช เชเชฐเซ โเชธเชเชฆเชฐเซเชญเซ"เช เชจเซ เชเชเชเชฎ เชชเชธเชเชฆ เชเชฐเซ"packages.config เชจเซ PackageReference เชชเชฐ เชเชธเซเชกเซ...ยป
เชเซ เช เชเชพเชจเช เช เชฌเชฟเชเชฆเซเช เชคเชฎเซ เชเชญเชฐเชพเชตเชพเชจเซเช เชถเชฐเซ เชเชฐเซ เชเซ, เชเชพเชฐเชฃ เชเซ เชชเซเชเซเช เชชเซเชฐเซเชชเชฐเซเชเซเช เชตเชฟเชเชกเซเชฎเชพเช เชเซเช เชฎเชนเชคเซเชตเชชเซเชฐเซเชฃ เชตเชธเซเชคเซ เชนเชถเซ เชจเชนเซเช.เชธเซเชฅเชพเชจเชฟเช เชฐเซเชคเซ เชจเชเชฒ เชเชฐเซ", เชเซเชจเซ เชเชชเชฃเซ เชเซเชเซเชเชธเชชเชฃเซ เชฎเซเชฒเซเชฏ เชชเชฐ เชธเซเช เชเชฐเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ เชเซเชเซเช, เชชเชเซ เชเชญเชฐเชพเชถเซ เชจเชนเซเช - เชชเซเชฐเซเชเซเชเซเช เชธเชพเชฅเซเชจเชพ เชซเซเชฒเซเชกเชฐเชฎเชพเช เชเชพเช, เชคเชฎเชพเชฐเชพ เชฎเชพเชเซ เช เชจเซเชเซเชณ เชเชกเชฟเชเชฐเชฎเชพเช .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เชเซเชฅเซ เชเชชเชฃเซเช เชจเซเชฎเชธเซเชชเซเชธ เชธเชพเชฐเซเชตเชคเซเชฐเชฟเช เชนเซเชฏ เช เชจเซ เชเชธเซเชฎเซเชฌเชฒเซเชจเชพ เชจเชพเชฎเชฅเซ เชธเซเชตเชคเชเชคเซเชฐ เชนเซเชฏ:
เชฎเชพเชฐเชพ เชเชฟเชธเซเชธเชพเชฎเชพเช, เช เชเชคเชฟเชฎ เชเชคเซเชชเชพเชฆเชจเชฎเชพเช, เชคเชฎเชพเชฎ เชธเชเชธเซเชเชฐเชฃเซเชจเชพ เชชเซเชฒเชเชเชจเซเชธ เชเช เชซเซเชฒเซเชกเชฐเชฎเชพเช เชฎเซเชเชตเชพเชฎเชพเช เชเชตเซ เชเซ, เชคเซเชฅเซ เชฎเชพเชฐเชพ เชเชธเซเชฎเซเชฌเชฒเซ เชจเชพเชฎเซ เชซเซเชฐเซเชฎเชจเชพ เชชเซเชฐเชคเซเชฏเชฏ เชธเชพเชฅเซ เชฐเชนเซ เชเซ. _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 เชจเชตเชพ เชชเซเชฐเซเชเซเชเซเชเชฎเชพเชเชฅเซ เชเชพเชขเซ เชจเชพเชเซ.
เชเชฐเซเชฐเซ เชเซเชก เชธเชพเชฅเซ เชซเชพเชเชฒ เชเชฐเซ - Class1.cs - เช เชฎเชพเชฐเซ เชชเชพเชธเซ เชคเซ เชชเชนเซเชฒเชพเชฅเซ เช เชเซ เช เชจเซ เช เชฎเชพเชฐเซ เชจเชตเชพ เชชเซเชฐเซเชเซเชเซเชเชฎเชพเช เชคเซเชจเซ เชฒเชฟเชเช เชฆเชพเชเชฒ เชเชฐเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ. เชฒเชฟเชเชเซเชธ เชฆเชพเชเชฒ เชเชฐเชตเชพเชจเซ เชฌเซ เชฐเซเชค เชเซ:
- เชฒเชพเชเชฌเซ - เชชเซเชฐเซเชเซเชเซเช เชชเชฐ เชเชฎเชฃเซเช-เชเซเชฒเชฟเช เชเชฐเซ เช เชจเซ เชชเชธเชเชฆ เชเชฐเซ "เชเชฎเซเชฐเซ->เชนเชพเชฒเชจเซเช เชคเชคเซเชต", เชเซเชฒเชคเซ เชตเชฟเชจเซเชกเซเชฎเชพเช, เชตเชฟเชเชฒเซเชชเชจเซ เชฌเชฆเชฒเซ เชเชฐเซเชฐเซ เชซเชพเชเชฒ เชถเซเชงเซ"เชเชฎเซเชฐเซ"เชตเชฟเชเชฒเซเชช เชชเชธเชเชฆ เชเชฐเซ"เชเชจเซเชเซเชถเชจ เชคเชฐเซเชเซ เชเชฎเซเชฐเซยป
- เชเซเชเชเชพ - เชธเซเชงเซเช เช เชธเซเชฒเซเชฏเซเชถเชจ เชเชเซเชธเชชเซเชฒเซเชฐเชฐเชฎเชพเช, เชเชเซเชเชฟเชค เชซเชพเชเชฒ (เช
เชฅเชตเชพ เชซเชพเชเชฒเซ เช
เชฅเชตเชพ เชคเซ เชเชเชพ เชซเซเชฒเซเชกเชฐเซเชธ) เชชเชธเชเชฆ เชเชฐเซ เช
เชจเซ Alt เชเซ เชฆเชฌเชพเชตเซ เชฐเชพเชเซเชจเซ เชคเซเชจเซ เชจเชตเชพ เชชเซเชฐเซเชเซเชเซเชเชฎเชพเช เชเซเชเชเซ. เชเซเชฎ เชเซเชฎ เชคเชฎเซ เชเซเชเชเซ เชเซ, เชคเชฎเซ เชเซเชถเซ เชเซ เชเซเชฏเชพเชฐเซ เชคเชฎเซ 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
- เชเซเชจเซเชธเซเชเชจเซเชเซเชธ เชตเซเชฏเชพเชเซเชฏเชพเชฏเชฟเชค เชเชฐเซ - เชถเชฐเชคเซ เชธเชเชเชฒเชจ เชชเซเชฐเชคเซเชเซ. เชฎเซเชฒเซเชฏ เชธเซเชชเชทเซเช เชเชฐเชตเซเช เชเซเชเช TRACE;R20ั ั
- เชเชพเชฐเซเชเซเชเชซเซเชฐเซเชฎเชตเชฐเซเช เชตเชฐเซเชเชจ - เชชเซเชฒเซเชเชซเซเชฐเซเชฎ เชธเชเชธเซเชเชฐเชฃ. Revit API เชจเชพ เชตเชฟเชตเชฟเชง เชตเชฐเซเชเชจเชจเซ เช เชฒเช เช เชฒเช เชชเซเชฒเซเชเชซเซเชฐเซเชฎเชจเซ เชเชฒเซเชฒเซเช เชเชฐเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ.
- เชเชธเซเชฎเซเชฌเชฒเซเชจเซเช เชจเชพเชฎ - เชเชธเซเชฎเซเชฌเชฒเซเชจเซเช เชจเชพเชฎ (เชเชเชฒเซ โโโโเชเซ เชซเชพเชเชฒเชจเซเช เชจเชพเชฎ). เชคเชฎเซ เชเชธเซเชฎเซเชฌเชฒเซเชจเซเช เชเซเชเซเชเชธ เชจเชพเชฎ เชฒเชเซ เชถเชเซ เชเซ, เชชเชฐเชเชคเซ เชตเชฐเซเชธเซเชเชฟเชฒเชฟเชเซ เชฎเชพเชเซ เชนเซเช เชฎเซเชฒเซเชฏ เชฒเชเชตเชพเชจเซ เชญเชฒเชพเชฎเชฃ เชเชฐเซเช เชเซเช $(เชเชธเซเชฎเซเชฌเชฒเซ เชจเชพเชฎ)_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 เชชเซเชเซเชเซ เชชเซเชจเชเชธเซเชฅเชพเชชเชฟเชค เชเชฐเซ"เช เชจเซ เช เชฎเซ เชเซเชเช เชเซเช เชเซ เช เชฎเชพเชฐเชพ เชชเซเชเซเชเซ เชเซเชตเซ เชฐเซเชคเซ เชฌเชฆเชฒเชพเชฏ เชเซ.
เช เชจเซ เช เชคเชฌเชเซเชเซ เชนเซเช เชเช เชฎเซเชค เช เชเชค เชชเชฐ เชเชตเซเชฏเซ - เชเช เช เชธเชฎเชฏเซ เชคเชฎเชพเชฎ เชฐเซเชชเชฐเซเชเชพเชเชเชจเซ เชเชเชคเซเชฐเชฟเชค เชเชฐเชตเชพ เชฎเชพเชเซ, เช เชฎเซ เชฌเซเช เชเชธเซเชฎเซเชฌเชฒเซเชจเซ เชเชชเชฏเซเช เชเชฐเซ เชถเชเซเช เชเซเช (เชฎเซเชจเซ "เชตเชฟเชงเชพเชจเชธเชญเชพ->เชฌเซเช เชฌเชฟเชฒเซเชก"), เชชเชฐเชเชคเซ เชเซเชฏเชพเชฐเซ เชฐเซเชชเชฐเซเชเชพเชเชเชจเซ เชธเซเชตเชฟเช เชเชฐเซ เชฐเชนเซเชฏเชพ เชนเซเชฏ, เชคเซเชฏเชพเชฐเซ เชชเซเชเซเชเซ เชเชชเชฎเซเชณเซ เชชเซเชจเชเชธเซเชฅเชพเชชเชฟเชค เชฅเชคเชพ เชจเชฅเซ. เช เชจเซ เชชเซเชฐเซเชเซเชเซเชเชจเซ เชเชธเซเชฎเซเชฌเชฒ เชเชฐเชคเซ เชตเชเชคเซ, เช เชชเชฃ เชฅเชคเซเช เชจเชฅเซ, เชเซ เชเซ, เชธเชฟเชฆเซเชงเชพเชเชคเชฎเชพเช, เชคเซ เชฅเชตเซเช เชเซเชเช. เชฎเชจเซ เชชเซเชฐเชฎเชพเชฃเชญเซเชค เชฎเชพเชงเซเชฏเชฎเซเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ เช เชธเชฎเชธเซเชฏเชพเชจเซ เชเชเซเชฒ เชฎเชณเซเชฏเซ เชจเชฅเซ. เช เชจเซ เชฎเซเชเซ เชญเชพเชเซ เช เชตเชฟเชเซเชฏเซเช เชฒ เชธเซเชเซเชกเชฟเชฏเซ เชฌเช เชชเชฃ เชเซ.
เชคเซเชฅเซ, เชฌเซเช เชเชธเซเชฎเซเชฌเชฒเซ เชฎเชพเชเซ, เชเชพเชธ เชเชเซเชฎเซเชเซเชก เชเชธเซเชฎเซเชฌเชฒเซ เชธเชฟเชธเซเชเชฎเชจเซ เชเชชเชฏเซเช เชเชฐเชตเชพเชจเซเช เชจเชเซเชเซ เชเชฐเชตเชพเชฎเชพเช เชเชตเซเชฏเซเช เชนเชคเซเช
เชคเซเชฅเซ, เช เชฎเชพเชฐเชพ เชธเซเชฒเซเชฏเซเชถเชจเชจเชพ เชซเซเชฒเซเชกเชฐ เชชเชฐ เชเชพเช (เชชเซเชฐเซเชเซเชเซเช เชจเชนเซเช), เชเซ เชฆเชฌเชพเชตเซ เชฐเชพเชเซ Shift เช เชจเซ เชซเซเชฒเซเชกเชฐเชฎเชพเช เชเชพเชฒเซ เชเชเซเชฏเชพ เชชเชฐ เชเชฎเชฃเซเช-เชเซเชฒเชฟเช เชเชฐเซ - เชธเชเชฆเชฐเซเชญ เชฎเซเชจเซเชฎเชพเช เชเชเชเชฎ เชชเชธเชเชฆ เชเชฐเซ โเช เชนเซเช เชชเชพเชตเชฐเชถเซเชฒ เชตเชฟเชจเซเชกเซ เชเซเชฒเซยป.
เชเซ เชคเชฎเชพเชฐเซ เชชเชพเชธเซ เชคเซ เชเชจเซเชธเซเชเซเชฒ เชเชฐเซเชฒ เชจเชฅเซ nuke, เชชเชเซ เชชเซเชฐเชฅเชฎ เชเชฆเซเชถ เชฒเชเซ
dotnet tool install Nuke.GlobalTool โglobal
เชนเชตเซ เชเชฆเซเชถ เชฒเชเซ nuke เช เชจเซ เชคเชฎเชจเซ เชฐเซเชชเชฐเซเชเชพเชเชเชฟเชค เชเชฐเชตเชพ เชฎเชพเชเซ เชชเซเชเชตเชพเชฎเชพเช เชเชตเชถเซ nuke เชตเชฐเซเชคเชฎเชพเชจ เชชเซเชฐเซเชเซเชเซเช เชฎเชพเชเซ. เชฎเชจเซ เชเชฌเชฐ เชจเชฅเซ เชเซ เชเชจเซ เชฐเชถเชฟเชฏเชจเชฎเชพเช เชตเชงเซ เชฏเซเชเซเชฏ เชฐเซเชคเซ เชเซเชตเซ เชฐเซเชคเซ เชฒเชเชตเซเช - เช เชเชเซเชฐเซเชเซเชฎเชพเช เชคเซ เชฒเชเชตเชพเชฎเชพเช เชเชตเชถเซ Could not find .nuke เชซเชพเชเชฒ. เชถเซเช เชคเชฎเซ เชฌเชฟเชฒเซเชก เชธเซเชเช เชช เชเชฐเชตเชพ เชฎเชพเชเชเซ เชเซ? [y/n]
Y เชเซ เชฆเชฌเชพเชตเซ เช เชจเซ เชชเชเซ เชคเซเชฏเชพเช เชธเซเชงเซ เชธเซเชเชฟเชเชเซเชธ เชตเชธเซเชคเซเช เชนเชถเซ. เช เชฎเชจเซ เชธเซเชฅเซ เชธเชฐเชณ เชตเชฟเชเชฒเซเชชเชจเซ เชเชชเชฏเซเช เชเชฐเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ MSB เชฌเชฟเชฒเซเชก, เชคเซเชฅเซ เช เชฎเซ เชธเซเชเซเชฐเซเชจเชถเซเชเชจเซ เชเซเชฎ เชเชตเชพเชฌ เชเชชเซเช เชเซเช:
เชเชพเชฒเซ เชตเชฟเชเซเชฏเซเช เชฒ เชธเซเชเซเชกเชฟเชฏเซ เชชเชฐ เชเชเช, เชเซ เช เชฎเชจเซ เชธเซเชฒเซเชฏเซเชถเชจ เชซเชฐเซเชฅเซ เชฒเซเชก เชเชฐเชตเชพ เชฎเชพเชเซ เชธเชเชเซเชค เชเชชเชถเซ, เชเชพเชฐเชฃ เชเซ เชคเซเชฎเชพเช เชเช เชจเชตเซ เชชเซเชฐเซเชเซเชเซเช เชเชฎเซเชฐเชตเชพเชฎเชพเช เชเชตเซเชฏเซ เชเซ. เช เชฎเซ เชธเซเชฒเซเชฏเซเชถเชจ เชซเชฐเซเชฅเซ เชฒเซเชก เชเชฐเซเช เชเซเช เช เชจเซ เชเซเชเช เชเซเช เชเซ เช เชฎเชพเชฐเซ เชชเชพเชธเซ เชเช เชชเซเชฐเซเชเซเชเซเช เชเซ เชฌเชฟเชฒเซเชก เชเชฐเซ เชเซเชฎเชพเช เช เชฎเชจเซ เชซเชเซเชค เชเช เช เชซเชพเชเชฒเชฎเชพเช เชฐเชธ เชเซ - 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"));
}
});
}
เช เชฎเซ เชชเชพเชตเชฐเชถเซเชฒ เชตเชฟเชจเซเชกเซ เชชเชฐ เชชเชพเชเชพ เชเชตเซเช เชเซเช เช เชจเซ เชซเชฐเซเชฅเซ เชเชฆเซเชถ เชฒเชเซเช เชเซเช nuke (เชคเชฎเซ เชเชฆเซเชถ เชฒเชเซ เชถเชเซ เชเซ nuke เชเชฐเซเชฐเซ เชธเซเชเชตเซ เชเซ เชฒเชเซเชทเซเชฏเชพเชเช. เชชเชฐเชเชคเซ เช เชฎเชพเชฐเซ เชชเชพเชธเซ เชเช เชเซ เชฒเชเซเชทเซเชฏเชพเชเช, เชเซ เชฎเซเชณเชญเซเชค เชฐเซเชคเซ เชเชพเชฒเซ เชเซ). เชเชจเซเชเชฐ เชเซ เชฆเชฌเชพเชตเซเชฏเชพ เชชเชเซ, เช เชฎเซ เชตเชพเชธเซเชคเชตเชฟเช เชนเซเชเชฐเซเชธ เชเซเชตเชพ เช เชจเซเชญเชตเซเชถเซเช, เชเชพเชฐเชฃ เชเซ, เชฎเซเชตเซเชจเซ เชเซเชฎ, เช เชฎเชพเชฐเซ เชชเซเชฐเซเชเซเชเซเช เชตเชฟเชตเชฟเชง เชฐเซเชชเชฐเซเชเชพเชเชเชจเซ เชฎเชพเชเซ เชเชชเชฎเซเชณเซ เชเชธเซเชฎเซเชฌเชฒ เชฅเช เชเชถเซ.
เชฎเชพเชฐเซเช เชฆเซเชตเชพเชฐเชพ, เชคเชฎเซ เชชเชพเชตเชฐเชถเซเชฒเชจเซ เชเชชเชฏเซเช เชตเชฟเชเซเชฏเซเช เชฒ เชธเซเชเซเชกเชฟเชฏเซเชฎเชพเชเชฅเซ เชธเซเชงเซ เชเชฐเซ เชถเชเซ เชเซ (เชฎเซเชจเซ "เชเซเช->เช เชจเซเชฏ เชตเชฟเชจเซเชกเซ->เชชเซเชเซเช เชฎเซเชจเซเชเชฐ เชเชจเซเชธเซเชฒ"), เชชเชฐเชเชคเซ เชฌเชงเซเช เชเชพเชณเชพ เช เชจเซ เชธเชซเซเชฆ เชนเชถเซ, เชเซ เชเซเชฌ เช เชจเซเชเซเชณ เชจเชฅเซ.
เช เชฎเชพเชฐเชพ เชฒเซเชเชจเซ เชธเชฎเชพเชชเซเชค เชเชฐเซ เชเซ. เชฎเชจเซ เชเชพเชคเชฐเซ เชเซ เชเซ เชคเชฎเซ AutoCAD เชฎเชพเชเซเชจเซ เชตเชฟเชเชฒเซเชช เชเชพเชคเซ เชถเซเชงเซ เชถเชเชถเซ. เชนเซเช เชเชถเชพ เชฐเชพเชเซเช เชเซเช เชเซ เช เชนเซเช เชชเซเชฐเชธเซเชคเซเชค เชธเชพเชฎเชเซเชฐเซ เชคเซเชจเชพ "เชเซเชฐเชพเชนเชเซ" เชถเซเชงเซ เชถเชเชถเซ.
เชคเชฎเชพเชฐเซเช เชงเซเชฏเชพเชจ เชฌเชฆเชฒ เชเชญเชพเชฐ!
เชธเซเชฐเซเชธ: www.habr.com