2017-07-13 12 views
0

最近私のMSテストユニットのテストの一部が動作を停止しています。私はテスト自体を変更していません。私は取得していますエラーは以下の通りです:MSテスト "メソッドが見つかりません:System.String"エラー

Test Failed - [file name]

Message: Method not found: 'System.String Microsoft.VisualStudio.TestTools.UnitTesting.TestResult.get_TestContextMessages()'.

、私は次のようしている(Visual Studioで)私のユニットテストプロジェクト内の下にある「参考文献」:

Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter

Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices

Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.Interface

Microsoft.VisualStudio.TestPlatform.TestFramework

Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions

Moq

Ploeh.AutoFixture

Ploeh.AutoFixture.AutoMoq

誰もが、問題が何であるかを知っていますここに?

答えて

2

だから、問題は、本質的に、あなたは、Visual Studio 2015で新しいユニットテストプロジェクトを作成する場合、それはMicrosoft.VisualStudio.QualityTools.UnitTestFramework既にインストールが付属していますつまり、私は最後のコメントに記述するものです。あなたはその後、MSTestをバージョン2になるだろうNuGetからMSTest.TestFrameworkをインストールする場合(これは注意することが重要である)、これは、このようなTestClassをTestInitialize、すなわち、テスト属性のあいまいな参照の問題を作成しようとしていますユニットテストプロジェクトはコンパイルされません。

Microsoft.VisualStudio.QualityTools.UnitTestFramework参照をプロジェクトから削除することができます。そうすれば、私のプロジェクトではすべてがうまくいくようになります。しかし、しばらくして、未知の理由のために、ユニットテストプロジェクトで何かが壊れてしまい、元の投稿でエラーが発生し始めました。これを解決するために、私は新しいユニットテストプロジェクトを作成し、ユニットテストをすべてそれに移動し、参照を追加しました。MSTest.TestFrameworkをMicrosoft.VisualStudio.QualityTools.UnitTestFrameworkに削除しました。

Hereです。

+0

この方法で問題が解決した場合は、答えとしてマークすることができます:)!それは同様の問題を持つ他の人を助けるでしょう。 – DiligentKarma

+0

明日まで待たなければならない。 – lukegf

+0

VB.NETでは、.vbprojファイルからMicrosoft.VisualStudio.QualityTools.UnitTestFrameworkリファレンスを手動で削除する必要がありました。ありがとう – erionpc

1

Microsoft.VisualStudio.QualityTools.UnitTestFramework.dllも参照してください。私は言及されたプロジェクトの参照でそれを見ることはありません。このライブラリは、デフォルトでMSテストプロジェクトで参照されます。

また、テストとターゲットプロジェクトのプロセッサアーキテクチャが同じかどうかを確認してください。テストのプロセッサアーキテクチャは、テスト - >テスト設定 - >デフォルトプロセッサアーキテクチャのメニューからチェックすることができます。おそらくx64に変更する必要があります。

+0

私はある時点でそれを持っていましたが、その後私はそれを取り出さなければなりませんでした(なぜなら、私は今忘れているからです)。私のテストは思っていなくてもうまくいったと思う。とにかく、NuGetからインストールしようとしましたが、このエラーが発生しました: 'Microsoft.VisualStudio.QualityTools.UnitTestFramework 11.0.50727.1'パッケージをインストールできませんでした。このパッケージを「.NETFramework、Version = v4.5」を対象とするプロジェクトにインストールしようとしていますが、そのフレームワークと互換性のあるアセンブリ参照またはコンテンツファイルがパッケージに含まれていません。詳細については、パッケージ作成者にお問い合わせください。 – lukegf

+0

また、私のユニットテストプロジェクトのプロセッサアーキテクチャをx64に設定しましたが、それは何の違いもありませんでした。 – lukegf

+0

今、なぜ「Microsoft.VisualStudio.QualityTools.UnitTestFramework」への参照を削除しなければならなかったのかを覚えています。 'TestClass'や 'TestInitialize'などのテスト属性のあいまいな参照の問題が発生します。これを再現するために、私はVisual Studio 2015で新しいUnit Testプロジェクトを作成しました。このプロジェクトは、「Microsoft.VisualStudio.QualityTools.UnitTestFramework」がインストール済みで提供されています。それから私は 'MSTest.TestFramework'をインストールしなければならず、同じ問題、すなわち 'TestClassAttribute'のあいまいな参照を作成しました。 – lukegf

関連する問題