Nơi tìm thấy Microsoft Microsoft.VisualStudio.TestTools.UnitTesting bị thiếu dll?


131

Tôi đang gặp lỗi sau trong dự án studio C # visual của mình:

Tên loại hoặc không gian tên 'VisualStudio' không tồn tại trong không gian tên 'Microsoft' (bạn có thiếu tham chiếu lắp ráp không?)

Tôi cũng đã cố gắng tìm tệp microsoft.dll nhưng không thể có bất kỳ tài liệu tham khảo nào. Tôi đang tìm kiếm DLL sai?

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
Bạn vẫn nhận được chính xác lỗi tương tự sau khi thêm tham chiếu lắp ráp vào Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll?
Joachim Isaksson

Câu trả lời:


144

Bạn phải thêm tài liệu tham khảo

Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll 

Bạn có thể tìm thấy nó trong thư mục "C: \ Program Files \ Microsoft Visual Studio 10.0 \ Common7 \ IDE \ PublicAssemblies \" (dành cho VS2010 chuyên nghiệp trở lên; .NET Framework 4.0).

hoặc nhấp chuột phải vào dự án của bạn và chọn: Thêm tài liệu tham khảo ...> .NET: hoặc nhấp vào Thêm tham chiếu ...> .NET:


2
Tại sao điều này được chấp nhận? Các ý kiến ​​dường như cho thấy nó là vô ích. Ai đó có thể giải thích?
sirdank 11/05/2015

@sirdank Bạn có nhận ra rằng không ai ngoài OP có thể chấp nhận câu trả lời là giải pháp không? Nếu nó không hữu ích cho OP, anh ấy đã không chấp nhận nó.
Đặc vụ007

4
@ Đại lý007 tôi biết. Tuy nhiên, OP để lại một bình luận cho thấy nó không hoạt động cho thấy (ít nhất là với tôi) rằng cần phải làm gì đó nhiều hơn nữa. Sau khi tìm ra những gì khác cần phải được thực hiện, không để lại một bình luận mô tả như vậy có vẻ không có ích.
sirdank

6
Chỉ cần có vấn đề này, và câu trả lời này là giải pháp. Bất cứ ai cũng có cái nhìn sâu sắc về lý do tại sao đây là trường hợp? Tại sao không gian tên Microsoft.VisualStudio.TestTools.UnitTestingvà lắp ráp là Microsoft.VisualStudio.QualityTools.UnitTestFramework? Tại sao họ không thể đặt tên cho cả hai cùng một điều?
Alan Thomas

Một cách mà tôi đã gặp phải là khi xây dựng Team Build, nó sẽ tìm trong một thư mục khác tùy thuộc vào phiên bản. Microsoft Visual Studio 10.0 cho VS 2010, Microsoft Visual Studio 12.0 cho VS 2013, Microsoft Visual Studio 14.0 cho VS 2015.
Ryan Gates

67

Tôi biết điều này đã cũ, đây là những gì xuất hiện trong tìm kiếm Google của tôi. Tôi cần tham khảo các gói này trên NuGet:

nhập mô tả hình ảnh ở đây


Trong trường hợp của tôi (VS2019) tôi cần nâng cấp các gói này sau đó nó đã khắc phục vấn đề. Chúc mừng!
RJFalconer

Điều này làm việc hoàn hảo cho tôi. Tôi sử dụng Rider và ứng dụng ban đầu được xây dựng trong VS. Cảm ơn bạn đã đặt cái này ở đây.
Yatin

17

DLL bạn đang tìm kiếm có chứa không gian tên đó là

Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll

Lưu ý rằng kiểm tra đơn vị không thể được sử dụng trong Visual Studio Express .


3
Xin vui lòng cho tôi liên kết tải về?
Amit Pal

@AmitPal Bạn có phiên bản Visual Studio nào? Nó nên được bao gồm với hầu hết các phiên bản.
Joachim Isaksson

phòng thu trực quan 2010 và .net 4.0
Amit Pal

@AmitPal Xem câu trả lời của tôi cho câu hỏi này cho đường dẫn DLL. Nó phải ở đó
Đặc vụ007

5
@AmitPal Visual Studio 2010 Express không có DLL đó và nó không thể được thêm vào để làm cho thử nghiệm đơn vị hoạt động (bạn sẽ phải sử dụng công cụ kiểm tra của bên thứ ba như nUnit) Nếu bạn đang sử dụng chuyên nghiệp trở lên, hãy xem câu trả lời của agent007.
Joachim Isaksson

10

Ngoài ra còn có một gói nuget đẹp . Nó sẽ kéo dll vào thư mục gói của bạn. Bạn sẽ cần thêm tài liệu tham khảo vào dll bằng tay.

LƯU Ý : Gói này không phải là gói chính thức của Microsoft.


1
Gói nuget không cài đặt được trong dự án cho .net 4.0 với VS2013. Tùy chọn duy nhất cho phiên bản là 11.0.50727.1.
WebCome

1
bất cứ ai có thể nói nếu nuget này thực sự thuộc sở hữu của Microsoft? Nó dường như là một nuget cá nhân có chứa Microsoft asemblies
BozoJoe

9

Để giải quyết vấn đề này, tôi đã phải làm như sau:

  1. Khởi chạy Trình cài đặt Visual Studio với các đặc quyền quản trị
  2. Nếu nó nhắc bạn cài đặt các bản cập nhật cho Visual Studio, hãy làm như vậy trước khi tiếp tục
  3. Khi được nhắc, nhấp vào nút để Sửa đổi cài đặt hiện có
  4. Nhấp vào tab / tiêu đề "Các thành phần riêng lẻ" dọc theo đầu trang
  5. Cuộn xuống phần "Gỡ lỗi và kiểm tra"
  6. Chọn hộp bên cạnh "Hiệu suất web và các công cụ kiểm tra tải"
  7. Nhấp vào nút Sửa đổi ở góc dưới bên phải của hộp thoại để cài đặt các DLL bị thiếu

Khi các DLL được cài đặt, bạn có thể thêm các tham chiếu đến chúng bằng phương thức mà Agent007 chỉ ra trong câu trả lời của mình.


1
"Công cụ kiểm tra tải và hiệu suất web" không còn xuất hiện. Thay vào đó, bạn muốn giới thiệu chúng tôi chọn gì?
Shafiq Jetha

@ShafiqJetha, tôi vẫn thấy tùy chọn cho "Công cụ kiểm tra tải và hiệu suất web". Tôi đang sử dụng Visual Studio Enterprise 2017 - 15.8.9. Phiên bản nào bạn đang sử dụng? Có vẻ như Microsoft đã thay đổi giao diện của trình cài đặt một chút kể từ khi tôi viết bài đăng ở trên. Khi tôi khởi chạy Trình cài đặt Visual Studio (chạy với tư cách Quản trị viên), tôi nhấp vào nút "Khác" ở bên phải nút "Cập nhật" và "Khởi chạy", sau đó chọn "Sửa đổi", sau đó tiếp tục với bước 4 trong danh sách trong bài viết của tôi ở trên.
S. Hooley

Tôi đang sử dụng trình cài đặt Công cụ xây dựng cho Visual Studio 2017, để có thể giải thích nó.
Shafiq Jetha

@ShafiqJetha bạn đã sử dụng cái gì?
Vin Shahrdar

@VinShahrdar Tôi thực sự không thể nhớ được; điều này đã rất lâu rồi Tôi nghĩ rằng chúng tôi đã giải quyết vấn đề có thể bằng cách sử dụng gói NuGet của người khác để nhận các DLL yêu cầu. Hoặc có thể chúng tôi đã lưu DLL vào repo. Tôi thực sự không thể nhớ, xin lỗi.
Shafiq Jetha

8

Nếu bạn đang sử dụng Cộng đồng Visual Studio 2017, địa điểm là:

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

DLL bạn muốn là có: Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll

Rõ ràng nó nằm trong C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\PublicAssemblies\thư mục dành cho phiên bản Visual Studio 2010 Professional, nhưng lưu ý rằng 10.0sẽ thay đổi để tương ứng với năm phát hành, tức là VS 2013 là phiên bản 12.0, VS 2015 là phiên bản 14.0, VS 2017 là 15.0. (VS Express không được hỗ trợ và sẽ yêu cầu cài đặt gói NUnit NuGet, thông qua Trình quản lý gói NuGet, thay vào đó.)

Bạn vào Tài liệu tham khảo , nhấp chuột phải, chọn Thêm tài liệu tham khảo, Duyệt . Điều hướng đến đường dẫn, sau đó bấm đúp vào tệp.

Sau đó, bạn cần một usingcâu lệnh ở đầu lớp Kiểm tra đơn vị của bạn:

using Microsoft.VisualStudio.TestTools.UnitTesting;


1
Bằng cách duyệt, nó có nghĩa là nút Duyệt ở phía dưới, không phải thư mục Duyệt ở bên trái.
Alan Baljeu

@AlanBaljeu Rất đúng.
vapcguy

0

Tức là cho Visual Studio 2013 Tôi sẽ tham khảo hội đồng này:

Microsoft.VisualStudio.Shell.14.0.dll

Bạn có thể tìm thấy nó tức là ở đây:

C: \ Tệp chương trình (x86) \ Microsoft Visual Studio 12.0 \ Common7 \ IDE \ Tiện ích mở rộng \ Phần mềm BugAid \ BugAid \ 1.0

và đừng quên thực hiện:

sử dụng Microsoft.VisualStudio;


0

Nếu bạn đến đây vì công việc xây dựng VSTS của bạn không thành công với thông báo lỗi ở trên. Đảm bảo rằng bạn đang sử dụng ít nhất phiên bản 2. * của tác vụ nuget để khôi phục các gói của bạn.


Bạn có biết tại sao phiên bản 2. * là cần thiết? Chúng tôi đang ở trên TFS 2017 và đang gặp phải lỗi này.
DylanSp

Tôi vừa nâng mã từ QA lên UAT và hiện tôi đang kiểm tra các điểm không giống nhau, trên máy tính CÙNG, trong cùng thư mục Parent trong cùng một giải pháp. nhưng không, không có gì đáng ngạc nhiên đột nhiên được tìm thấy .... Tôi quá mệt mỏi với địa ngục microsofts Path mà họ đã tạo ra trong những năm sau đó.
Christian

0

Tôi đã gặp vấn đề này sau khi di chuyển một dự án và xóa thư mục gói của nó. Nuget đã cho thấy rằng MSTest.TestAd CHƯƠNG và MSTest.TestFramework v 1.3.2 đã được cài đặt. Cách khắc phục dường như là mở VS với tư cách quản trị viên và xây dựng Sau đó tôi đã có thể mở lại và xây dựng mà không cần có quyền quản trị viên.


0

Thêm một tham chiếu đến 'Microsoft.VisualStudio.QualityTools.UnitTestFramework "Gói NuGet và nó sẽ xây dựng thành công nó.


Tôi chắc chắn bảy mục khác đề xuất giải pháp chính xác này, không thông qua độc giả. Sự lặp lại thậm chí còn tốt hơn khi bạn lặp lại nó.
Christian

0

Với Visual Studio 2019, chạy dự án .net core 3.1, bạn sẽ cần cài đặt khung thử nghiệm mới nhất để khắc phục lỗi.

Cách dễ nhất để thực hiện việc này là di chuột trình duyệt qua chú thích [Kiểm tra] (được gạch chân màu đỏ) và chọn các bản sửa lỗi được đề xuất. Điều cần thiết là "tìm kiếm và cài đặt khung thử nghiệm mới nhất."


-4

Chỉ cần Tham khảo URL này và tải xuống và lưu các tệp dll cần thiết @ vị trí này:

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

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

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.