Please enable JavaScript to view this site.

Altova UModel 2020 Enterprise Edition

Projects and Code Engineering

Importing Java, C# and VB.NET Binaries

Scroll Home Prev Top Next More

UModel supports the import of C# , Java and VB.NET binaries. This is extremely useful when working with binaries from a third party, or the original source code has become unavailable. Note the following:


To import Java binary files, a supported version of the Java Runtime Environment (JRE) or Development Kit (JDK) must be installed. Type import is supported for Java .class files or .jar class archives targeting these environments, i.e. adhering to the Java Virtual Machine Specification. It is also possible to import binaries targeting other Java Virtual Machines such as OpenJDK, SapMachine, Liberica JDK, and others, see Adding Custom Java Runtimes.

To import C# or VB.NET binary files, the .NET Framework or the .NET Core must be installed. Type import is supported for assemblies targeting .NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.6, .NET Core 2.1, and .NET Compact Framework v1.0, v2.0, v3.5 (for PocketPC, Smartphone, WindowsCE).

When importing .NET binaries, it is recommended to select the any (use disassembler) option on the import dialog box, see also Example: Import .NET Assemblies

The import of obfuscated binaries is not supported.


The table below lists the available approaches for importing binary types into a UModel project.




Import assembly file (.dll, .exe)

Import class file archive (.jar, .zip)

Import assembly from Global Assembly Cache (GAC)

Import class file (.class) from a package root folder

Import assembly from Visual Studio .NET References

Import class archives from class path

Import class archives from Java runtime*


* Not supported for Java 9 or later.


You can import binary files by running the Project | Import Binary Types menu command. Optionally, you can have UModel generate class and package diagrams from the imported types. For examples, see Example: Import .NET GAC Assemblies and Example: Import Java .class Files.


In addition, you can import binary files from the command line (see UModel Command Line Interface) and programmatically using the UModel API (see Importing Binary Types Programmatically).


When importing binary files into a UModel project, you can specify various import options, including:


You can import any referencing types, in addition to the types defined in the binary file. In addition, you can restrict importing referencing types to specific Java packages and .NET namespaces.

You can skip type members while importing. For example, you can import classes and interfaces without their properties and methods.

You can import types according to their accessibility modifiers (such as private or public). For example, you can import only public classes and skip private, protected, and internal classes.


For reference to all options, see Import Binary Options.

© 2020 Altova GmbH