



Нет, не можешь. Если вы не хотите использовать некоторые библиотеки "J #" (которые не похожи на Java) или ИКВМ, который является реализацией Java, работающей поверх .NET, но, как говорится в их документации:
IKVM.OpenJDK.ClassLibrary.dll: compiled version of the Java class libraries derived from the OpenJDK class library with some parts filled in with code from GNU Classpath and IcedTea, plus some additional IKVM.NET specific code.
Так что это не настоящая сделка.
Действительно, IKVM отлично справляется со своей задачей, если компоненты не основаны на AWT / Swing.
Ничего из коробки.
Большинство известных мне способов взаимодействия java / .net используют веб-службы.
Если вы можете создавать компоненты COM с помощью Java, вы можете использовать tlbimp для создания сборки взаимодействия для использования в VB.Net.
Если вы можете создавать стандартные библиотеки DLL, которые можно использовать из C++ с Java, вы можете писать объявления P / Invoke и вызывать их из VB.Net.
Если вы можете создать веб-службу с помощью Java, вы можете сгенерировать прокси-класс из WSDL и вызвать его из VB.Net.
В любом случае есть вероятность, что компонент Java будет жить в отдельном процессе. Я сомневаюсь, что вы сможете загрузить и виртуальную машину Java, и среду CLR в одном процессе.
Если у вас есть исходный код и вы скомпилируете его с помощью компилятора J #, то ответ - да. Если вы хотите вызвать какие-либо библиотеки, предшествующие Java 2 (также известные как 1.2), то они в значительной степени дословно включены с помощью J #. Однако более свежие вещи будут непростыми (то есть их там нет).
Примером коммерческого использования этого являются алгоритмы компоновки графов yFiles из yWorks. Первоначально это была просто библиотека Java, но в последние несколько лет они предлагали версию .NET, которая представляет собой просто версию Java, скомпилированную с помощью Visual J #.
Это не без проблем, и есть некоторые ограничения, которые нельзя обойти, но это можно сделать. Итак ... к сожалению, этот ответ тоже выглядит довольно сомнительным.
Вы можете вызвать Java из .NET, если вы обернете его в какую-либо форму, чтобы сделать его доступным, и самый простой способ обычно - использовать мост времени выполнения, например
Другой способ - обернуть ваш API Java-сервисами.
проверьте это также http://www.devx.com/interop/Article/19945
Вы можете использовать JNI для создания экземпляра виртуальной машины, а затем использовать классы Java. Однако это будет немного весело, потому что вам нужно будет использовать C++ в качестве моста между VB.Net и Java.
В этой статье в мире Java есть краткое руководство по использованию Java из C++ и наоборот.
http://www.javaworld.com/javaworld/javatips/jw-javatip17.html
Если у вас есть исходный код, Visual Studio позволит вам преобразовать код Java в C#.
Я являюсь автором jni4net, межпроцессного моста с открытым исходным кодом между JVM и CLR. Он построен на базе JNI и PInvoke. Код C / C++ не требуется. Надеюсь, это вам поможет.
+1 для IKVM, мы используем его для приятного взаимодействия между нашим .NET UI и сервером Java через заглушки RMI, обернутые сборками IKVM.