Skip to content

ricaun-io/RevitVersion.DefineConstants

Repository files navigation

RevitVersion.DefineConstants

Revit 2017 Visual Studio 2022 Nuke License MIT Build Release

Convert RevitVersion property to DefineConstants with version 2017 to 2025 with or-greater-defines.

Installation

<PackageReference Include="RevitVersion.DefineConstants" Version="*-*" />
RevitVersion Define Define with or-greater
2017 REVIT2017 REVIT2017_OR_GREATER
2018 REVIT2018 REVIT2018_OR_GREATER, REVIT2017_OR_GREATER
2019 REVIT2019 REVIT2019_OR_GREATER, REVIT2018_OR_GREATER, REVIT2017_OR_GREATER
2020 REVIT2020 REVIT2020_OR_GREATER, REVIT2019_OR_GREATER, REVIT2018_OR_GREATER, REVIT2017_OR_GREATER
2021 REVIT2021 REVIT2021_OR_GREATER, REVIT2020_OR_GREATER, REVIT2019_OR_GREATER, REVIT2018_OR_GREATER, REVIT2017_OR_GREATER
2022 REVIT2022 REVIT2022_OR_GREATER, REVIT2021_OR_GREATER, REVIT2020_OR_GREATER, REVIT2019_OR_GREATER, REVIT2018_OR_GREATER, REVIT2017_OR_GREATER
2023 REVIT2023 REVIT2023_OR_GREATER, REVIT2022_OR_GREATER, REVIT2021_OR_GREATER, REVIT2020_OR_GREATER, REVIT2019_OR_GREATER, REVIT2018_OR_GREATER, REVIT2017_OR_GREATER
2024 REVIT2024 REVIT2024_OR_GREATER, REVIT2023_OR_GREATER, REVIT2022_OR_GREATER, REVIT2021_OR_GREATER, REVIT2020_OR_GREATER, REVIT2019_OR_GREATER, REVIT2018_OR_GREATER, REVIT2017_OR_GREATER
2025 REVIT2025 REVIT2025_OR_GREATER, REVIT2024_OR_GREATER, REVIT2023_OR_GREATER, REVIT2022_OR_GREATER, REVIT2021_OR_GREATER, REVIT2020_OR_GREATER, REVIT2019_OR_GREATER, REVIT2018_OR_GREATER, REVIT2017_OR_GREATER

Example

RevitVersion 2024

<PropertyGroup>
  <RevitVersion>2024</RevitVersion>
</PropertyGroup>

Generate DefineConstants:

<PropertyGroup>
  <DefineConstants>$(DefineConstants);REVIT2024</DefineConstants>
  <DefineConstants>$(DefineConstants);REVIT2024_OR_GREATER;REVIT2023_OR_GREATER;REVIT2022_OR_GREATER;REVIT2021_OR_GREATER;REVIT2020_OR_GREATER;REVIT2019_OR_GREATER;REVIT2018_OR_GREATER;REVIT2017_OR_GREATER</DefineConstants>
</PropertyGroup>

Sample

public class Revit
{
#if REVIT2025
    public class Revit2025 { }
#endif
#if REVIT2024
    public class Revit2024 { }
#endif
#if REVIT2023
    public class Revit2023 { }
#endif
#if REVIT2022
    public class Revit2022 { }
#endif
#if REVIT2021
    public class Revit2021 { }
#endif
#if REVIT2020
    public class Revit2020 { }
#endif
#if REVIT2019
    public class Revit2019 { }
#endif
#if REVIT2018
    public class Revit2018 { }
#endif
#if REVIT2017
    public class Revit2017 { }
#endif

#if REVIT2025_OR_GREATER
    public class Revit2025OrGreater { }
#endif
#if REVIT2024_OR_GREATER
    public class Revit2024OrGreater { }
#endif
#if REVIT2023_OR_GREATER
    public class Revit2023OrGreater { }
#endif
#if REVIT2022_OR_GREATER
    public class Revit2022OrGreater { }
#endif
#if REVIT2021_OR_GREATER
    public class Revit2021OrGreater { }
#endif
#if REVIT2020_OR_GREATER
    public class Revit2020OrGreater { }
#endif
#if REVIT2019_OR_GREATER
    public class Revit2019OrGreater { }
#endif
#if REVIT2018_OR_GREATER
    public class Revit2018OrGreater { }
#endif
#if REVIT2017_OR_GREATER
    public class Revit2017OrGreater { }
#endif
}

License

This project is licensed under the MIT Licence.


Do you like this project? Please star this project on GitHub!