Как вызвать файл dll из c # - PullRequest
       27

Как вызвать файл dll из c #

2 голосов
/ 03 августа 2011

Я пытаюсь вызвать файл dll из c #

Файл dll сделан из java-приложения, использующего ikvm, и на данный момент все, что делает код, это print hello world.

Как сделатья вызываю файл dll в моем коде c # и возможно ли создать приложение в java, которое будет возвращать логическое значение для моего кода c #?

Спасибо за ваше время.

Ответы [ 2 ]

1 голос
/ 03 августа 2011

Я не уверен, что понимаю, что вы пытаетесь сделать, поэтому прошу прощения, если я неправильно прочитал.IKVM должен перевести ваш Java-код в .NET DLL или исполняемый файл.После «перевода» вы должны иметь возможность использовать .dll более или менее так же, как если бы вы использовали «родной» код .NET.

Если в вашем Java-приложении есть метод main, который печатает »Привет мир "на консоли, вы должны были преобразовать его в исполняемый файл .NET (.exe), а не в DLL.После преобразования его в .exe (и при условии, что вы запускаете его в Microsoft .NET в системе Windows), вам нужно просто выполнить его.

Что касается второй части вашего вопроса, вы также можете создатьdll (преобразованный из Java), который возвращает логическое значение и использует его из приложения на C #.

См. в этом руководстве для двух примеров (в значительной степени точных) того, что вы делаете.

1 голос
/ 03 августа 2011
using System.Runtime.InteropServices;

Вы можете использовать

[DllImport("myjavadll.dll")]

Затем добавьте dll в качестве ссылки, щелкнув правой кнопкой мыши и перейдя к ней в папке ссылок.

EDIT:

Вот ссылка, которая вызывает C ++ dll для C #. Вы можете быть в состоянии решить это.

Позвоните на другие языки DLL

РЕДАКТИРОВАТЬ: у меня были проблемы с добавлением DLL в качестве ссылок и был вынужден добавить в качестве ресурса. Я полагаю, что это потому, что я работал с dll sys32.

Вот старый пост, где я пытался решить некоторые ошибки импорта DLL. Может быть, это будет полезно, если вы столкнетесь с некоторыми проблемами.

Старый пост

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...