You can build, migrate, and run MDriven applications on modern .NET by using .NET 8 targets, MDriven NuGet packages, and the Core editions of MDriven Turnkey and MDrivenServer.
Use .NET 8 for MDriven projects
For new development, target .NET 8 and use the MDriven NuGet packages rather than copying assemblies from an MDriven installation. MDriven focuses on long-term-supported .NET versions; the current recommended target described here is .NET 8.
A .NET project lets you extend an MDriven application with C# through CodeDress and integrate services that are not available in a standard MDriven application.
For example, when you create a console application that hosts MDriven logic, target .NET 8, install the required MDriven package from NuGet, add your expanded model file, and generate its C# code in Visual Studio. For the complete procedure, see HowTos:How To Create a .NET Core MDriven Project.
Create a .NET MDriven project
Use Visual Studio 2022 or later and the MDriven Visual Studio extension.
- Create a .NET console application targeting .NET 6 or later. Use .NET 8 for new projects.
- Install
MDriven.MVC.Corefrom NuGet. - In MDriven Designer, save the model as an expanded
.ecomdlfile: File â Save As, then select theecomdlsave type. - Copy the
.ecomdlfile and its related files into the Visual Studio project. - Ensure that an
Assets_TKfolder exists at the same folder level as the.ecomdlfile. This folder is required when you use CodeDress. - Open the
.ecomdlfile in Visual Studio and use code generation to generate C# files for all model classes. - Build the solution and resolve build errors before deployment.
- Upload the project to MDrivenServer. Assemblies are uploaded through the
Assets_TKfolder.
See HowTos:How To Create a .NET Core MDriven Project for requirements and the full project workflow.
Get MDriven packages from NuGet
Use NuGet as the versioned delivery mechanism for compiled MDriven code. The NuGet package identifies the exact package version; contained assemblies use a product version such as 7.1.0.0.
This versioning approach helps Visual Studio recognize an assembly used by your project as equivalent to an assembly already loaded by the MDriven Designer tools. It also avoids relying on assemblies copied from an installation directory.
MDriven packages are published at the MDriven NuGet profile. A package for .NET Core and .NET Standard is available at MDrivenCorenetStandard.
Run the Core editions
The Core editions provide MDriven Turnkey and MDrivenServer as .NET applications. Use them for local development and for deployments that use the .NET Core editions on Windows or Linux.
| Component | Purpose | Version information | Download pattern |
|---|---|---|---|
| MDriven Turnkey Core | Runs the MDriven Turnkey web application. | MDrivenTurnkeyOnCoreVersion.xml | https://mdriven.net/PublicDownloads/MDrivenTurnkeyCore_<TheVersion>.zip
|
| MDrivenServer Core | Runs MDrivenServer, which hosts the model and application services. | MDrivenServerOnCoreVersion.xml | https://mdriven.net/PublicDownloads/MDrivenServerCore_<version>.zip
|
To download a package:
- Open the component's version XML document.
- Copy the version stated in that document.
- Replace
<TheVersion>or<version>in the corresponding download pattern with that version. - Download and extract the ZIP file.
For example, resolve the Turnkey version from MDrivenTurnkeyOnCoreVersion.xml, then place that version after MDrivenTurnkeyCore_ and before .zip.
For Turnkey-specific setup details, including model data file placement, see Documentation:MDriven Turnkey Core. For local Server and Turnkey use, see LocalServers.
Move from .NET Framework 4.8
Move existing MDriven Visual Studio projects from .NET Framework 4.8 to .NET 8. The main migration work is often in the project file: modern .NET project files use a different format and include files in the project folder by default, rather than requiring explicit entries for every file.
- Back up application and user data before changing the application.
- Update the project target framework to .NET 8.
- Replace .NET Framework 4.8 MDriven package references or installation-directory assemblies with the appropriate .NET 8 MDriven NuGet packages.
- Update the project file and remove obsolete explicit file entries where the SDK-style project already includes those files.
- Build the project and resolve compilation errors.
- Prepare and test the Core hosting environment before restoring the application data.
MDriven does not identify general feature limitations between its .NET 8 and .NET Framework 4.8 versions. WCF is the exception: MDriven is not moving WCF forward and uses WebApi as the communication infrastructure instead.
The .NET 8 move also removes dependence on the Global Assembly Cache (GAC). The GAC can take precedence over assemblies on disk and can therefore make assembly loading difficult to diagnose. .NET 8 assemblies are not installed in the GAC.
For backup, hosting settings, restoration, and the complete migration procedure, see Documentation:Migrating From MDriven .NET Framework to .NET Core.
Certificates and local HTTPS
When you run Core applications locally over HTTPS, the machine needs a trusted developer certificate for the localhost port. Register or repair that certificate with the .NET SDK as described in Documentation:LocalhostDevCert.
For local HTTP testing, Core applications can be started with a no-HTTPS option where supported. Treat HTTP as a local-development choice; configure HTTPS appropriately for the environment that users access.
Run on Linux, WSL, macOS, or containers
The Core editions support the deployment paths used by local development and Linux environments. DLLs are platform-independent, but executables are not; a Linux distribution may require a runtime-specific publish step such as:
dotnet publish -r linux-x64 --self-contained false
For a Linux deployment, download the Linux Server and Turnkey distributions by resolving their versions from the same Core version XML documents:
https://mdriven.net/PublicDownloads/MDrivenServerCoreLinux_<version>.ziphttps://mdriven.net/PublicDownloads/MDrivenTurnkeyCoreLinux_<version>.zip
The extracted applications are started through the .NET runtime. A typical local Linux sequence starts MDrivenServer before Turnkey:
dotnet AppCompleteGenericCore.dll -port=5010 -nohttps
dotnet StreaminAppCoreWebApp.dll -port=5011 -nohttps
The Turnkey application must be configured to connect to the running MDrivenServer. Upload a model with MDriven Designer before expecting Turnkey to run an application; a Server without a model cannot provide the application model to Turnkey.
For WSL-specific prerequisites, known limitations, and Linux setup, see HowTos:Get Started with WSL (Windows Subsystem for Linux). For native macOS installation, see Documentation:MDriven Server & MDriven Turnkey On Native MacOs. For container configuration, see Documentation:Advanced Docker Compose Configuration for MDriven.
