AppDomain.CurrentDomain.RelativeSearchPath在单元测试中为空

时间:2013-12-25 11:37:47

标签: c# unit-testing relative-path

我在单独的类库项目中有电子邮件模板(和电子邮件)。我正在获取视图的路径(复制到ouput directory = true),如下所示:

var basePath = AppDomain.CurrentDomain.RelativeSearchPath;
var path = Path.Combine(basePath, "Views", viewname + ".cshtml");

当我尝试在单元测试项目中运行此代码时,basePath为null。但它不应该为null !!

谁能解释我 -

  1. 为什么basepath为null?
  2. 如何解决?

1 个答案:

答案 0 :(得分:6)

根据MSDN

  

私有程序集部署在与。相同的目录结构中   应用。如果RelativeSearchPath属性指定的路径   不在AppDomainSetup.ApplicationBase下,它会被忽略。

     

此属性返回使用的值集   AppDomainSetup.PrivateBinPath。

您应首先设置AppDomainSetup.PrivateBinPath