मैं वर्तमान में सभी फीचर ग्रिड को फ़ाइल में लाने के लिए अपनी सभी परियोजनाओं (शेयरपॉइंट) पर फिर से प्रयास करने की कोशिश कर रहा हूं। वहां मैं परियोजनाओं के नाम से उन्हें उपसर्ग करना चाहता हूं। मेरी समस्या डीटीई है। सॉल्यूशन.इटम और डीटीई। सॉल्यूशन.प्रोजेक्ट्स इटिम (या फोरैच के लिए एन्युमरेटर्स) एक पूर्णांक नहीं लेते हैं क्योंकि पैरामीटर और फोरैच एक ऑब्जेक्ट देता है जो प्रोजेक्ट में जा सकता है। कोड ठीक है - - डिबगर नहीं हैसी # टी 4 टेम्पलेट में डीटीई के माध्यम से परियोजनाओं तक पहुंच
var hostServiceProvider = (IServiceProvider) Host;
var dte = (DTE) hostServiceProvider.GetService(typeof(DTE));
var projectCount = dte.Solution.Projects.Count;
var projects = new Dictionary<string, string>();
foreach(Project dteProject in dte.Solution)
{
var dteProject = dte.Solution.Item(i);
projects.Add(dteProject.Name, dteProject.FullName);
}
ठीक है:
यहाँ मेरी कोड स्निपेट है! मेरी अपवाद जहां डीबग संदर्भ में फेंक दिया गया है, लेकिन अगर डिबगर संलग्न नहीं है, तो टेम्पलेट ठीक चला जाएगा।
मैं इस सटीक एक ही समस्या देख रहा हूँ की कोशिश करो, और सिर्फ यह आज सुबह (सवाल पर अच्छा समय) का सामना करना पड़ा। मेरे मामले में यह Project.ProjectItems को पुन: सक्रिय करते समय एक अवैधCastException फेंक रहा है। जैसा कि नीचे वर्णित है, यह केवल टेम्पलेट को डिबग करते समय फेंकता है। – daveaglick