2014-04-30 8 views
6

उत्पन्न नहीं कर रहा है मैं यह नहीं समझ सकता कि मुझे नकली उत्पन्न करने के लिए क्या करना है। मेरी टेस्ट प्रोजेक्ट में मैंने उस असेंबली का संदर्भ शामिल किया जिसे मैं नकली बनाना चाहता हूं। इसमें जोड़ा गया/नकली/< असेंबली का नाम >। मेरे प्रोजेक्ट में आता है और इसने प्रोजेक्ट बनाया है। चेतावनियों का एक टन था, लेकिन 0 त्रुटियां हैं और निर्माण सफलतापूर्वक पूरा हो गया है। लेकिन यह जेनरेटेड के लिए कोई संदर्भ नहीं जोड़ रहा है। असेंबली।नकली असेंबली

अधिकांश चेतावनियां ऐसी चीजें थीं जो एक enum के लिए स्टब्स या शिम उत्पन्न नहीं कर सकती हैं, या कुछ निजी वर्ग नकली असेंबली के लिए दृश्यमान नहीं है। असेंबली में वास्तव में केवल 1 वर्ग है जिसे मैं शिम करना चाहता हूं, और कुछ भी नहीं जिसे मैं स्टब करना चाहता हूं। इसलिए मैं .fakes फ़ाइल संपादित:

<Fakes xmlns="http://schemas.microsoft.com/fakes/2011/" 
     Diagnostic="true"> 
    <Assembly Name="[assembly name]"> 
    <StubGeneration> 
     <Clear /> 
    </StubGeneration> 
    <ShimGeneration> 
     <Clear /> 
     <Add Namespace="[namespace that the 1 class I want to shim is in]" /> 
    </ShimGeneration> 
    </Assembly> 
</Fakes> 

मैं साफ किया और परियोजना फिर से बनाया, और मैं अभी भी चेतावनी की टन हो रही है, और कोई त्रुटि है, कि यह ठूंठ नहीं कर सकते हैं या शिम वर्गों है कि मैं से बाहर कर दिया फ़ाइल बनाता है, और .फेक असेंबली अभी भी उत्पन्न नहीं हो रहा है।

मैं वास्तव में इसे स्टब्स बनाने की कोशिश करने से रोकता हूं और केवल विशिष्ट नामस्थान में कक्षाओं के लिए शिम बना रहा हूं? http://msdn.microsoft.com/en-us/library/hh708916.aspx की जानकारी जाहिर है, सही नहीं है।

इसके अलावा, मैंने असेंबली तत्व से संस्करण विशेषता हटा दी है, लेकिन मुझे जो चेतावनियां मिल रही हैं उनमें अभी भी नामस्थान में संस्करण संख्या शामिल है। उसके साथ क्या है?

+0

नोट कुछ कठिनाइयों देखते हैं कि कक्षाओं सील या mscorlib से कुछ वर्गों रहे हैं कर रहे हैं। नकली होना संभव नहीं हो सकता है। वर्तमान में, हमारे पास आपके मुद्दे के कारण की व्याख्या करने के लिए पर्याप्त जानकारी नहीं है। – Magus

+0

असेंबली में कुछ मुहरबंद वर्ग हैं, लेकिन मुझे उन लोगों में दिलचस्पी नहीं है। जिस वर्ग को मैं तैरने की कोशिश कर रहा हूं वह सार्वजनिक है और मुहरबंद नहीं है। मैं उन मुहरबंद वर्गों को बाहर करने के लिए .fakes फ़ाइल को संशोधित करने का प्रयास कर रहा हूं। यह सिर्फ फाइलों में रखे गए चीज़ों की परवाह नहीं करता है। – Nick

+0

@ निक आपको अपना जवाब मिला? मेरी भी यही समस्या है! –

उत्तर

8

मुझे पता चला कि मेरी समस्या क्या थी। मैंने सोचा कि StubGeneration और ShimGeneration विधानसभा के बाल तत्व होने चाहिए, लेकिन वे नहीं हैं। उन्हें नकली बच्चों और विधानसभा के भाई बहन माना जाता है। इस के लिए मेरे .fakes फ़ाइल बदलने के बाद, यह काम करता है:

<Fakes xmlns="http://schemas.microsoft.com/fakes/2011/" 
     Diagnostic="true"> 
    <Assembly Name="[assembly name]" /> 
    <StubGeneration> 
    <Clear /> 
    </StubGeneration> 
    <ShimGeneration> 
    <Clear /> 
    <Add Namespace="[namespace that the 1 class I want to shim is in]" /> 
    </ShimGeneration> 
</Fakes> 
+1

के बाद आते हैं धन्यवाद यह मेरी समस्या थी भी। आपको अपना जवाब चिह्नित करना चाहिए ... –