मुझे एक ही त्रुटि मिल रही थी (एक दूसरी मशीन पर विरासत वीबी 6 कॉड से .NET ऑब्जेक्ट का उपभोग नहीं कर सका, यह पहली मशीन पर काम कर रहा था, जहां मैंने इसे मूल रूप से लिखा था)। .NET DLL संकलित और पंजीकृत बस ठीक है - मैंने सभी प्रकार के संयोजनों की कोशिश की - वीएस में "COM इंटरऑप के लिए रजिस्टर" निर्माण सेटिंग का उपयोग किए बिना और बिना; मैन्युअल रूप से regasm.exe के माध्यम से पंजीकरण कर रहा है और इसे/codebase पैरामीटर के साथ और बिना दोनों को आजमा रहा है; COM दृश्यमान असेंबली-स्तर विशेषता को सक्षम और दबाने दोनों की कोशिश की (जब दबाने पर, मैंने कक्षा से विशेषता को सेट किया जो मुझे COM से उपभोग करने की आवश्यकता है)। लेकिन कुछ भी काम नहीं किया, मुझे एक ही त्रुटि मिल रही थी।
बाहर निकलता है मैंने डीएलएल आउटपुट को .NET 4 में अपग्रेड किया था।5 दूसरी मशीन पर, जबकि यह मूल रूप से .NET 2.0 असेंबली का निर्माण कर रहा था। मेरे प्रोजेक्ट में तीसरे पक्ष इंटरऑप डीएलएल को लक्षित करने वाले कुछ संदर्भ थे जो .NET 2.0 चला रहे थे। जब मैंने या तो इन संदर्भों को अद्यतन किया और डीएलएल को फिर से बनाया- मेरी परियोजना को .NET 2.0 पर चलाने के लिए सेट किया गया - मेरी समस्या हल हो गई। जब/कोडबेस (जो वीएस स्वचालित रूप से करता है) का उपयोग करते समय मुझे पता चला कि मुझे अपनी डीएलएल को एप्लिकेशन निर्देशिका में या \ syswow64 में डालने की आवश्यकता नहीं है। एमएसडीएन दस्तावेज़ों का कहना है कि/codebase का उपयोग करते समय आपको अपनी असेंबली के लिए एसएन (मजबूत नाम) का उपयोग करना होगा, लेकिन मुझे लगता है कि आपको यह नहीं करना है; आप बस regasm.exe कमांड लाइन उपकरण से एक चेतावनी प्राप्त करते हैं।
बिंदु एक COM इंटरऑप दृष्टिकोण से है, आपके द्वारा लक्षित किए जा रहे .NET Framework के संबंध में अपनी निर्भरताओं के .NET रनटाइम संस्करण के बारे में सावधान रहें।
मैंने सी: \ temp में स्थित असेंबली के पूर्ण पथ पर regasm का उपयोग करने का प्रयास किया, लेकिन फिर भी वही त्रुटि – ingt
तो मुझे लगता है कि ProcessMonitor - http://technet.microsoft.com शुरू करने के लिए आपकी सबसे अच्छी शर्त है /ru-ru/sysinternals/bb896645.aspx - और देखो कि वास्तव में कौन सी फ़ाइल नहीं मिली है। यह कुछ आश्रित असेंबली हो सकती है जिसे आप बिल्कुल नहीं जानते हैं। एक बार जब आप निश्चित रूप से जानते हैं तो इसे हल करना बहुत आसान होगा। – sharptooth
sharptooth, इस उत्तर के लिए * बहुत * बहुत धन्यवाद। यह आज मेरे छिपे बचाया! –