C# 在C中使用不同的DLL路径启动进程#
我正在使用Process.Start(“MyProcess.exe”)函数启动进程 “MyProcess.exe”使用DLL。Exe和DLL位于同一文件夹中 我已修改此DLL并将其定位到具有相同名称的不同路径中 在某些情况下,我想用修改过的DLL启动MyProcess.exe,但不想删除原始DLL 我的Exe应该使用位于不同文件夹的秒DLL,而不应该使用位于同一文件夹的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"]
processStartInfo.EnvironmentVariables["PATH"] = "PATH_B;" + processStartInfo.EnvironmentVariables["PATH"];
processStartInfo.WorkingDirectory = Path.GetDirectoryName("PATH_B");
processStartInfo.UseShellExecute = false;
myProcess = Process.Start(processStartInfo);
由于内置,系统始终按以下顺序搜索目录:
- 从中加载应用程序的目录
- 系统目录
- 16位系统目录
- Windows目录
- 当前目录
- PATH环境变量中列出的目录
在MyProcess.exe的配置文件中,如果是.Net,则DLL是.Net DLL还是本机DLL?您可以通过应用程序配置文件将编译时绑定重定向到其他程序集。看看