Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在C中使用不同的DLL路径启动进程#_C#_Dll_Environment Variables - Fatal编程技术网

C# 在C中使用不同的DLL路径启动进程#

C# 在C中使用不同的DLL路径启动进程#,c#,dll,environment-variables,C#,Dll,Environment Variables,我正在使用Process.Start(“MyProcess.exe”)函数启动进程 “MyProcess.exe”使用DLL。Exe和DLL位于同一文件夹中 我已修改此DLL并将其定位到具有相同名称的不同路径中 在某些情况下,我想用修改过的DLL启动MyProcess.exe,但不想删除原始DLL 我的Exe应该使用位于不同文件夹的秒DLL,而不应该使用位于同一文件夹的DLL 我尝试过以下代码,但对我无效 processStartInfo.EnvironmentVariables["PATH"]

我正在使用Process.Start(“MyProcess.exe”)函数启动进程

“MyProcess.exe”使用DLL。Exe和DLL位于同一文件夹中

我已修改此DLL并将其定位到具有相同名称的不同路径中

在某些情况下,我想用修改过的DLL启动MyProcess.exe,但不想删除原始DLL

我的Exe应该使用位于不同文件夹的秒DLL,而不应该使用位于同一文件夹的DLL

我尝试过以下代码,但对我无效

processStartInfo.EnvironmentVariables["PATH"] = "PATH_B;" + processStartInfo.EnvironmentVariables["PATH"];

processStartInfo.WorkingDirectory = Path.GetDirectoryName("PATH_B");
processStartInfo.UseShellExecute = false;

myProcess = Process.Start(processStartInfo);
由于内置,系统始终按以下顺序搜索目录:

  • 从中加载应用程序的目录
  • 系统目录
  • 16位系统目录
  • Windows目录
  • 当前目录
  • PATH环境变量中列出的目录

如果DLL的版本与您使用的版本不同


在MyProcess.exe的配置文件中,如果是.Net

,则DLL是.Net DLL还是本机DLL?您可以通过应用程序配置文件将编译时绑定重定向到其他程序集。看看