Importing Java, C# and VB.NET Binaries Print this Topic Previous Page Up One Level Next page

Home >  Projects and Code Engineering >

Importing Java, C# and VB.NET Binaries

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, the Java Runtime Environment (JRE), or Development Kit (JDK) version 1.4, 5.0, 6, 7, 8, 9, 10, 11, 12 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 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).
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.

© 2019 Altova GmbH