为什么VS2010没有将/ bin/debug中的所有DLL复制到单元测试目录中?

MSt*_*odd 5 unit-testing mef visual-studio-2010

我有一个单元测试,它取决于一些使用MEF的代码.当我运行测试时,MEF(我相信)MEF尝试加载单元测试执行目录中所有DLL的所有相关DLL.

问题是VS2010由于某种原因没有将所有DLL从/ bin/debug目录复制到单元测试的执行目录,我不知道为什么.这是一个例子:

单元测试是抱怨是无法加载程序集A,所以我将程序集A包含的项目B作为依赖项.在单元测试项目的/ bin/debug文件夹中,所有的DLL都在那里,但是当我查看单元测试的执行目录时,程序集A不在那里.

我可以开始逐个添加DLL作为refs到单元测试项目,但我觉得我应该这样做.

思考?

谢谢,马克

orc*_*rcy 4

也许DeploymentItem属性可以提供帮助,http://msdn.microsoft.com/en-us/library/ms182475.aspx

对于 DeploymentItem 属性的参数,指定要为此测试部署的文件夹或文件。您可以使用绝对路径或相对路径。相对路径是相对于.testrunco​​nfig 文件中找到的RelativePathRoot 设置的。

[TestMethod]
[DeploymentItem("MyTestProject\\testdatasource.mdb")]
public void TestMethod1()
{

// TODO: Add test logic here

}
Run Code Online (Sandbox Code Playgroud)