【发布时间】:2015-02-18 00:04:28
【问题描述】:
我在项目设置中引用了一个外部程序集 DLL(说它安装在 c:\ABC)。当我从该程序集中调用导出的方法时,出现运行时错误。因为它正在寻找文件 c:\ABC\abc.ini 而 .exe 工作目录位于其他位置。
如何仅“欺骗”当前工作目录位于 c:\ABC 的程序集?
【问题讨论】:
标签: c# .net dll .net-assembly
我在项目设置中引用了一个外部程序集 DLL(说它安装在 c:\ABC)。当我从该程序集中调用导出的方法时,出现运行时错误。因为它正在寻找文件 c:\ABC\abc.ini 而 .exe 工作目录位于其他位置。
如何仅“欺骗”当前工作目录位于 c:\ABC 的程序集?
【问题讨论】:
标签: c# .net dll .net-assembly
假设您无法控制该外部程序集(即您无法修改其代码),您唯一能做的就是将对该程序集的所有调用包装为:
var currentDir = Environment.CurrentDirectory;
Environment.CurrentDirectory = @"c:\ABC";
try
{
// call that external assembly
}
finally
{
Environment.CurrentDirectory = currentDir;
}
【讨论】: