我正在将一个大型解决方案从VS 2010迁移到VS2013。当我们使用.runsettings文件时,有数千个测试无法运行。我们之前的测试设置文件是.testsettings类型。我的理解(在非常沮丧的Googling之后)是,为了使用新的测试运行程序VSTest,您需要使用.runsettings文件。我没有找到太多有关此文件可以支持的文档。基本上,这是可用的一种资源:http://msdn.microsoft.com/en-us/library/vstudio/jj635153.aspx

我们之前的.testsettings文件中有很大一部分用于部署项目,这些部署项目现在找不到,因此测试立即失败。问题是我似乎无法发现是否仍然可以在.runsettings文件中选择包含部署项目。

<Deployment>
  <DeploymentItem filename="C:\Solution\Project\SomeSettings.xml" outputDirectory="C:\Solution\Project\bin" />
</Deployment>

新的.runsettings测试设置格式是否支持执行部署项目?

最佳答案

不幸的是,.runsettings不支持与.testsettings相同的部署项目,我对此感到非常沮丧,因为它是一种非常干净的依赖关系部署方法。 .runsettings(DeploymentEnabled)中有一个与此设置相关的设置,但是似乎所有这些都可以控制在单独的目录(而不是应用程序的输出目录)中运行测试。

经过多次试验和错误,我最终只是将测试项目中的所有.csproj文件更改为在Visual Studio的“属性”窗口中具有CopyIfNewer生成操作,以便将所有依赖项都复制到输出文件夹中,以便找到它们。在运行测试时。

我想所有人都说我花了大约2-3个小时来更新所有测试,以使其重新运行。

从好的方面来说,事情现在运行起来要快得多,因为所有二进制文件在编译后都无需复制到新目录,因为一切都“就地”运行。

关于c# - .runsettings中的部署项目,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22873922/

10-11 16:23