将 AppDomain.CurrentDomain 基本目录更改为另一个项目目录

Posted

技术标签:

【中文标题】将 AppDomain.CurrentDomain 基本目录更改为另一个项目目录【英文标题】:Changing the AppDomain.CurrentDomain Base Directory to another project directory 【发布时间】:2020-01-06 03:38:16 【问题描述】:

我正在编写单元测试,以解决其中包含多个项目的解决方案。在测试时,我需要将当前域基目录更改为该特定项目的基目录。例如:由于我正在编写单元测试,AppDomain.CurrentDomain.BaseDirectory 将指向我的单元测试项目目录,但我需要指向另一个项目目录才能访问一些文件。

【问题讨论】:

你能分享你正在单元测试的示例代码吗? 【参考方案1】:

我想您有运​​行测试代码所需的某些配置|数据文件。

您可以创建额外的“测试文件”并将其放在单独的文件夹中,以免与开发混合。

如果在开发配置|数据文件中进行了重大更改,您必须在测试数据文件上复制文件修改。 最好在解决方案中的所有测试之间共享一组配置|数据文件。您可以通过在 VS 解决方案资源管理器中链接(而不是添加)配置|数据文件并设置其属性 copy to output: if newer

来实现

【讨论】:

以上是关于将 AppDomain.CurrentDomain 基本目录更改为另一个项目目录的主要内容,如果未能解决你的问题,请参考以下文章

获取应用程序中 AppDomain.CurrentDomain 对象的控制权

Application.ThreadException 和 AppDomain.CurrentDomain.UnhandledException 有啥区别?

运行测试后 AppDomain.CurrentDomain.BaseDirectory 发生变化?

为啥 AppDomain.CurrentDomain.BaseDirectory 在 asp.net 应用程序中不包含“bin”?

为啥 AppDomain.CurrentDomain.GetAssemblies() 在某些情况下不返回 Global.asax 中的依赖程序集?

C#中AppDomain.CurrentDomain.BaseDirectory及各种路径获取方法