HTAlt (formerly HaltroyFramework) (stands for "Haltroy's Alternatives") is a library that contains tools to make developing easier. HTAlt also contains elements for user interface designing in some of the packages.

HTAlt is used in projects like MyPlay, Korot, Playtroy, Yorot, HTU-Man and Backupster and this list might expand over time.

HTAlt is still in beta phrase, which means it can change over time. This also means that only the last versions of each package is supported. 

HTAlt can be used in any .NET language (Visual Basic, C# etc.) with the exception of WinForms packages which can only be installed on a Windows Forms projects in .NET Framework, .NET Core and .NET 5 and newer. 


HTAlt can be installed by using NuGet.
 - NuGet Package Manager: PM> Install-Package HTAlt.Standart
 - .NET Command-Line: dotnet add package HTAlt.Standart
 - Visual Studio Any (except Code): Right-Click on the Project and press "Nuget Package Manager", then search for "HTAlt".

To install WinForms package, developers need to follow either steps but for HTAlt.WinForms package this time. The WinForms packages do need the Standart package, so WinForms package should be installed. Some IDEs such as Visual Studio installs both of them at the same time.

Previous versions of HTAlt can be installed on projects by adding them as a reference in Visual Studio Any (except Code) but this method is not recommended, which also those versions.

If the developer wants, they can simply take the source code and use it in their project alongside. However, this method is not supported since the master branch of HTAlt might include faulty code that is not ready to use.


To use HTAlt, you have to install it first.
HTAlt can be used by adding a text on top of classes:
 - C#: using HTAlt;
 - Visual Basic: Imports HTAlt

To use WinForms package too, add another line like this:
 - C#: using HTAlt.WinForms;
- Visual Basic: Imports HTAlt.WinForms

The API documentation for HTAlt covers everything. You can check it out in here.

Standart & WinForms

In beta version b1.4, HTAlt was divided into 2 different packages to make HTAlt somewhat cross-platform. HTAlt.Standart was made for cross-platform use and only included Tools, Extensions and other non-UI stuff. HTAlt.Standart still uses .NET Standard 2.0. The misspelling name was kind of intentional ("Standart" means "Standard" in Turkish) and only left as it is so there won't be another package in the systems sitting right next to the misspelled package. HTAlt.Standart can be used in every .NET project type that supports .NET Standard 2.0 or newer. See this documentation to learn which frameworks are supported.

HTAlt.WinForms contained controls that are used in Windows Forms form designing which is only available for Microsoft Windows platform. So that is the reason why HTAlt.WinForms can only be installed in 3 different frameworks; .NET Framework, .NET Core 3.1, .NET 5 and newer. HTAlt.WinForms started supporting .NET Core 3.1, .NET 5 and newer in beta version b1.7 and newer, this means that the old versions are only available for .NET Framework projects.

Building from source

To build HTAlt from source, you need these:
 - A Git Manager program (such as git or GitHub Desktop) or a web browser
 - .NET SDK:
    - To build HTAlt.Standart only: .NET Core 3.1 or newer SDK is required.
    - To build both HTAlt.Standart and HTAlt.WinForms.Core: .NET Core 3.1 or newer SDK is required.

    - To build all: Visual Studio 2019 Any (except code) or newer with ".NET desktop development" and "Cross-platform .NET development" workflows installed.

 - Internet connection (for downloading the source code).

Getting code

Using git:

>git clone

Using GitHub Desktop: Press "File" on top menu then click "Clone a repository". Then click on "Url" tab and enter "haltroy\HTAlt".

Using a web browser: >Go to the GitHub page and press "Download" button. Then click on "Download ZIP" and save it anywhere you like. Then extract it where ever you want. You might want to change branch from main to latest version by clicking on the branch button and selecting the latest version from the Tags menu.


Using dotnet: Enter the any of the package folder with command line and execute either dotnet build or dotnet publish. Documentation of those commands are available on them.

Using Visual Studio: Open the solution file and change "Debug" to "Release" on top menu. Then right-click on solution on the right solution viewer menu and press "Build Solution".

In both methods, the libraries should be inside bin/Release/AnyCPU folder of the packages.

2021 haltroy