我在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
答案 0 :(得分: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。
答案 1 :(得分:1)
如果您运行的是旧版本的visual studio(编辑:或希望您的项目与旧版本的VS兼容),则必须使用旧版本,这应该澄清:http://juristr.com/blog/2011/04/trouble-with-vs-qualitytoolsunittestfra/