Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll副本之间的差异

Ray*_*eng 5 .net unit-testing mstest

我在VS2012中创建了一个控制台应用程序,并尝试添加MS单元测试dll.但其中有5个.我应该将哪一个用于带有VS2012的.NET 4.0以及其他什么呢?

Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll

Version:  9.0.0.0         File Version:  9.0.30729.1
Version: 10.0.0.0         File Version: 11.0.30319.1
Version: 10.0.0.0         File Version: 11.0.50727.1

Version: 10.1.0.0         File Version: 11.0.40219.1
Version: 10.1.0.0         File Version: 11.0.50727.1
Run Code Online (Sandbox Code Playgroud)

bry*_*ook 6

每个版本的Visual Studio都附带一个Test Runner.9,10,11尊敬地参考Visual Studio 2008,2010和2012.

直到Visual Studio 2008,每个版本的Visual Studio都针对单个.net运行时并且具有特定的测试运行器.Visual Studio 2008通过支持多目标来改变这一点,允许您使用单个IDE来编译针对不同版本框架的应用程序.那时,一个测试运行器适用于所有的.net版本,因为.net 2-3.5都基于CLR的第2版.

发布Visual Studio 2010时,您可以定位并编译.net 2到4.0,但由于4.0基于不同版本的CLR,因此Visual Studio 2010团队只能运行在4.0下编译的测试.

对于想要使用VS 2010来定位运行时的早期版本并使用相同的运行时编译测试的团队来说,这显然不太合适,因此Visual Studio 2010 SP1发布了一个可以针对3.5的补丁测试运行器 - 因此,10.1 .0.0被介绍了.(如果要在VS 2010中运行3.5测试,则只需要引用10.1.0.0.)

我只是偶然使用VS2012,但我猜是同样的逻辑适用.

11.0.3xxx = .net 2-3.5 11.0.4xxx = .net 4.0 11.0.5xxx = .net 4.5

我可能在这方面错了,其中一个可能会面向WinRT.