Добавление файла JAR в библиотеку классов C # - PullRequest
1 голос
/ 18 января 2012

У меня есть библиотека классов C #, на которой работает jarFile

string args="java -jar jar.jar...";
ProcessStartInfo startInfo = new ProcessStartInfo("java.exe", args);
Process runProc = Process.Start(startInfo);

Но при использовании dll из приложения я обнаружил, что должен поместить файл jar в рабочий каталог приложения или указать полный путь.

Мне не нравятся оба варианта - путь absulote плох, и просить пользователя скопировать файл jar в свой рабочий каталог, чтобы использовать dll, неудобно.

Есть ли какой-нибудь альтернативный способ встраивания файла jar в библиотеку классов?

Ответы [ 4 ]

5 голосов
/ 18 января 2012

Вы можете добавить файл jar в свой проект и в свойствах файла установить для него content и Copy if newer.

Это скопирует его в выходную папку во время компиляции и обеспечит его распространение вместе с приложением.

Альтернативой является встраивание файла в качестве ресурса - это делает его частью исполняемого файла приложения и позволяет получить к нему доступ в приложении. Однако, чтобы выполнить его отдельно, вам нужно будет извлечь его и сохранить в файл.

0 голосов
/ 18 января 2012

вы можете встроить банку в библиотеку классов как встроенный ресурс.

затем, когда вам понадобится баночка, прочтите ее и запишите в локальный файл.

см. Этот другой вопрос о стековом потоке на чтение встроенного ресурса и запись в файл

0 голосов
/ 18 января 2012

Посмотрите на IVKM.Net.

Вы можете найти его здесь (ответ Scurial)

0 голосов
/ 18 января 2012

Если бы я оказался в такой ситуации, я бы попытался добавить файл * .jar, например ResouceПриветствия.

...