Проект представляет собой большой проект C#, который используется для тестирования -автоматизация. Для этой цели я должен использовать java-инструмент, который сохраняет все результаты в файл, который можно загрузить в тестовую среду.
Я получил DLL от поставщика тестовой среды, которая построена на C++, эта DLL загружает среду java и загружает файлы jar.
Среда java загружается успешно, она настроена с помощью переменных среды, установленных в C#, с помощью этого метода:
String java = GetJavaInstallationPath();
Environment.SetEnvironmentVariable("PATH", String.Format("{0};{1}", Environment.GetEnvironmentVariable("PATH"), Path.Combine(java, @"bin\client")), EnvironmentVariableTarget.Process);
После этого я устанавливаю путь к классам java, используя этот код:
Environment.SetEnvironmentVariable("ITEPCLASSPATH",
String.Format("{0};{1}",
Path.Combine(iTepPath, "itep.jar"),
Path.Combine(iTepPath, "libs\\itorx.jar")), EnvironmentVariableTarget.Process);
Который на самом деле должно работать, оно показывает правильное значение при использовании Environment.GetEnvironmentVariable("ITEPCLASSPATH")
, но C++-DLL сообщает мне, что это не работает.
При установке пути к классу с помощью внешнего bat-файла работает. Еще немного фактов:
] Кажется, что java не обращается к переменной env., которую я установил в C#, но распознает, что я установил ее в файле bat.
Мне действительно нужно установить переменную через C#, как мне это заархивировать?