Rhetos 6.0.0

Prefix Reserved
dotnet add package Rhetos --version 6.0.0
                    
NuGet\Install-Package Rhetos -Version 6.0.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Rhetos" Version="6.0.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Rhetos" Version="6.0.0" />
                    
Directory.Packages.props
<PackageReference Include="Rhetos" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Rhetos --version 6.0.0
                    
#r "nuget: Rhetos, 6.0.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Rhetos@6.0.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Rhetos&version=6.0.0
                    
Install as a Cake Addin
#tool nuget:?package=Rhetos&version=6.0.0
                    
Install as a Cake Tool

Rhetos - A DSL platform

Rhetos is a DSL platform for Enterprise Application Development. It extends the modern .NET technology stack with advanced programming paradigms: declarative programming, metaprogramming and AOP.

  • Rhetos enables developers to create a Domain-Specific Programming Language and use it to write their applications.
  • There are libraries available with ready-to-use implementations of many standard business and design patterns or technology integrations.

Rhetos works as a compiler that generates C# code, SQL, and other source files, from the application model written in the DSL scripts.

  • The generated application is a standard business application based on Microsoft .NET technology stack.
  • Rhetos is focused on the back-end development: It generates the business logic layer (C# object model), the database and the web API (REST, SOAP, etc.).
  • The database is not generated from scratch on each deployment, it is upgraded instead, protecting the existing data.

Rhetos comes with the CommonConcepts DSL package, a programming language extension that contains many ready-to-use features for building applications.

IntelliSense and syntax highlighting is available for Visual Studio, Visual Studio Code, SublimeText3 and Notepad++.

Documentation and samples

See Rhetos wiki for more information on:

Visit the project web site at rhetos.org.

License

The code in this repository is licensed under version 3 of the AGPL unless otherwise noted. Please see License.txt for details.

How to contribute

Contributions are very welcome. The easiest way is to fork this repo, and then make a pull request from your fork. The first time you make a pull request, you may be asked to sign a Contributor Agreement. For more info see How to Contribute on Rhetos wiki.

Building the source code

Note: Rhetos NuGet packages are already available at the NuGet.org online gallery. You don't need to build it from source in order to use it in your application.

To build the source, run Clean.bat and Build.bat. The build output files are NuGet packages in the dist subfolder.

Development and Testing

When Rhetos.sln is opened and built in Visual Studio, there are some "smoke test" projects (TestAppDirect*) that require a database connection. Additionally, running integration tests in test projects also requires database connections.

Initial setup (required for development and integration tests):

  • Create four empty MS SQL Server databases (for example, "Rhetos6EFCore", "Rhetos6EF6", "Rhetos6TestAppDirectMsSqlEfCore" and "Rhetos6TestAppDirectMsSqlEf6" on localhost SQL Server instance).
  • Create two empty PostgreSQL database (if needed, use test\TestAppDirectPostgreSql\setup postgresql db.bat that initializes the databases in a PostgreSQL container).
  • Create the corresponding six local setting files local.settings.json in the folders test\CommonConcepts.TestApp.MsSql, test\CommonConcepts.TestApp.MsSqlEf6, test\TestAppDirectMsSqlEfCore, test\TestAppDirectMsSqlEf6, test\TestAppDirectPostgreSql and test\CommonConcepts.TestApp.PostgreSql, with the following content, and modify the connection strings to match your database server instances and databases accordingly:
    {
      "ConnectionStrings": {
        "RhetosConnectionString": "Data Source=ENTER_SQL_SERVER_NAME;Initial Catalog=ENTER_RHETOS_DATABASE_NAME;Integrated Security=true;TrustServerCertificate=true"
        //For PosgreSQL// "RhetosConnectionString": "Host=localhost;Database=ENTER_RHETOS_DATABASE_NAME;Username=postgres"
      }
    }
    

To execute the unit tests and the integration tests after build, run Test.bat.

Visual Studio Solutions

Rhetos.sln contains the source for Rhetos framework and CommonConcepts plugins (a standard library for Rhetos DSL). It also contains unit tests for the projects.

CommonConceptsTest.sln contains the integration tests for DSL concepts in CommonConcepts. After changing the framework code in Rhetos.sln, you will need to run Build.bat and Test.bat, before you can develop the related integration tests in CommonConceptsTest.sln. CommonConceptsTest depends on Rhetos NuGet packages that are created and provide by those scripts.

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (20)

Showing the top 5 NuGet packages that depend on Rhetos:

Package Downloads
Rhetos.CommonConcepts

CommonConcepts is a DSL plugin package for Rhetos development platform. It provides an implementation of domain-specific programming language for business applications.

Rhetos.MSBuild

MSBuild integration with Rhetos CLI, for Rhetos DSL framework.

Rhetos.Host.Net

Rhetos extensions for .NET host applications.

Rhetos.Host.AspNet

Rhetos extensions for ASP.NET Core host applications.

Rhetos.AfterDeploy

Rhetos.AfterDeploy is a plugin for Rhetos development platform. It simplifies the handling of SQL scripts that need to be executed on each deployment.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
6.0.0 56 9/2/2025
5.5.0 280 4/16/2025
5.4.0 4,419 3/16/2023
5.3.0 2,259 9/21/2022
5.2.0 2,341 7/6/2022
5.1.0 2,352 4/8/2022
5.0.0 12,452 3/25/2022
4.3.0 2,864 3/5/2021
4.2.0 4,958 10/26/2020
4.1.0 3,351 9/23/2020
4.0.1 428 6/19/2020
4.0.0 8,607 5/14/2020
3.2.1 616 11/19/2020
3.2.0 952 9/23/2020
3.1.0 1,654 6/5/2020
3.0.1 851 11/22/2019
3.0.0 2,178 11/7/2019
2.13.0 397 11/24/2022
2.12.0 941 9/9/2019
2.11.0 995 1/31/2019
2.10.0 950 12/6/2018
2.9.0 1,186 9/21/2018
2.8.0 1,099 9/17/2018
2.7.0 1,411 6/27/2018
2.6.1 1,358 6/4/2018
2.6.0 1,184 6/1/2018
2.5.0 1,487 4/23/2018
2.4.0 1,271 12/20/2017
2.3.0 1,223 11/27/2017
2.2.0 1,196 10/31/2017
2.0.0 7,853 10/16/2017
1.10.0 1,651 8/11/2017
1.9.0 1,278 7/20/2017
1.8.0 1,272 6/30/2017
1.7.0 1,612 3/9/2017
1.6.0 1,319 2/27/2017
1.5.0 1,485 2/13/2017
1.4.0 1,413 12/13/2016
1.3.0 1,663 12/8/2016
1.2.1 2,962 11/10/2016
1.2.0 2,533 10/19/2016
1.1.0 1,655 9/16/2016
1.0.0 17,650 8/24/2016