更改特定静态绑定程序集的工作目录

本文关键字:工作 程序集 静态绑定 | 更新日期: 2023-09-27 18:34:37

>我在项目设置中引用了一个外部程序集DLL(说它安装在c:''ABC(。当我从该程序集调用导出的方法时,出现运行时错误。因为它正在查找文件 c:''ABC''abc.ini而.exe工作目录位于其他位置。

如何仅"愚弄"当前工作目录位于 c:''ABC 的程序集?

更改特定静态绑定程序集的工作目录

假设您无法控制该外部程序集(即您无法修改其代码(,那么您唯一能做的就是用以下命令包装对该程序集的所有调用:

var currentDir = Environment.CurrentDirectory;
Environment.CurrentDirectory = @"c:'ABC";
try
{
    // call that external assembly
}
finally
{
    Environment.CurrentDirectory = currentDir;
}