将 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 中的依赖程序集?