NuGet Packages¶
NuGet access¶
The DHI MIKE OPERATIONS API for Managers, Tools, Adapters and Providers are available as NuGet packages on the internal DHI NuGet Package feed on Azure.
The NuGet packages can be used directly from within Visual Studio, adding the package source https://dhi-nuget-server.azurewebsites.net/nuget
All MIKE OPERATIONS NuGet package names contain the DHI.MikeOperations prefix.

Visual Studio Package Manager
Versioning¶
The version of the NuGet packages has Semantic versioning. The versions follow the versions of MIKE OPERATIONS releases This means that the version of a NuGet package reflects the dll file versions of both MIKE OPERATIONS and the file versions of the NuGet package.
Note
Note that only NuGet packages of public releases of MIKE OPERATIONS will be released. This means that NuGet packages of internal/preview releases (.1 and .3) will not be available.
| MO Release | Package version | Released | Headlines |
|---|---|---|---|
| 2024 | 14.0 | November 2023 | - Security Enhancements - Support for multiple Python installations. - DevOps and GitHub script providers now support using Git branches. - Back to IronPython 2.7.12. |
| 2023.3 (obsolete) | N/A | August 2023 | - Security Enhancements - Support for temporal feature classes. - HEC-RAS model adapter enhancements. - FEFLOW adapter enhancements. - IronPython scripts has been upgraded to Python v3 (BREAKING CHANGE). - Script Providers for Azure DevOps and GitHub. |
| 2023.2 | N/A | May 2023 | - Security Enhancements - DHI Data Catalog Download Tool. - GIS Import tools on .NET Standard 2.0 - FEFLOW adapter enhancements and performance improvements. - Additional tools and providers added to the Cloud Platform container used for running jobs in the DHI Cloud Platform. |
| 2023.1 | N/A | February 2023 | - Managers on .NET 6 for Windows - ELSA Workflow Provider - DFSU Provider - Global Dataset Tool - ELSA Workflow Provider |
| 2023 | 13.0 | November 2022 | - DHI Platform Job Service Integration - MIKE Workbench UI brush-up - More modules and tools on .NET Standard 2.0 - ELSA Workflow Provider - New MIKE+ model adapter |
| 2022.1 | 12.1 | May 2022 | - Cross Platform (Linux) - Docker containers - Cloud Engine Execution - Full set of NuGet packages |
| 2022 | 12.0 | November 2021 | - Selected NuGet packages - .NET Standard 2.0 |
For headlines for release 2024.1 and later, please refer to the release notes of the version in the user documentation.
Given a version number MAJOR.MINOR.PATCH, increment the:
- MAJOR version when a new major version of MIKE OPERATIONS is released depending on a new major version of MIKE Zero.
- MINOR version when a update version of MIKE OPERATIONS (and MIKE Zero) is released.
- PATCH version when a backwards compatible bug fix is released.
Cross-Platform¶
Even though the MIKE OPERATIONS application (the MIKE Workbench user interface) is targeting the .NET Framework, most MIKE OPERATIONS module NuGet packages are targeting both .NET Standard 2.0 and .NET Framework 4.7.2.
This means that the MIKE OPERATIONS API can be build and run on any Platform supported by .NET 5.0 or later and can be used in e.g., Docker containers using Linux base images.
MIKE OPERATIONS NuGet packages has been tested in Docker Containers based on Debian Linux Bullseye base images from Microsoft.
mcr.microsoft.com/dotnet/runtime:6.0-bullseye-slimmcr.microsoft.com/dotnet/sdk:6.0-bullseye-slim
But will also work with .NET 5.0 images from the Microsoft Container Registry (MCR).
mcr.microsoft.com/dotnet/runtime:5.0-buster-slim AS basemcr.microsoft.com/dotnet/sdk:5.0-buster-slim AS build
Using Visual Studio¶
NuGet packages can e.g., be installed using the Visual Studio package manager when using Visual Studio projects.
Simply add a new package source to Visual Studio specifying the following source http://dhi-nuget-server.azurewebsites.net/nuget.
When using Visual Studio projects, it is important to specify the following.
- Platform target
- Target framework
- Runtime identifier
Platform Target¶
All MIKE OPERATIONS NuGet packages requires the platform target x64.
Make sure that platform target x64 is specified on projects installing MIKE OPERATIONS NuGet packages.
Target Framework¶
Target framework specifies the set of APIs to make available to the app or library.
- net6.0
- net6.0-windows
- net472
- netstandard2.0
Note
Note that specifying runtime identified are required for all target frameworks but net472.
MIKE OPERATIONS NuGet packages aims to support the latest long term support frameworks from Microsoft (.NET 6.0, .NET 8.0 etc).
Runtime Identifier¶
Runtime Identifier (RID) specifies target platforms where the application runs. RID is used by .NET packages to represent platform-specific assets in the project and NuGet packages used.
When building a project, MIKE OPERATIONS .deploy files for generating the runtime.config file are copied to the output folder depending on the runtime identifier, as deploy files can be different depending on the platform used.
Please specify one of the following x64 options..
- linux-x64
- win-x64
Note
Note that for Target Framework equals net472 (.NET Framework), specifying runtime identifier is not required as the runtime will always be win-x64.
Project file sample¶
The project file sample below, shows a project targeting .NET 6.0 and running on the Windows platform.
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net8.0</TargetFramework>
<GeneratePackageOnBuild>false</GeneratePackageOnBuild>
<CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies>
</PropertyGroup>
<PropertyGroup>
<PlatformTarget>x64</PlatformTarget>
<RuntimeIdentifier>win-x64</RuntimeIdentifier>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="DHI.MikeOperations.TimeseriesManager" Version="15.0.0" />
<PackageReference Include="DHI.MikeOperations.TimeseriesManager.Provider.MikeCloud" Version="15.0.0" />
<PackageReference Include="Npgsql" Version="5.0.18" />
</ItemGroup>
</Project>
Managers Packages¶
Manager packages provides CRUD operations on the various data types supported by each manager. Note the supported target framework on each NuGet package.
- Document Manager (DHI.MikeOperations.DocumentManager)
- Event Manager (DHI.MikeOperations.EventManager)
- Favorite Manager (DHI.MikeOperations.FavoriteManager)
- GIS Manager (DHI.MikeOperations.GISManager)
- Indicator Manager (DHI.MikeOperations.IndicatorManager)
- Job Manager (DHI.MikeOperations.JobManager)
- Metadata Manager (DHI.MikeOperations.MetadataManager)
- Operations Manager (DHI.MikeOperations.OperationsManager)
- Places Manager (DHI.MikeOperations.PlacesManager)
- Report Manager (DHI.MikeOperations.ReportManager)
- Scenario Manager (DHI.MikeOperations.ScenarioManager)
- Script Manager (DHI.MikeOperations.ScriptManager)
- Spreadsheet Manager (DHI.MikeOperations.SpreadsheetManager)
- System Manager (DHI.MikeOperations.SystemManager)
- Time Series Manager (DHI.MikeOperations.TimeseriesManager)
Providers¶
Providers in MIKE OPERATIONS provides access to data stored in other data sources like the MIKE Cloud Platform, DIMS CORE.
The MIKE OPERATIONS provider NuGet package are prefixed with DHI.MikeOperations.Manager.Provider.
E.g.
- DHI.MikeOperations.TimeseriesManager.Provider.MikeCloud
- DHI.MikeOperations.GISManager.Provider.MikeCloud
Adapters¶
The scenario manager of MIKE OPERATIONS can store and execute most DHI engines as well as a selections of 3rd party engine.
The MIKE OPERATIONS adapter NuGet package are prefixed with DHI.MikeOperations.Manager.Adapters.
The following engine adapters are available as NuGet packages.
- DHI.MikeOperations.ScenarioManager.Adapters.EPANET
- DHI.MikeOperations.ScenarioManager.Adapters.FEFLOW
- DHI.MikeOperations.ScenarioManager.Adapters.Generic
- DHI.MikeOperations.ScenarioManager.Adapters.GoldSim
- DHI.MikeOperations.ScenarioManager.Adapters.HECRAS
- DHI.MikeOperations.ScenarioManager.Adapters.MIKE11
- DHI.MikeOperations.ScenarioManager.Adapters.MIKE1D
- DHI.MikeOperations.ScenarioManager.Adapters.MIKE21FM
- DHI.MikeOperations.ScenarioManager.Adapters.MIKEFlood
- DHI.MikeOperations.ScenarioManager.Adapters.MIKEHydroBasin
- DHI.MikeOperations.ScenarioManager.Adapters.MIKEHydroRiver
- DHI.MikeOperations.ScenarioManager.Adapters.MIKESHE
- DHI.MikeOperations.ScenarioManager.Adapters.NWS
- DHI.MikeOperations.ScenarioManager.Adapters.SWAT
- DHI.MikeOperations.ScenarioManager.Adapters.WEAP
Tools¶
Each manager contains a range of tool packages. Each package bundles a range of tools. A single tool focuses on a single action like resampling a time series or clipping a GIS feature set to a specified boundary.
The MIKE OPERATIONS NuGet package tools bundles are prefixed with DHI.MikeOperations.Manager.Tools.
A selection of the packages are listed below.
- DHI.MikeOperations.TimeseriesManager.Tools.AdvancedStatistics
- DHI.MikeOperations.TimeseriesManager.Tools.BasicStatistics
- DHI.MikeOperations.TimeseriesManager.Tools.ImportTools
- DHI.MikeOperations.TimeseriesManager.Tools.Processing
- DHI.MikeOperations.TimeseriesManager.Tools.MikeCloudUpload
- DHI.MikeOperations.TimeseriesManager.Tools.TimeseriesExport