「Microsoft.VisualStudio.TestTools.UnitTesting」欠落しているdllはどこにありますか?


131

C#ビジュアルスタジオプロジェクトで次のエラーが発生します。

タイプまたは名前空間名「VisualStudio」が名前空間「Microsoft」に存在しません(アセンブリ参照がありませんか?)

また、microsoft.dllファイルを見つけようとしましたが、参照を取得できませんでした。間違ったDLLを検索していますか?

using Microsoft.VisualStudio.TestTools.UnitTesting;  
using Kya.MsFx.Services.Swiper;

namespace Kya.MsFx.Devices.Swiper.Test
{
[TestClass]
public class SwiperWindowTest
{

    private SwiperWebServiceHost m_SwiperWS = null;
    /// <summary>
    ///     start web service on a separate thread, so tests 
    ///     can be executed withut blocking the application thread
    /// </summary>
    [ClassInitialize]
    public void SetupSwiperTests() {

        m_SwiperWS = SwiperWebServiceHost.StartService();

    }

    /// <summary>
    /// Stop service started during class initialize and kill the thread
    /// </summary>
    [ClassCleanup]
    public void CleanupSwiperTests() {
        m_SwiperWS.Stop();
    }


    /// <summary>
    ///   simulate init, swipe, clear operations
    /// </summary>
    [TestMethod]
    public void TestSwiperService()
    {
        MessageBox.Show("test");
    }
}
}

1
にアセンブリ参照を追加した後も、まったく同じエラーが発生しMicrosoft.VisualStudio.QualityTools.UnitTestFramework.dllますか?
Joachim Isaksson

回答:


144

への参照を追加する必要があります

Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll 

「C:\ Program Files \ Microsoft Visual Studio 10.0 \ Common7 \ IDE \ PublicAssemblies \」ディレクトリにあります(VS2010 Professional以降の場合、.NET Framework 4.0)。

またはプロジェクトを右クリックして、[参照の追加...]> [.NET]を選択します。 または、[参照の追加...]> [.NET]をクリックします。


2
なぜこれが受け入れられたのですか?コメントは役に立たなかったことを示しているようです。誰かが詳しく説明できますか?
sirdank 2015年

@sirdank OP以外の誰も答えを解決策として受け入れられないことを理解していますよね。もしそれがOPにとって役に立たなかったら、彼はそれを受け入れなかっただろう。
Agent007

4
@ Agent007わかっています。ただし、OPが機能しないことを示すコメントを残している場合は、(少なくとも私にとっては)さらに何かを行う必要があることを示唆しています。他に何をする必要があるかを理解した後、そのことを説明するコメントを残さないことは役に立たないようです。
sirdank 2015年

6
ちょうどこの問題があり、この答えが解決策でした。なぜこれが事実であるかについて誰かが洞察を持っていますか?名前空間Microsoft.VisualStudio.TestTools.UnitTestingとアセンブリはなぜMicrosoft.VisualStudio.QualityTools.UnitTestFrameworkですか?なぜ同じ名前を付けられないのでしょうか?
アラントーマス

私がつまずいた方法の1つは、チームビルドのビルド時に、バージョンに応じて異なるフォルダーを参照することでした。VS 2010のMicrosoft Visual Studioの10.0、VS 2013のMicrosoft Visual Studioの12.0、VS 2015のMicrosoft Visual Studioの14.0
ライアン・ゲイツ

67

私はこれが古いことを知っています。これが私のGoogle検索で出てきたものです。NuGetでこれらのパッケージを参照する必要がありました。

ここに画像の説明を入力してください


私の場合(VS2019)これらのパッケージをアップグレードする必要があり、問題を修正しました。乾杯!
RJFalconer

これは完璧に機能します。私はライダーを使用し、アプリケーションは元々VSで構築されました。これをここに置いてくれてありがとう。
Yatin

17

あなたが探しているその名前空間を含むDLLは

Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll

単体テストはVisual Studio Expressでは使用できないことに注意してください。


3
ダウンロードリンクをください。
Amit Pal

@AmitPal Visual Studioのどのエディションをお持ちですか?ほとんどのエディションに含まれているはずです。
Joachim Isaksson

ビジュアルスタジオ2010および.net 4.0
Amit Pal

@AmitPal DLLパスについては、この質問に対する私の回答を参照してください。そこにあるに違いない。
Agent007 2012年

5
@AmitPal Visual Studio 2010 ExpressにはそのDLL がなく、単体テストを機能させるために追加することはできません(nUnitのようなサードパーティのテストツールを使用する必要があります)。
Joachim Isaksson

10

素敵なnugetパッケージもあります。DLLをパッケージフォルダにプルします。dllへの参照を手動で追加する必要があります。

:このパッケージは公式のMicrosoftパッケージではありません。


1
nugetパッケージは、VS2013を使用する.net 4.0のプロジェクトにインストールできませんでした。バージョンの唯一のオプションは11.0.50727.1でした。
WebComer 2017年

1
このナゲットが本当にマイクロソフトが所有しているかどうか誰でも言うことができますか?これは、Microsoftアセンブリを含む個人用の核語のようです
BozoJoe

9

この問題を解決するには、次のことを行う必要がありました。

  1. 管理者権限でVisual Studioインストーラーを起動する
  2. Visual Studioの更新をインストールするように求められたら、続行する前にインストールしてください。
  3. プロンプトが表示されたら、ボタンをクリックして既存のインストールを変更します
  4. 上部にある「個別コンポーネント」タブ/ヘッダーをクリックします
  5. [デバッグとテスト]セクションまでスクロールします
  6. 「Webパフォーマンスおよび負荷テストツール」の横にあるチェックボックスをオンにします
  7. ダイアログの右下隅にある[変更]ボタンをクリックして、不足しているDLLをインストールします。

DLLがインストールされたら、Agent007が回答に示した方法を使用して、DLLへの参照を追加できます。


1
「Webパフォーマンスおよび負荷テストツール」は表示されなくなりました。代わりに何を選択することをお勧めしますか?
Shafiq Jetha 2018年

@ShafiqJetha、まだ「Webパフォーマンスおよび負荷テストツール」のオプションが表示されます。Visual Studio Enterprise 2017-15.8.9を使用しています。どのバージョンを使用していますか?上記の記事を書いてから、マイクロソフトがインストーラのインターフェースを少し変更したようです。Visual Studioインストーラー(管理者として実行)を起動したら、[更新]ボタンと[起動]ボタンの右側にある[詳細]ボタンをクリックし、[変更]を選択して、リストの手順4から再開します。上記の私の投稿。
S. Hooley

私はVisual Studio 2017のビルドツールインストーラーを使用しています。
Shafiq Jetha

@ShafiqJetha結局何を使ったの?
Vin Shahrdar

@VinShahrdar正直言って思い出せない。これはずっと昔のことです。私はおそらく他の誰かのNuGetパッケージを使用して必要なDLLを取得することで問題を回避したと思います。または、DLLをリポジトリに保存した可能性があります。正直、思い出せません、すみません。
Shafiq Jetha

8

Visual Studio 2017 Communityを使用している場合、場所は次のとおりです。

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\ReferenceAssemblies\v2.0

あなたが欲しいDLLはそこにあります: Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll

どうやらそれはC:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\PublicAssemblies\Visual Studio 2010 Professionalバージョンのディレクトリにあり10.0ますが、リリース年に対応するように変更されることに注意してください。つまり、VS 2013はバージョン12.0、VS 2015はバージョン14.0、VS 2017は15.0です。(VS Expressはサポートされておらず、代わりにNuGet Package Managerを介してNUnit NuGetパッケージをインストールする必要があります。)

[ 参照 ]に移動して右クリックし、[ 参照の追加 ]、[ 参照 ]を選択します。パスに移動し、ファイルをダブルクリックします。

次に、usingユニットテストクラスの先頭にステートメントが必要です。

using Microsoft.VisualStudio.TestTools.UnitTesting;


1
参照とは、左側の[参照]フォルダーではなく、下部にある[参照]ボタンを意味します。
Alan Baljeu

@AlanBaljeu本当にそうです。
vapcguy

0

つまり、Visual Studio 2013の場合、このアセンブリを参照します。

Microsoft.VisualStudio.Shell.14.0.dll

あなたはそれを見つけることができますすなわちここに:

C:\ Program Files(x86)\ Microsoft Visual Studio 12.0 \ Common7 \ IDE \ Extensions \ BugAid Software \ BugAid \ 1.0

実装することを忘れないでください:

Microsoft.VisualStudioを使用します。


0

VSTSビルドジョブが上記のエラーメッセージで失敗したためにここに来た場合。パッケージを復元するために、少なくともバージョン2. *のnugetタスクを使用していることを確認してください。


バージョン2. *が必要な理由を知っていますか?TFS 2017を使用していて、このエラーが発生しています。
DylanSp 2018

私はコードをQAからUATに引き上げただけで、実際には同じソリューションの同じ親フォルダーで、同じコンピューター上で同じ単体テストをテストしています。しかし、うーん..ユニットテストが突然見つかりませんでした...私は彼らが晩年に作成したMicrosoftsの地獄にとても疲れています。
クリスチャン

0

プロジェクトを移動してパッケージのフォルダーを削除した後、この問題が発生しました。Nugetは、MSTest.TestAdapterおよびMSTest.TestFramework v 1.3.2がインストールされていることを示していました。修正は、VSを管理者として開いてビルドすることだったようです。その後、管理者権限がなくても、再度開いてビルドできました。


0

'Microsoft.VisualStudio.QualityTools.UnitTestFramework "NuGetパケットへの参照を追加すると、正常に構築されます。


この正確な解決策を提案する他の7つのエントリは、読者には伝わらないと思います。あなたがそれを繰り返すとき、繰り返しはさらに良いです。
クリスチャン

0

Visual Studio 2019では、.net core 3.1プロジェクトを実行しているため、最新のテストフレームワークをインストールしてエラーを解決する必要があります。

これを行う最も簡単な方法は、[テスト]アノテーション(赤の下線)にブラウザーを移動して、修正案を選択することです。必要なのは、「最新のテストフレームワークを検索してインストールする」ことです。


-4

このURLを参照して、必要なDLLファイルを次の場所にダウンロードして保存します。

C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\PublicAssemblies

URLは: https://github.com/NN---/vssdk2013/find/master

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.