IKVM 8.2.0-prerelease2138

IKVM - Java Virtual Machine for .NET

Nuget GitHub

IKVM.NET is an implementation of Java for the Microsoft .NET Framework and .NET Core.

IKVM.NET includes the following components:

  • A Java virtual machine (JVM) implemented in .NET
  • A .NET implementation of the Java class libraries
  • A tool that translates Java bytecode (JAR files) to .NET IL (DLLs or EXE files).
  • Tools that enable Java and .NET interoperability
  • With IKVM.NET you can run compiled Java code (bytecode) directly on Microsoft .NET Framework or .NET Core. The bytecode is converted on the fly to CIL and executed.

Documentation

See the tutorial to get started or IKVM.NET In Details for a more in-depth look.

Support

  • .NET Framework 4.6.1 and higher
  • .NET Core 3.1 and higher
  • .NET 5 and higher
  • Java SE 8

IkvmReference

IKVM includes build-time support for translating Java libraries to .NET assemblies. Install the IKVM package in a project that wants to reference Java libraries. Use the IkvmReference ItemGroup to indicate which Java libraries your project required.

Example:

    <ItemGroup>
        <IkvmReference Include="..\..\ext\helloworld-2.0.jar" />
    </ItemGroup>

The output assembly will be generated as part of your project's build process. Additional metadata can be added to IkvmReference to customize the generated assembly.

  • Identity: The identity of the IkvmReference item can be either a) path to a JAR file b) path to a directory or c) an otherwise unimportant name.
  • AssemblyName: By default the AssemblyName is generated using the rules defined by the Automatic-Module-Name specification. To override this, do so here.
  • AssemblyVersion: By default the AssemblyVersion is generated using the rules defined by the Automatic-Module-Name specification. To override this, do so here.
  • DisableAutoAssemblyName: If true disables detection of AssemblyName.
  • DisableAutoAssemblyVersion: If true disables detection of AssemblyVersion.
  • FallbackAssemblyName: If AssemblyName is not provided or cannot be calculated, use this value.
  • FallbackAssemblyVersion: If AssemblyVersion is not provided or cannot be calculated, use this value.
  • Compile: Optional semi-colon separated list of Java class path items to compile into the assembly. By default this value is the Identity of the item, if the identity of the item is an existing JAR file or directory (not yet supported). MSBuild globs are supported to reference multiple JAR or .class files.
  • Sources: Optional semi-colon separated list of Java source files to use during documentation generation. (not yet supported)
  • References: Optional semi-colon separated list of other IkvmReference identity values to specify as a reference to the current one. For instance, if foo.jar depends on bar.jar, include both as IkvmReference items, but specify the identity of bar.jar on the References metadata of foo.jar.
  • Debug: Optional boolean indicating whether to generate debug symbols (non-portable). By default this is determined based on the overall setting of the project.
  • All other metadata supported on the Reference MSBuild item group definition.

IkvmReference is not transitive. Including it in one project and adding a dependency to that project from a second project will not result in the same reference being available on the second project. Instead add the reference to each project.

For each project to resolve to the same resulting assembly ensure their settings are identical.

    <ItemGroup>
        <IkvmReference Include="helloworld.jar">
            <AssemblyVersion>1.0.0.0</AssemblyVersion>
        </IkvmReference>
        <IkvmReference Include="helloworld-2.jar">
            <AssemblyName>helloworld-2</AssemblyName>
            <AssemblyVersion>2.0.0.0</AssemblyVersion>
            <References>helloworld.jar</References>
            <Aliases>helloworld2</Aliases>
        </IkvmReference>
    </ItemGroup>

Showing the top 20 packages that depend on IKVM.

Packages Downloads
gherkin
A fast lexer and parser for the Gherkin language based on Ragel
27
gherkin
A fast lexer and parser for the Gherkin language based on Ragel
26
QuantConnect.ToolBox
QuantConnect LEAN Engine: ToolBox Project - A collection of data downloaders and converters
26
gherkin
A fast lexer and parser for the Gherkin language based on Ragel
25
QuantConnect.Brokerages
QuantConnect LEAN Engine: Brokerages Project - A collection of brokerages for live trading and backtesting
25
QuantConnect.Brokerages
Lean Engine is an open-source, plataform agnostic C# and Python algorithmic trading engine. Allows strategy research, backtesting and live trading with Equities, FX, CFD, Crypto, Options and Futures Markets.
25
gherkin
A fast lexer and parser for the Gherkin language based on Ragel
24
QuantConnect.Brokerages
Lean Engine is an open-source, platform agnostic C# and Python algorithmic trading engine. Allows strategy research, backtesting and live trading with Equities, FX, CFD, Crypto, Options and Futures Markets.
24
gherkin
A fast lexer and parser for the Gherkin language based on Ragel
23
QuantConnect.Brokerages
Lean Engine is an open-source, plataform agnostic C# and Python algorithmic trading engine. Allows strategy research, backtesting and live trading with Equities, FX, CFD, Crypto, Options and Futures Markets.
23
gherkin
A fast lexer and parser for the Gherkin language based on Ragel
22

Version Downloads Last updated
8.15.0 48 12/11/2025
8.15.0-dev.46 31 12/12/2025
8.14.0 51 12/16/2025
8.14.0-tags-8-14-0-pre-1.1 30 12/21/2025
8.13.4 38 12/25/2025
8.13.3 33 01/03/2026
8.13.2 40 12/11/2025
8.13.1 44 12/15/2025
8.13.0 33 12/21/2025
8.12.0 32 12/23/2025
8.11.2 29 01/03/2026
8.11.1 50 12/10/2025
8.11.0 34 12/15/2025
8.11.0-pre.4 57 12/21/2025
8.11.0-pre.2 37 12/22/2025
8.11.0-pre.1 31 12/10/2025
8.10.3 25 12/15/2025
8.10.2 36 12/14/2025
8.10.1 38 12/20/2025
8.10.0 32 01/02/2026
8.10.0-pre.1 27 12/10/2025
8.9.1 23 12/21/2025
8.9.0 30 12/21/2025
8.9.0-pre.3 29 12/16/2025
8.9.0-pre.2 28 12/12/2025
8.9.0-pre.1 28 12/09/2025
8.8.1 45 12/11/2025
8.8.0 25 12/31/2025
8.8.0-pre.1 36 12/10/2025
8.7.6 29 12/11/2025
8.7.5 38 12/10/2025
8.7.4 35 12/15/2025
8.7.3 31 12/15/2025
8.7.2 31 12/10/2025
8.7.1 42 12/15/2025
8.7.0 24 12/21/2025
8.7.0-pre.3 39 12/19/2025
8.7.0-pre.2 25 12/15/2025
8.7.0-pre.1 32 12/31/2025
8.6.4 24 12/16/2025
8.6.3-tags-8-6-3-pre-24.1 32 12/14/2025
8.6.3-tags-8-6-3-pre-11.1 27 12/15/2025
8.6.2 31 12/16/2025
8.6.1 75 12/10/2025
8.6.0 44 12/30/2025
8.5.2 52 12/15/2025
8.5.1 28 12/10/2025
8.5.0 37 12/11/2025
8.5.0-prerelease0001 34 12/21/2025
8.5.0-develop2513 36 12/24/2025
8.5.0-develop1599 22 01/03/2026
8.5.0-develop0690 54 12/10/2025
8.4.5 28 12/31/2025
8.4.5-prerelease0001 36 12/14/2025
8.4.4 25 12/14/2025
8.4.4-prerelease0001 28 12/15/2025
8.4.3 30 12/15/2025
8.4.2 33 12/09/2025
8.4.1 28 12/25/2025
8.4.0 36 12/15/2025
8.4.0-prerelease0001 37 12/29/2025
8.3.3 55 12/15/2025
8.3.2 28 12/22/2025
8.3.1 24 12/09/2025
8.3.0 33 12/11/2025
8.3.0-prerelease0395 27 01/01/2026
8.3.0-prerelease0394 36 12/14/2025
8.2.3 31 12/21/2025
8.2.2-prerelease0856 23 12/20/2025
8.2.2-prerelease0553 36 12/21/2025
8.2.2-prerelease0396 27 12/31/2025
8.2.2-prerelease0241 28 12/22/2025
8.2.2-prerelease0163 27 12/11/2025
8.2.2-prerelease0106 30 12/31/2025
8.2.2-prerelease0051 26 12/30/2025
8.2.1 32 12/15/2025
8.2.0 19 12/21/2025
8.2.0-prerelease3420 45 12/19/2025
8.2.0-prerelease2777 24 12/16/2025
8.2.0-prerelease2138 25 12/21/2025
8.2.0-prerelease1515 27 12/30/2025
8.2.0-prerelease0911 33 12/17/2025
8.2.0-prerelease0899 39 12/17/2025
8.2.0-prerelease0892 23 12/23/2025
8.2.0-prerelease0809 31 12/16/2025
8.2.0-prerelease0392 28 12/17/2025
8.1.5717 40 12/11/2025
8.0.5449.1 45 12/15/2025
8.0.5449 36 12/15/2025
7.4.5196 49 12/21/2025
7.3.4830 24 12/15/2025
7.2.4630.5 21 01/02/2026
7.1.4532.2 22 12/17/2025
7.0.4335 35 12/12/2025
0.46.0.1 30 12/17/2025