Meilleure façon simple d’appeler des assemblys .net en Java

Existe un moyen d’appeler des assemblys .net des fichiers .dll plus spécifiques en java?

Je suis en train de développer un cadre pour .net maintenant je dois le migrer vers java, je peux le faire? Je utilise c # dans .net.

Vérifiez si cette réponse est utile .. L’ appel de l’assemblage .net à partir de java jvm se bloque.

Je suis tombé sur ce site intéressant (peut ne pas vous être utile directement) …

dotnetfromjava.dev.java.net

Le moyen le plus simple devrait être d’activer COM pour l’assemblage .Net. De cette façon, vous pouvez appeler n’importe quelle méthode de la même manière que vous communiquez avec des DLL WIN32 normales.

Quelques exemples peuvent être trouvés ici: http://www.devx.com/interop/Article/19845

Il n’est pas nécessaire d’utiliser des objects COM et je ne recommanderais aucune solution personnalisée, ce serait comme réinventer la roue. Il y a beaucoup de cas spécifiques et de détails sur une telle intégration qui pourraient apparaître comme passer par “ref”, “out”, méthodes génériques etc.etc … le mieux que je puisse suggérer est d’utiliser JAVA to .NET bridge comme www .javonet.com .

Voici un court article sur cette solution: http://javabridges.hubpages.com/hub/Using-NET-libraries-from-JAVA-is-that-possible

Il existe également d’autres ponts de ce type, mais avec javonet, vous obtenez une API très simple: avec un seul fichier JAR, vous pouvez simplement copier votre dll .NET et l’appeler directement, sans aucune étape supplémentaire. Il prend en charge les exceptions .NET, la suppression d’objects, l’instance d’appel et les méthodes statiques, y compris les génériques, la définition / récupération de champs et bien plus encore … Vous travaillez avec des objects dll .NET en java comme s’ils étaient une classe JAVA native.

Usage Sample est comme:

//Sample Usage of .NET Random Class from JAVA using Javonet NObject dotNetRandom = Javonet.New("System.Random"); Integer randomNumber = dotNetRandom.invoke("Next",5,10); 

Veuillez noter que ce pont traduit automatiquement les résultats en types JAVA natifs si possible et de la même manière avec les arguments de méthodes. Vous trouverez de nombreux exemples dans le guide de démarrage rapide du site Web de Javonet.