C# 在TeamCity中禁用MSTest临时目录

C# 在TeamCity中禁用MSTest临时目录,c#,visual-studio-2010,continuous-integration,teamcity,mstest,C#,Visual Studio 2010,Continuous Integration,Teamcity,Mstest,我正在使用TeamCity Professional不断构建和测试我的代码 我有一些基于MSTest的测试,它们在我的PC上的VS2010中运行良好,但在构建服务器上失败 我四处窥探,发现在测试时,TeamCity在它的TEMP_DIR(可配置)中创建了一个临时目录,并且只将“第一关系”依赖项复制到测试DLL 例如:我的测试使用NHibernate.dll,它被复制到临时目录,但是它的依赖项(即NHibernate.ByteCode.Castle)没有被复制,测试失败,出现IO.FileNotF

我正在使用TeamCity Professional不断构建和测试我的代码

我有一些基于MSTest的测试,它们在我的PC上的VS2010中运行良好,但在构建服务器上失败

我四处窥探,发现在测试时,TeamCity在它的
TEMP_DIR
(可配置)中创建了一个临时目录,并且只将“第一关系”依赖项复制到测试DLL

例如:我的测试使用
NHibernate.dll
,它被复制到临时目录,但是它的依赖项(即
NHibernate.ByteCode.Castle
)没有被复制,测试失败,出现
IO.FileNotFound
异常

是否有任何方法可以从测试项目输出目录(test/bin/debug)运行测试


如果没有,我如何指定哪些DLL应复制到临时目录

您可以在解决方案中添加一个TestSettings文件,该文件将描述要部署的所有文件

首先,添加一个TestSettings文件。打开它,并在“部署”选项卡中添加所需的所有文件(您的.dll)。 然后在TeamCity上,在MSTest构建步骤中,指定要在“其他命令参数”区域中使用的TestSettings文件。示例:“/testsettings:Local.testsettings”


这样,您在部署项中指定的所有文件都将复制到临时目录中。

这帮了我的忙-谢谢!有两个注意事项可能会对其他人有所帮助:首先,我能够在“MSTest run configuration file:”中为TeamCity设置指定xxx.Testsettings文件。其次,该字段需要TeamCity中工作目录中的文件路径,该目录基本上是存储库的顶层。