该项目
该项目是一个用于测试自动化的大型 C# 项目。为此,我必须使用 java-tool,它是将所有结果保存到可以加载到测试环境中的文件中的工具。
界面
我从 C++ 中构建的测试环境供应商处获得了一个 DLL,该 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 文件设置类路径时,它可以工作。更多事实:
- 应用程序由bat文件启动
- 该路径是从我生成的 dll 路径中复制的
- 我没有评论任何东西,所以路径仍然由 C# 设置
似乎 java 没有访问我在 C# 中设置的 env.-variable,但认识到我在 bat 文件中设置了它。
我真的需要通过 C# 设置变量,我该如何存档?