5

我在 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
4

2 回答 2

6

每个版本的 Visual Studio 都附带一个测试运行程序。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 的。

于 2012-10-13T03:41:15.533 回答
1

如果您正在运行旧版本的 Visual Studio(编辑:或希望您的项目与旧版本的 VS 兼容),则必须使用旧版本,这应该澄清:http: //juristr.com/blog/2011/04 /麻烦与-vs-qualitytoolsunittestfra/

于 2012-10-12T18:49:47.587 回答