Di mana menemukan “Microsoft.VisualStudio.TestTools.UnitTesting” hilang dll?

131

Saya mendapatkan kesalahan berikut dalam proyek C # visual studio saya:

Tipe atau nama namespace 'VisualStudio' tidak ada di namespace 'Microsoft' (apakah Anda kehilangan referensi perakitan?)

Saya juga mencoba mencari file microsoft.dll tetapi tidak bisa mendapatkan referensi. Apakah saya mencari DLL yang salah?

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");
    }
}
}
Amit Pal
sumber
1
Apakah Anda masih mendapatkan kesalahan yang sama persis setelah menambahkan referensi perakitan Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll?
Joachim Isaksson

Jawaban:

144

Anda harus menambahkan referensi

Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll 

Itu dapat ditemukan di "C: \ Program Files \ Microsoft Visual Studio 10.0 \ Common7 \ IDE \ PublicAssemblies \" direktori (untuk VS2010 profesional atau lebih tinggi; .NET Framework 4.0).

atau klik kanan pada proyek Anda dan pilih: Tambah Referensi ...> .NET: atau klik Tambah Referensi ...> .NET:

Agen007
sumber
2
Mengapa ini diterima? Komentar itu tampaknya mengindikasikan bahwa itu tidak membantu. Bisakah seseorang menguraikan?
sirdank
@ sirdank Anda menyadari bahwa tidak seorang pun selain OP yang dapat menerima jawaban sebagai solusinya, bukan? Jika itu tidak membantu OP, dia tidak akan menerimanya.
Agent007
4
@ Agent007 saya tahu. Namun, OP meninggalkan komentar yang menunjukkan itu tidak berhasil menyarankan (setidaknya bagi saya) bahwa sesuatu yang lebih perlu dilakukan. Setelah mencari tahu apa lagi yang perlu dilakukan, tidak meninggalkan komentar yang menggambarkan hal itu tampaknya tidak membantu.
sirdank
6
Baru saja mengalami masalah ini, dan jawaban ini adalah solusinya. Adakah yang tahu mengapa hal ini terjadi? Mengapa namespace Microsoft.VisualStudio.TestTools.UnitTestingdan assembly itu Microsoft.VisualStudio.QualityTools.UnitTestFramework? Mengapa mereka tidak bisa menyebut keduanya sama saja?
Alan Thomas
Salah satu cara saya tersandung adalah bahwa ketika Build Tim membangun itu akan terlihat di folder yang berbeda tergantung pada versinya. Microsoft Visual Studio 10.0 untuk VS 2010, Microsoft Visual Studio 12.0 untuk VS 2013, Microsoft Visual Studio 14.0 untuk VS 2015.
Ryan Gates
67

Saya tahu ini sudah tua, inilah yang muncul dalam pencarian Google saya. Saya perlu merujuk paket-paket ini di NuGet:

masukkan deskripsi gambar di sini

Jesse Sierks
sumber
Dalam kasus saya (VS2019), saya perlu memutakhirkan paket-paket ini kemudian memperbaiki masalahnya. Bersulang!
RJFalconer
Ini bekerja dengan baik untuk saya. Saya menggunakan Rider dan aplikasi ini awalnya dibangun di VS. Terima kasih telah meletakkan ini di sini.
Yatin
17

DLL yang Anda cari itu mengandung namespace itu

Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll

Perhatikan bahwa pengujian unit tidak dapat digunakan dalam Visual Studio Express .

Joachim Isaksson
sumber
3
Tolong beri saya tautan unduhan?
Amit Pal
@AmitPal Apa edisi Visual Studio yang Anda miliki? Itu harus disertakan dengan sebagian besar edisi.
Joachim Isaksson
visual studio 2010 dan .net 4.0
Amit Pal
@AmitPal Lihat jawaban saya untuk pertanyaan ini untuk jalur DLL. Itu pasti ada di sana.
Agen007
5
@AmitPal Visual Studio 2010 Express tidak memiliki DLL itu dan itu tidak dapat ditambahkan untuk membuat unit testing bekerja (Anda harus menggunakan alat pengujian pihak ketiga seperti nUnit) Jika Anda menggunakan profesional atau ke atas, lihat jawaban agent007.
Joachim Isaksson
10

Ada juga paket nuget yang bagus . Ini akan menarik dll ke folder paket Anda. Anda perlu menambahkan referensi ke dll secara manual.

CATATAN : Paket ini bukan paket Microsoft resmi.

Rashack
sumber
1
Paket nuget gagal diinstal dalam proyek untuk .net 4.0 dengan VS2013. Satu-satunya opsi untuk versi adalah 11.0.50727.1.
WebComer
1
adakah yang bisa mengatakan jika nuget ini benar-benar milik Microsoft? Tampaknya menjadi nuget pribadi yang mengandung Microsoft asemblies
BozoJoe
9

Untuk mengatasi masalah ini, saya harus melakukan yang berikut:

  1. Luncurkan Penginstal Visual Studio dengan hak administratif
  2. Jika diminta untuk menginstal pembaruan ke Visual Studio, lakukan sebelum melanjutkan
  3. Ketika diminta, klik tombol untuk Memodifikasi instalasi yang ada
  4. Klik pada tab / header "Komponen individual" di bagian atas
  5. Gulir ke bawah ke bagian "Debugging dan pengujian"
  6. Centang kotak di sebelah "Alat uji kinerja dan kinerja web"
  7. Klik tombol Modify di sudut kanan bawah dialog untuk menginstal DLL yang hilang

Setelah DLL diinstal, Anda dapat menambahkan referensi ke mereka menggunakan metode yang ditunjukkan Agent007 dalam jawabannya.

S. Hooley
sumber
1
"Alat kinerja web dan uji beban" tidak lagi muncul. Apa yang akan Anda rekomendasikan sebagai gantinya kami pilih?
Shafiq Jetha
@ ShafiqJetha, saya masih melihat opsi untuk "Kinerja web dan alat pengujian beban". Saya menggunakan Visual Studio Enterprise 2017 - 15.8.9. Versi apa yang Anda gunakan? Sepertinya Microsoft telah sedikit mengubah antarmuka penginstal sejak saya menulis posting di atas. Ketika saya meluncurkan Visual Studio Installer (menjalankannya sebagai Administrator), saya klik tombol "Lainnya" di sebelah kanan tombol "Perbarui" dan "Luncurkan", lalu pilih "Ubah", kemudian lanjutkan dengan langkah 4 dalam daftar di posting saya di atas.
S. Hooley
Saya menggunakan penginstal Build Tools untuk Visual Studio 2017, jadi itu mungkin menjelaskannya.
Shafiq Jetha
@ ShafiqJetha apa yang akhirnya Anda gunakan?
Vin Shahrdar
@ VinShahrdar, sejujurnya aku tidak ingat; ini sudah lama sekali. Saya pikir kami mengatasi masalah mungkin dengan menggunakan paket NuGet orang lain untuk mendapatkan DLL yang diperlukan. Atau mungkin kita menyimpan DLL ke repo. Sejujurnya aku tidak ingat, maaf.
Shafiq Jetha
8

Jika Anda menggunakan Komunitas Visual Studio 2017, lokasinya adalah:

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

DLL yang Anda inginkan ada di sana: Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll

Tampaknya itu terletak di C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\PublicAssemblies\direktori untuk versi Visual Studio 2010 Professional, tetapi perhatikan bahwa 10.0akan berubah sesuai dengan tahun rilis, yaitu VS 2013 adalah versi 12.0, VS 2015 adalah versi 14.0, VS 2017 adalah 15.0. (VS Express tidak didukung dan perlu menginstal paket NUnit NuGet, melalui Pengelola Paket NuGet, sebagai gantinya.)

Anda pergi ke Referensi , klik kanan, pilih Tambahkan Referensi, Jelajahi . Arahkan ke jalan, lalu klik dua kali file.

Kemudian, Anda memerlukan usingpernyataan di bagian atas kelas Tes Unit Anda:

using Microsoft.VisualStudio.TestTools.UnitTesting;

vapcguy
sumber
1
Dengan menelusuri, itu berarti tombol Browse di bagian bawah, bukan folder Browse di sebelah kiri.
Alan Baljeu
@AlanBaljeu Sangat benar.
vapcguy
0

Yaitu untuk Visual Studio 2013 saya akan referensi perakitan ini:

Microsoft.VisualStudio.Shell.14.0.dll

Anda dapat menemukannya yaitu di sini:

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

dan jangan lupa untuk mengimplementasikan:

menggunakan Microsoft.VisualStudio;

creg
sumber
0

Jika Anda datang ke sini karena pekerjaan membangun VSTS Anda gagal dengan pesan kesalahan di atas. Pastikan Anda menggunakan setidaknya versi 2. * dari tugas nuget untuk memulihkan paket Anda.

Jim Wolff
sumber
Apakah Anda tahu mengapa versi 2. * diperlukan? Kami berada di TFS 2017 dan mengalami kesalahan ini.
DylanSp
Saya baru saja mengangkat kode dari QA ke UAT dan saya sekarang sedang menguji unittests SAMA, pada komputer SAMA, di folder Induk yang sama dalam solusi praktis yang sama. tapi nooo .. Tidak ada unittest yang tiba-tiba ditemukan .... Saya sangat bosan dengan Microsoft Path yang mereka buat di tahun-tahun berikutnya.
Christian
0

Saya mendapat masalah ini setelah memindahkan proyek dan menghapus folder paket-paketnya. Nuget menunjukkan bahwa MSTest.TestAdapter dan MSTest.TestFramework v 1.3.2 diinstal. Perbaikannya tampaknya membuka VS sebagai administrator dan membangun Setelah itu saya bisa membuka kembali dan membangun tanpa admin hak istimewa.

Kirsten Greed
sumber
0

Tambahkan referensi ke 'Microsoft.VisualStudio.QualityTools.UnitTestFramework "Paket NuGet dan harus berhasil membangunnya.

Sanjeev Kumar
sumber
Saya yakin tujuh entri lainnya menyarankan solusi yang tepat ini, tidak sampai ke pembaca. Pengulangan bahkan lebih baik ketika Anda mengulanginya.
Christian
0

Dengan Visual Studio 2019, menjalankan proyek .net core 3.1, Anda harus menginstal kerangka uji terbaru untuk menyelesaikan kesalahan.

Cara termudah untuk mencapai ini adalah dengan mengarahkan browser ke anotasi [Tes] (digarisbawahi dalam warna merah) dan pilih perbaikan yang disarankan. Yang diperlukan adalah "mencari dan menginstal kerangka kerja pengujian terbaru."

Stanley Tonkonogy
sumber
-4

Cukup Rujuk URL ini dan unduh serta simpan file dll yang diperlukan @ lokasi ini:

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

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

Membelok
sumber