αα
ααααααααΎααααααα·ααΈαααα½ααααααΆαααααααα·ααΈ CAD (
αα ααααααα’αααααΆααααααα·ααΈαααα½ααααα½α α¬α’ααααα ααααΆα’αααα αΆααααααΎαααααααααααααα½αα―ααα αααα»ααααα αΆααα α’αααα’αΆα ααααΎα αααΆααα αααααααααα ααααΆααααααΌαααΈααααααα αΆαααΆα ααα αααα»αααΆ α αΎααααααΌααααα»αααααααααΈαααααααα·ααΈαααα½αα ααΌα ααααα αΎα ααΆαααααΆααααααΌαααΆαααααααααΆααα ααααααΌαααΉαααΆαα±ααααΆαααΆαααΎαα‘αΎαααααααααααα αααΎαα
αα ααααααα’αααααα½αααΆααααα·ααααα αα·αα ααααααΉα α’αααααΉαααααΎααα·ααΈααΆα αααΎαααΎααααΈααααΎα±ααααααΎαααΆαααααααααααααααααααα·α αααα»αβααΆαβααΎαβααΎβααααΌαβααα α αΎαβαααα»αβα ααβααααΆααβα’αααβααΈβα’αααΈβαααβαααα»αβααΆαβαααα ααβαα βα αΎαβααΆβαααα½αβααα»ααααΆα
ααΆααααΌαααΌααααα‘ααααΎααα·ααΈααΆααααααααααΆααααααα αα·αααααααα»αααΆαααααΎααΆααΌαααα αΎαα
αααααααΆαααα α―αααΆααααααα
α αΎαααΎααααΈααααΎα±ααα’αααΈααααααααΆαααΆαααααααααΆαααα ααΎαααΎα αα·αα’αΆα αααααΆα αααα»αααΉααααααΆα’αααΈα’αααΈααααααααΆααααααααΎα§ααΆα αααα’ααΌααΈααααΆαα’αα·αααααααααααα·ααΈαααα½αα
αααααΎα Visual Studio (αααα»αααΆααααααα αααα 2019α α αΎαααΆα - ααΆααΆααΆαα»ααααΈ) α αΎααααααΎααααααααααΆαααααΈα αααα α ααΆαα MySuperPluginForRevit
ααΎαααΉααααααΎααααααα·ααΈαααα½ααααααΆαα Revit αααααΆαααααα 2015-2020α ααΌα αααα α αΌαααΎααααααΎαααααααααααΈαα½ααα αααα»ααααααααααΆα (Net Framework Class Library) α αΎαα α ααΆα 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Ρ Ρ . ααα»ααααβα’αααβααβα’αΆα βααβαα αα ααβα ααβααΈβαααααβααΆαβαα½αβααααα»αβααααΆβαααβααααα·αβααΎβα―αααΆαβααααΌαβααΆαβααβααααααβααΆβααΆαβααΈααΆααβαααα»αβααβαααααβααααΆα
ααααα ααΌαα―αααΆα ααααΆαα 1.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;
}
}
}
ααααΆααααααααα»αααΆααα·α αΆαααΆααΎααααααΆααα’αααα Revit ααΆαααΎαααα 2015 (αααααΆααα αααααααα) α αΎαααααΆαααααααΆααα·αααΌαα’αααΈααααααΆααααα·αα·ααααααααΆα αααααααΆααααααααααααααααΌαααΆααααααΎααααααααΎααααΌααΌα ααααΆα
α αΌααααααα α ααα»α ααααΆααα ααΎααααααΎαααααααααααΈαα½ααα αααα»ααααααααααΆαααααααΎααααααΆαααααααααααααα·ααΈαααα½ααααααΆαα Revit 2016α ααΎαααααΎαααααααααΌαααα αΆαααΆααα’αααααααΆααα·αααααΆααΆαααΎαααααααα½α ααααααα½αααα 2015 ααΆαα½αααΉαααα 2016α ααα»ααααα―αααΆα ααααΆαα 1.cs αα»αα ααααΈααααααααααΈα
α―αααΆααααααΆααααααΌααααααααΌαααΆα - ααααΆαα 1.cs - ααΎαααΆαααΆαα½α α αΎα α αΎαααΎαααααΆααααααααΌαααΆααααα αΌααααααααΆαααα ααΆαα αααα»αααααααααααΈαα½αα ααΆααα·ααΈααΈααααΆααααα»αααΆααααα αΌααααααααΆααα
- ααα - α α»α ααααα»αααααΆαααΎααααααα αΎαααααΎαααΎα "ααααααΒ»-> Β«ααΆαα»αααααΆαααααΆαα", αα αααα»ααααα’α½α αααααΎα αααααααα―αααΆααααααααΌαααΆα α αΎααααα½αα±αααααααΎα "αααααα"ααααΎαααΎααααααΎα"ααααααααΆααΆααααααΆααΒ»
- ααααΈα - αααααααΆαααα
αααα»ααααααα·ααΈααααααααααααααααΆα ααααΎαααΎαα―αααΆααααα
ααααΆα (α¬ααΌααααΈααα―αααΆα α¬ααΌααααΈααααααΆααααΌα) α αΎαα’αΌαααΆαα
αααα»αααααααααααΈααααααααααααααααΆααα
α»α
αααα½αα αα
αααα’αααα’αΌα α’αααααΉαααΎαααΆαα
αααα’αααα
α»α
ααααΆααα
α»α
αααα½α (Alt) ααααααααααα·α
ααααα»αααΉαααααΆααααααΌαααΈαααααΆααΌααα
ααΆαααααΆαααα½αα
UPSα αααα»αααΆαααααΎα±ααααΆαααΆααααααα ααα‘ααα·α αα½α αα αααα»ααααΆααααααα - ααΎααααΈαααααα―αααΆαααΆα αααΎαα’ααααα½ααααααα ααΆαααααΆααααααΌα + αααα½α!
αααααΆααααΈα’αα»ααααααΈαα·αα·ααΈααΎαααΉαααΆαα―αααΆααα αααα»αααααααααΈααΈα ααααΆαα 1.cs ααΆαα½αααΌαααααΆααααααααΌαααααΆ (αααα½ααααααα)α
αα αααααααααα½αααΌααα αααα»ααααα’α½α αααααα·ααΈαα·αααα α’αααααα’αΆα ααααΎαααΎαααα·ααααααααααΆαα½αααΎααααΈαααα αΆαααΌααα αααα»α αααααΉαα’αα»ααααΆαα±ααα’αααααΎαααΎαααΌαααααααα»αααααΌαααΆαααααααα½αααααααα·αα·ααααααααΆααΆαα αααααααΆαααααααααααααααααααΆα
ααΎααααααΎαααααααααααααααααΆααα’αα (2017-2020) αααααααΎαααααααΆααααααα ααΆα hack ααΈαα·α - ααααα·αααΎα’αααα’αΌαα―αααΆααα αααα»α Solution Explorer αα·ααααααααΈααααααααΌαααααΆααα ααα»ααααααααΈααααααααααα½αααααααΌαααΆααααα αΌαααΆαααααααΆαααα½α α αΎα α’ααααα·αα αΆαααΆα αααααααααααΆααα α»α Alt αα!
αααααΎααααααΆααα·αααααΆααΊααα’ααΆαααα αΌαααααααααααΆαααααααααααααααΈαααααααα·ααΈαααα½α α¬αα αΌαααααααααααΆαααααααα―αααΆαααααΈαα αααα»ααααααα - ααΆααα’αααααααΆαααααα»αααααΆααα α αΎαααααΈαααααααα»αααααΆααααααΉαααΈααααααααααααΆααΆααα’ααααΆαα½αααΉααααααααα½α α αΎαααΎααααα»ααααααα αα·ααΈααΈααΈα
αααααααααααΆαααααααα ααΆαααααααα
αααβααΆαβα’αΆαβα ααβαα βααΈααα α’αααβα’αΆα βααΉαβααΆααααΆααβααΆ βα ααα»βα’αααΈβααΆαβααΆβα’αααβαααααΆβα’αααΈβαα·ααΈβααΈβαα½α ααΎβα’αααααβαααβαα·ααΆαβα’αααΈβαα·ααΈβααΈβααΈαβααααΆαα?!β α αΎααααα»αααΆααααααΆα’αααΈα’αααΈααααααααΆαααΎααααΈααααΎα±ααααΆααΆααααα αααΆααααΆα ααα»α’αααΈααΆαααΆααΎαααααΌαααΆααα·αα·ααααααααΆα αααααααΆααααααααα αα·ααααααααααααααααααααααΎααα»αααααΆα α αΎαα₯α‘αΌαααα ααΆααΆααααα αααΆαααααααΆααααΎαααΌαααΆααα»αααααΆαα αααα»ααααααααααααΎαααααΌαα’αα»αααα ααααααααααα»ααααααααααα½αααα»αααααα
α αΎαααΎααααΈααααΎα±ααα’αααΈαααΆααααα αααΆαα ααΎαααΉααα·ααααααΎαααααααααααΈαα ααα»ααααααΉαααααΎααΆαααααΆααααααΌαα αααααααααααα αα α»ααααααααααααΎααααααΆααααααΎαααΆαααααααααΌαα
ααΌα αααα ααΆααααΌα ααΎαααααααααααΆααα’ααα ααααΈαααααααααΆα ααΎαααααααα (ααΆαα―αααΆααααααααΆαα)α ααΆαααααα αααααααααααΆαααααα 2016-2020 α ααΎαααα―αααΆαααΆαα½αααΉααααααααααΆα α αΎααα»αααα―αααΆαααααααααααΆααααααα ααΈαααα
ααΎαααΆααααααααα½αααααα ααααααα»αααΆααααααα α α·αααααααααΎα - MySuperPluginForRevit_2015. ααΎααααααααααααααα·ααααααΆ αα·αα
- αα ααΎααααΆααβαααααα·ααΈmsgstr "ααβαα αα ααβα ααβααΈβαααααβααΆαβαα½αβαα»α _2015 (ααΆααΉαα αααΆααααΆα ααα»α’αααΈαααααααα)
- αα ααΎααααΆααβααααα·ααΆαΒ» αααα·αα·ααααααααΆα αααααααΆααααααααα R2015 ααΈααΆααααααααΌαααααΆα
α αααΆαα ααααα α»αααααααααα»ααααα Visual Studio ααΆαααα α»α - αα·αα·ααααααααΆααΆαα αααααααΆααααααααααα·αααααΌαααΆααααα αΆααα αααα»ααααα’α½α ααααααααααααα·αααααααααααα αααααΈααΆαα½αααΆααΆααααααα ααααα·αααΎα’ααααα½αααααααααα αΆααα α’αααααααΌααα»ααα½αααΆα ααααΈα―αααΆα .csproj αααααα ααααααΆαααΆααααα ααΎααα ααααααΌαααααΎααΆααα αααα»αααΆ ααΌα ααααααΌαα’αΆαααααα
ααααΌαααααααααααααα αααα»ααααα’α½α Solution Explorer ααααααα αα ααα αα _2015 α αΎααααααΆααααααααααααα ααααΈαααααααααΆαα αααααΊα αΆαααΆα αααΎααααΈαααααΆαααααΆααααααΆαα αα·αα’αΆααααααααααα’ααααααααα’α₯αααα αα! ααΎαααΎαααα―αααΆααααααααααααΆαααααααΎα ααααΌαααααααααααααααα ααΈαααααΆαααααααΌα ααααΆ α αΎααααα»ααααααααααα‘αααα αααα»ααααααααααΆααα·αα
ααΎααααααα·ααΈαααααααααααΆααααααα ααΆαααααααα ααΆααααααααα’αΆαααα·α ααΆαα ααααααΆα ααΆαααααΆααα ααΆααΉααα·αααααΌαααΆααα ααΌα ααααααΎααα»αααΆα ααα ααΎααααααΎαααΆαααααααα ααΆααααααααααααΈααΆαα½αααΉαααααααααααααΆααααααΆααααΎααα½α α αΎα R2015, R2016,..., R2020. α αααΆαααΆα’ααααα·αα αΆαααΆα αα ααααααΆααααααααΈααΆαααααααααααααααα α αΎαα’ααααα·αα αΆαααΆα ααααααΎαααΆαααααααα ααΆααααααααααααααα
α αΌααα ααΆααααα―αααΆαααΆαα½ααααααα α αΎαααΎαα―αααΆααααααααΎααααααααααα .csproj αα αααα»ααααααα·ααΈαα·αααααααααΆααααα½ααααααΆααα’αααα ααααα·ααΈααα α’αααααα’αΆα ααΎαααΆαα αααα»α Visual Studio ααααα - α’αααααααΌαααααααααα αα α αΎααααααΆααααααΆαα»αααα ααααΆαααΉααααα·ααα αααα»ααααΊαα»αααα·ααα
ααΆαααααααα½ααα αααα»α Visual Studio ααΊααα’ααΆα αααααααΆαααααα·ααΈαα·ααααααΆααααΈααααααΉα αα·ααααα’αααααα αΌαα
αα
αααα»αα―αααΆαααΎαααΉαααΎαααΆαα»
αα ααΆααααΆαα»ααΌαα (ααΈαα½α) αααα»αα’α αααααααα α αΎαααΎααααααααααααααα· αααααααααα·ααΆα - αααααΊααΆααααααααααααΆ α αΎαααΎααα½αααααΆαααΆαααααααΆααα αα αα _2015. ααααα·αααΎααΆααα αα αααααααΆααααααααΆα ααα
αααααααααΆαα»αααααΆααααααααα
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
ααΎααα·αααααΌαααΆαααΆ - ααΎααα»αααΆα ααα
ααΆαα»ααΆαα½ααααααααα
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
ααΉαααααΌαααΆαααΎααααΈααααΎααΆααα ααααΆααααΆαααααΆαα’αα·ααααααααΌα αα·αααΆαααααΆααααα α»αα α’αααβα’αΆα βααααΆααααααΌαβααααααβαααααααα·βααααβααΆβααΎααααΈβαααααβααΆαβαααααΌαααΆαβααααβα’αααβ - αααααβααααΌαβααααααβαααααβααααΆβ ααααΆααααααΌαβαα·αα·ααααααααΆβα αααααβααΆαβααααααααβααα
α₯α‘αΌααααααΌααααααΎαααΆαα»ααααΈα αααα»αα’α αααααααα αααααΆααααΆαααααααα ααΆααααααααααααααΎαα αα αααα»αααΆαα»ααΆαααααααΎαααααΆααααααααΌαααααααααααααααααααα·α ααα½ααα½α:
- ααααΌαα αα - ααααααααα αααα»αααααααααααααααΆαααΎα binR20xx
- ααααααα·ααααα - αα·αα·ααααααααΆα αααααααΆαααααααααα ααααααα½αααααααΌαααΆααααααΆαα TRACE;R20Ρ Ρ
- TargetFrameworkVersion - αααααααα·ααΆα αααααααααααααΆαα Revit API ααΆαααΆαα±ααααΆαααΆααααααΆααααΌααααα·ααΆααααααααααΆα
- αααααααααα·ααΆα - αααααβααΆαβαα½αβααααα»αβααααΆ (α§ααΆα αααβαααααβα―αααΆαβ) α α’αααα’αΆα αααααααααααα·αααααΆααααααΆααα½αααααα»αααααΆ ααα»αααααααααΆααααΆααααααα αααα»αααΌαααααΆαα±αααααααααααα $(AssemblyName)_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 ααΆααα’ααα"α αΎαααΎαααΎαααΈααααααααααα ααααααααΎαααααΆααααααΌαα
α αΎααα ααααΆααααΆαααααααα»αααΆααααααΈαααα αα - ααΎααααΈαααααΌαααΆααααααααΆααα’αααααα»αααααααα½αααΎαα’αΆα ααααΎααΆααα½αααααα»αααααΆααΆααΆα α (αααΊαα»α "ααααα·ααΆαΒ»-> Β«ααΆαααααΆαααΆααΆα α") ααα»αααααα αααααααΌαααΆαααααα αααα αααα·αααααΌαααΆαααααΆααααααααααααααααα·ααα α αΎααα ααααααααΆααααα»αααααααααα αααα·αααΎαα‘αΎαααα αααααΈααΆααΆαααααΉααααΈααΆαα½αααα αααα»ααα·αααΆαααααΎααααααααααΆαα αααααααα αΆααααααααααΎαααααααΆααααααααΆαααα α αΎαααΆαα αααΎαααααααΆαααααααΆααα α»α Visual Studio αααααα
ααΌα
αααααααααΆααααΆααααα»αααΆααΆα
αααΆααααΌαααΆααααααα
α
α·αααααααΎααααααααααα‘αΎαααααααααααααα·αα·ααα
ααΌα ααααααΌαα αΌααα ααΆαααααααααααααααΆαααααααΎα (αα·αααααααααα) ααααααααααΆααα α»α ααΆαααααΆααααααΌα α αΎαα α»α ααααα»αααααΆαααΎα αααααααααα αααα»ααα - αααα»ααααΊαα»αααα·ααααααΎαααΎαααΆαα» "ααΎααααα’α½α PowerShell αα ααΈααα"α
ααααα·αααΎα’ααααα·αααΆαααα‘αΎαααΆααα nukeαααααΆαααααααααααΆααααααααΆααΆαα»ααα·α
dotnet tool install Nuke.GlobalTool βglobal
α₯α‘αΌααααααααΆααααααααΆ nuke α αΎαα’αααααΉαααααΌαααΆαααααα»αα±ααααααααα ααΆαααααααα nuke αααααΆαααααααααα αα α»ααααααα αααα»αβαα·αβααΉαβααΈβααααβαααααβαααβα±ααβααΆαβααααΉαβααααΌαβααΆβααΆααΆβαα»ααααΈβαα - ααΆβααΆααΆβα’ααααααα ααΆβααΉαβααααΌαβαααααβαα·αβα’αΆα βααβα―αααΆα .nukeα ααΎβα’αααβα ααβαααα αβααΆαβααΆααααβαα? [y/n]
α α»α ααααΆααα α»α Y α αΎααααααΆααααααΉαααΆαααΆαα»ααΆαααααααααααααΆααα ααΎαααααΌαααΆααααααΎαααααΆαααααααα»ααααααααΎ MSBuildααΌα ααααααΎαααααΎαααΌα αα αααα»αααΌαααα’ααααααα
ααααα Visual Studio αααααΉααααα»αα±ααααΎααααα»ααααααααααΆαα‘αΎααα·α α αΆααααΆααααΈααααααααααΈααααΌαααΆααααααααα ααΆα ααΎααααα»ααααααααααΆαα‘αΎααα·α α αΎαααΎαααΆααΎαααΆααααααα ααααΆαααΆ αααααΎαα αΆααα’αΆααααααααα―αααΆααα½αααα»ααααα - 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 αααα αΆαααΈαααααΌαααΆα ααααα . ααα»ααααααΎαααΆααα½αα ααααα αααααααΎαααΆαααΆαααααΆαααΎα)α αααααΆααααΈα α»α ααααΆααα α»α αααα αΌα ααΎαααΉαααΆαα’αΆααααααααΌα ααΆαα½α Hacker αα·αααααΆαα ααΈαααααααΌα ααΆαα αααα»αααΆααααα ααααααααααααΎαααΉαααααΌαααΆααααααΌααααα»ααααααααααααααααα·αααααΆααααΆαααααααα ααΆααααααααααααααα
ααααα·ααΈααα α’αααα’αΆα ααααΎ PowerShell αααααααΆααααΈ Visual Studio (αααΊαα»α ""αα·αααααΆαΒ»-> Β«αααα’α½α αααααααααΒ»-> Β«αα»αααΌαααααααααααααα αα") ααα»ααααα’αααΈααααααααΆαααΉαααΆαααααααα αα·αα ααααα·αααΆααααα½ααααααα
ααααααα ααα’ααααααααααααα»αα αααα»αααααΆααααΆα’αααα’αΆα ααααααααααααΎααααααΆαα AutoCAD ααααααα½αα―αα αααα»ααααααΉαααΆαααααΆαααααααΆααααα αΆααα ααΈαααααΉαααααΎα "α’αα·αα·αα" ααααααΆα
ααΌααα·αα·αααααΎα!
ααααα: www.habr.com