मैं एक नया ऐड परियोजना बनाने के लिए विज़ार्ड "दृश्य स्टूडियो के लिए ऐड-में" इस्तेमाल किया और अब, मैं कुछ ईवेंट हैंडलर्स जोड़ने के लिए कोशिश कर रहा हूँ:ऐड-में घटनाओं कभी नहीं क्रियान्वित कर रहे हैं
public void OnConnection(object application, ext_ConnectMode connectMode, object addInInst, ref Array custom)
{
_applicationObject = (DTE2)application;
_addInInstance = (AddIn)addInInst;
_applicationObject.Events.BuildEvents.OnBuildBegin += BuildEvents_OnBuildBegin;
_applicationObject.Events.BuildEvents.OnBuildDone += BuildEvents_OnBuildDone;
_applicationObject.Events.SelectionEvents.OnChange += SelectionEvents_OnChange;
_applicationObject.Events.DocumentEvents.DocumentOpened += DocumentEvents_DocumentOpened;
_applicationObject.Events.DocumentEvents.DocumentSaved += DocumentEvents_DocumentSaved;
}
लेकिन जो कुछ भी मैं करता हूं, मेरे हैंडलर कभी निष्पादित नहीं होते हैं!
क्या मैं अंधा हूं? क्या मुझे इन हैंडलर को पंजीकृत करने के लिए कुछ और करना है या यह क्यों काम नहीं करता है?
मैं कभी कभी एक ही समस्या है ....। कभी-कभी जब मैं तैनाती करता हूं, घटनाएं काम करती हैं .. और कभी-कभी नहीं। कुछ समझ नहीं आया। – Earlz
BuildEvents के लिए: यह API .NET Framework आधारभूत संरचना का समर्थन करता है और इसका उद्देश्य सीधे आपके कोड से उपयोग नहीं करना है। केवल माइक्रोसॉफ्ट आंतरिक उपयोग। – jessehouwing
शायद _applicationObject कचरा एकत्र किया जा रहा है? –