9

आग नहीं करतीं, मेरा पहला वीएस एडिन विकसित करने की कोशिश करते समय, मुझे डीटीई 2 घटनाओं को फायर करने में समस्याएं आ रही हैं।डीटीई 2 घटनाएं

असल में, दस्तावेज़ ओपेन और लाइन चेंजेड घटनाएं किसी कारण से आग नहीं लगती हैं। मुझे क्या महत्वपूर्ण हिस्सा याद आया?

namespace TestAddin { 
    public class Connect : IDTExtensibility2 { 
    private AddIn _addInInstance; 
    private DTE2 _applicationObject; 

    public void OnConnection(object application, ext_ConnectMode connectMode, object addInInst, ref Array custom) { 
     _applicationObject = (DTE2) application; 
     _addInInstance = (AddIn) addInInst; 

     _applicationObject.Events.DocumentEvents.DocumentOpened += InitializeFoldingOnDocument; 
     _applicationObject.Events.TextEditorEvents.LineChanged += UpdateFoldingOnDocument; 
    } 

    private void UpdateFoldingOnDocument(TextPoint startpoint, TextPoint endpoint, int hint) { 
     RegionFolding(_applicationObject.ActiveDocument); 
    } 

    private void InitializeFoldingOnDocument(Document document) { 
     RegionFolding(document); 
    } 

    private void RegionFolding(Document _document) { 
     // Do the folding [...] 
    } 

    // Other IDTExtensibility2 Members [...] 
    } 
} 

उत्तर

20

आपको DocumentEvents क्लास को सहेजने की आवश्यकता है। मुझे लगता है कि वे उजागर हो जाएंगे या कचरा इकट्ठा किया जाएगा।

मेरे मामले में।

+0

यही है, धन्यवाद! – fjdumont

+1

यहां एक नौसिखिया वीएसएक्स डेवलपर होने के नाते, यह मुझे बहुत अच्छा मिला। यदि कोई दिलचस्पी लेता है तो इस विषय पर माइक्रोसॉफ्ट केबी समस्या लेख है: http://support.microsoft.com/kb/555430 –

+0

मुझे नहीं पता कि आपने इसे कैसे समझ लिया लेकिन यह शानदार है! –

0

मुझे इस समस्या का एक अलग समाधान मिला।

मैं अपनी घटना सदस्यता करने से पहले बॉक्सिंग और मेरे डीटीई ऑब्जेक्ट को अनबॉक्स कर रहा था। यह अपमानजनक रूप से मेरे लिए अपराधी साबित हुआ। हालांकि यह आपकी समस्या नहीं थी, यह उन अन्य लोगों की मदद कर सकती है जिनके समान मुद्दे हैं; और यह जानना अच्छा है कि आप वही गलतियों को नहीं करते हैं जो मैंने हल करने के लिए काफी समय लगाया।

यहां देखें: http://social.msdn.microsoft.com/Forums/en-US/vsx/thread/eb1e8fd1-32ad-498c-98e9-25ee3da71004