The dotNet4Java is a .Net Runtime Library for Java which helps Java developers work with .Net framework and 3rd party libraries in Java with ease. It is designed to provide a way to interact with applications written in anyone of the .Net languages (such as C#, Visual Basic.Net, Delphi.Net, JScript.Net, etc) from Java. What dotNet4Java can do: - Access .Net Framework Class Library. - Access 3rd Party .Net Libraries. - Hosts the .Net Common Language Runtime (CLR) in Java. - Can load and access assemblies/types from 3rd party .Net libraries or executable files. - Can load and access .Net assemblies/types from Global Assembly Cache (GAC) - Can invoke members of a .Net types (such as constructor, fields, properties, methods and events). - Can create instance of .Net object. - Can handle .Net exceptions. - Can handle, access and invoke .Net events. Competitive Advantages - Full access to .Net Framework Class Library (Including new and emerging .NET technologies). - dotNet4Java is single jar file that can be very easily added to any type of Java project EJB, applet, desktop, console or service. - dotNet4Java JAR can be easily added to artefacts repository like maven or ivy. - There is no configuration required and no external tools installation needed. Project can be moved shared across developer and build & test machines with just granting access to source code and transitioned to production within the main application archive. - Allows Java to consume .Net libraries as if they were native code. - When it comes to advanced libraries which use complex objects as method arguments, results, utilize event, callbacks and asynchronous invocation many alternatives become unacceptable whereas dotNet4Java starts to shine with intuitive and easy way of working with such objects almost like using single technology stack. - Lightweight and easy to use. - There are tools to import and generate .Net Libraries into Java class files.