5

VS2012でコンソールアプリを作成し、MS単体テストdllを追加しようとしました。しかし、それらは5つあります。VS2012で.NET4.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 2-3.5はすべてCLRのバージョン2に基づいていたため、1人のテストランナーがすべての.netバージョンで機能していました。

Visual Studio 2010が出荷されたとき、.net 2から4.0をターゲットにしてコンパイルできましたが、4.0は異なるバージョンのCLRに基づいていたため、VisualStudio2010チームには4.0でコンパイルされたテストを実行する機能しかありませんでした。

これは明らかに、VS 2010を使用して以前のバージョンのランタイムをターゲットにし、同じランタイムでテストをコンパイルしたいチームには適していなかったため、Visual Studio 2010 SP1は、3.5をターゲットにできるパッチを適用したテストランナーを出荷しました。 .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

私はこれについて間違っているかもしれません、そしてこれらのうちの1つがWinRTに向けられている可能性があります。

于 2012-10-13T03:41:15.533 に答える
1

古いバージョンのVisualStudioを実行している場合は古いバージョンを使用する必要があります(編集:またはプロジェクトを古いバージョンのVSと互換性があるようにする場合)、これは明確にする必要があります:http: //juristr.com/blog/2011/04 / trouble-with-vs-qualitytoolsunittestfra /

于 2012-10-12T18:49:47.587 に答える