कहां गायब हो सकता है "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?
जोआचिम इस्कसन

जवाबों:


144

आपको संदर्भ जोड़ना होगा

Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll 

यह "C: \ Program Files \ Microsoft Visual Studio 10.0 \ Common7 \ IDE \ PublicAssemblies \" निर्देशिका (VS2010 पेशेवर या इसके बाद के संस्करण के लिए पाया जा सकता है। .NET फ्रेमवर्क 4.0)।

या अपनी परियोजना पर राइट क्लिक करें और चुनें: संदर्भ जोड़ें ...> .NET: या संदर्भ जोड़ें ...> .NET पर क्लिक करें:


2
इसे क्यों स्वीकार किया गया? टिप्पणियों से लगता है कि यह अनहेल्दी था। क्या कोई विस्तृत कर सकता है?
१५’१५ की रात ११:१५

@ साइरडैंक आपको पता है कि कोई भी व्यक्ति समाधान के रूप में एक उत्तर को स्वीकार नहीं कर सकता है, है ना? अगर यह ओपी के लिए मददगार नहीं होता, तो वह इसे स्वीकार नहीं करता।
Agent007

4
@ Agent007 मुझे पता है। हालांकि, ओपी ने एक टिप्पणी छोड़ते हुए यह संकेत दिया कि यह काम नहीं करता है (कम से कम मेरे लिए) कि कुछ और करने की आवश्यकता है। यह पता लगाने के बाद कि और क्या करने की आवश्यकता है, इस तरह का वर्णन करने वाली टिप्पणी को छोड़ना अस्वाभाविक नहीं लगता।
सिरदक

6
बस यह मुद्दा था, और यह जवाब समाधान था। किसी के पास कोई अंतर्दृष्टि है कि यह मामला क्यों है? नाम स्थान Microsoft.VisualStudio.TestTools.UnitTestingऔर विधानसभा क्यों है Microsoft.VisualStudio.QualityTools.UnitTestFramework? वे उन दोनों को एक ही चीज का नाम क्यों नहीं दे सकते थे?
एलन थॉमस

एक तरीका जो मुझे उलझा हुआ था, वह यह था कि जब टीम बिल्ड बनाता है तो यह संस्करण के आधार पर एक अलग फ़ोल्डर में दिखेगा। Microsoft Visual Studio 10.0 VS 2010 के लिए, Microsoft Visual Studio 12.0 VS 2013 के लिए, Microsoft Visual Studio 14.0 VS 2015 के लिए
रयान गेट्स

67

मुझे पता है कि यह पुराना है, यह मेरी Google खोज में आया है। मुझे NuGet पर इन पैकेजों को संदर्भित करने की आवश्यकता है:

यहाँ छवि विवरण दर्ज करें


मेरे मामले में (VS2019) मुझे इन पैकेजों को अपग्रेड करने की आवश्यकता थी, फिर इसने समस्या को ठीक कर दिया। चीयर्स!
RJFalconer

यह मेरे लिए पूरी तरह से काम करता है। मैं राइडर का उपयोग करता हूं और एप्लिकेशन मूल रूप से वीएस में बनाया गया था। इसे यहां डालने के लिए धन्यवाद।
यतिन

17

आप जिस DLL की तलाश कर रहे हैं, उसमें नाम स्थान है

Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll

ध्यान दें कि विज़ुअल स्टूडियो एक्सप्रेस में यूनिट परीक्षण का उपयोग नहीं किया जा सकता है


3
क्या आप कृपया मुझे डाउनलोड लिंक देंगे?
अमित पाल

@AmitPal आपके पास विजुअल स्टूडियो का कौन सा संस्करण है? इसे अधिकांश संस्करणों के साथ शामिल किया जाना चाहिए।
जोआचिम इस्कासन

दृश्य स्टूडियो 2010 और .net 4.0
अमित पाल

@AmitPal DLL पथ के लिए इस प्रश्न के लिए मेरा उत्तर देखें। यह वहाँ होना चाहिए।
एजेंट 007

5
@AmitPal Visual Studio 2010 एक्सप्रेस में वह DLL नहीं है और इसे इकाई परीक्षण कार्य करने के लिए नहीं जोड़ा जा सकता है (आपको nUnit जैसे तृतीय पक्ष परीक्षण उपकरण का उपयोग करना होगा) यदि आप पेशेवर या ऊपर का उपयोग कर रहे हैं, तो Agent007 का उत्तर देखें।
जोआचिम इस्कासन

10

एक अच्छा नगेट पैकेज भी है । यह dll को आपके संकुल फ़ोल्डर में खींच लेगा। आपको मैन्युअल रूप से dll के संदर्भ को जोड़ना होगा।

नोट : यह पैकेज एक आधिकारिक Microsoft पैकेज नहीं है।


1
Nuget पैकेज VS2013 के साथ .net 4.0 के लिए प्रोजेक्ट में स्थापित करने में विफल रहा। संस्करण के लिए एकमात्र विकल्प 11.0.50727.1 था।
वेबकॉमर

1
क्या कोई कह सकता है कि यह नगेट वास्तव में माइक्रोसॉफ्ट का स्वामित्व है? यह Microsoft asemblies
BozoJoe

9

इस समस्या को हल करने के लिए, मुझे निम्नलिखित कार्य करने थे:

  1. व्यवस्थापकीय विशेषाधिकारों के साथ Visual Studio इंस्टालर लॉन्च करें
  2. यदि यह आपको Visual Studio में अद्यतन स्थापित करने के लिए संकेत देता है, तो जारी रखने से पहले ऐसा करें
  3. जब संकेत दिया जाता है, तो मौजूदा इंस्टॉलेशन को संशोधित करने के लिए बटन पर क्लिक करें
  4. शीर्ष पर "व्यक्तिगत घटकों" टैब / शीर्षलेख पर क्लिक करें
  5. "डीबगिंग और परीक्षण" अनुभाग तक नीचे स्क्रॉल करें
  6. "वेब प्रदर्शन और लोड परीक्षण उपकरण" के बगल में स्थित बॉक्स को चेक करें
  7. लापता DLL को स्थापित करने के लिए संवाद के निचले दाएं कोने पर स्थित संशोधित करें बटन पर क्लिक करें

एक बार DLL स्थापित होने के बाद, आप एजेंट को उनके उत्तर में बताए गए तरीके का उपयोग करके उनके संदर्भ जोड़ सकते हैं।


1
"वेब प्रदर्शन और लोड परीक्षण उपकरण" अब प्रकट नहीं होता है। आप हमारे बजाय चयन करने की क्या सलाह देंगे?
शफीक जेठा

@ शफीकजेठा, मैं अभी भी "वेब प्रदर्शन और लोड परीक्षण उपकरण" के लिए विकल्प देखता हूं। मैं Visual Studio Enterprise 2017 - 15.8.9 का उपयोग कर रहा हूं। आप कौन सा संस्करण उपयोग कर रहे हैं? ऐसा लगता है कि जब मैंने ऊपर पोस्ट लिखी थी, तब Microsoft ने इंस्टॉलर के इंटरफ़ेस को थोड़ा बदल दिया है। जब मैं विजुअल स्टूडियो इंस्टॉलर (इसे प्रशासक के रूप में चला रहा हूं) लॉन्च करता हूं, तो मैं "अपडेट" और "लॉन्च" बटन के दाईं ओर "अधिक" बटन पर क्लिक करता हूं, फिर "संशोधित करें" चुनें, फिर सूची में चरण 4 के साथ फिर से शुरू करें ऊपर मेरी पोस्ट।
एस। हूले

मैं विजुअल स्टूडियो 2017 के लिए बिल्ड टूल्स इंस्टॉलर का उपयोग कर रहा हूं, ताकि वह इसे समझा सके।
शफीक जेठा

@ शफीकजेटा आपने क्या प्रयोग किया?
विन शहरदार

@VinShahrdar मैं ईमानदारी से याद नहीं कर सकता; यह बहुत पहले था। मुझे लगता है कि हमने आवश्यक DLL प्राप्त करने के लिए किसी और के NuGet पैकेज का उपयोग करके समस्या के आसपास काम किया। या शायद हमने डीएलएल को रेपो में बचाया। मैं ईमानदारी से याद नहीं कर सकता, क्षमा करें।
शफीक जेठा

8

यदि आप Visual Studio 2017 समुदाय का उपयोग कर रहे हैं, तो स्थान है:

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\विज़ुअल स्टूडियो 2010 के व्यावसायिक संस्करण के लिए निर्देशिका में स्थित है , लेकिन ध्यान दें कि 10.0रिलीज के वर्ष के साथ मेल खाने के लिए बदल जाएगा, अर्थात वीएस 2013 संस्करण 12.0 था, वीएस 2015 संस्करण 14.0 था, वीएस 2017 15.0 है। (वीएस एक्सप्रेस का समर्थन नहीं किया गया है और इसके बजाय, न्यूगेट पैकेज मैनेजर के माध्यम से, एनयूएनआईटी नुगेट पैकेज स्थापित करने की आवश्यकता होगी।)

आप संदर्भ पर जाएं , राइट-क्लिक करें, संदर्भ जोड़ें, ब्राउज़ करें चुनें । पथ पर नेविगेट करें, फिर फ़ाइल पर डबल-क्लिक करें।

फिर, आपको usingअपने यूनिट टेस्ट क्लास के शीर्ष पर एक स्टेटमेंट की आवश्यकता है :

using Microsoft.VisualStudio.TestTools.UnitTesting;


1
ब्राउज़ करके, इसका अर्थ है तल पर ब्राउज़ करें बटन, बाईं ओर ब्राउज़ फ़ोल्डर नहीं।
एलन बलजेउ

@AlanBaljeu बहुत सच।
vapcguy

0

दृश्य स्टूडियो 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 संस्करण का उपयोग कर रहे हैं।


क्या आप जानते हैं कि संस्करण 2. * की आवश्यकता क्यों है? हम TFS 2017 पर हैं और इस त्रुटि में चल रहे हैं।
डिलेन्स्प्स

मैंने अभी QA से UAT तक कोड उठाया था और मैं SAME कंप्यूटर पर समान रूप से समान समाधान में समान पैरेंट फ़ोल्डर में SAME unittests का परीक्षण कर रहा हूं। लेकिन नू .. कोई अस्वाभाविक नहीं मिला .... मैं बाद के वर्षों में बनाए गए माइक्रोसॉफ़्ट पाथ नरक से बहुत थक गया हूं।
क्रिश्चियन

0

मुझे यह समस्या एक परियोजना को स्थानांतरित करने और इसे संकुल फ़ोल्डर को हटाने के बाद मिली। नुगेट दिखा रहा था कि MSTest.TestAdapter और MSTest.TestFramework v 1.3.2 स्थापित किया गया था। तय किया गया था कि वीएस को प्रशासक के रूप में खोला जाए और निर्माण किया जाए। इसके बाद मैं व्यवस्थापक के निजीकरण के बिना फिर से खोलने और बनाने में सक्षम था।


0

'Microsoft.VisualStudio.QualityTools.UnitTestFramework "NuGet पैकेट का संदर्भ जोड़ें और इसे सफलतापूर्वक इसका निर्माण करना चाहिए।


मुझे यकीन है कि अन्य सात प्रविष्टियाँ इस सटीक समाधान का सुझाव दे रही हैं, पाठकों को नहीं मिलती हैं। जब आप इसे दोहराते हैं तो पुनरावृत्ति और भी बेहतर होती है।
क्रिश्चियन

0

Visual Studio 2019 के साथ, एक .net कोर 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

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.