2010-01-05 11 views
5

मैंने हमारे लिंग-टू-एसक्यूएल एप्लिकेशन में इकाइयों और संबंधित वर्ग फ़ाइलों को उत्पन्न करने के लिए एक सी # कोड जनरेटर लिखा है। कोड जनरेटर को टीएफएस में फ़ाइलों को जोड़ने/हटाने और उन्हें .csproj फ़ाइल से जोड़ने/हटाने की आवश्यकता है ताकि उन्हें अपनी संबंधित परियोजनाओं में ठीक से शामिल या बहिष्कृत किया जा सके।.csproj फ़ाइल - प्रोग्रामेटिक जोड़ना/हटाना फाइल

मैंने टीएफएस इंटरैक्शन का पता लगाया है लेकिन प्रोग्रामरिक रूप से .csproj फ़ाइलों से फ़ाइलों को जोड़ने/हटाने के सर्वोत्तम या मानक तरीके के रूप में उत्सुक था। किसी के भी पास इस के साथ कोई भी अनुभव है?

धन्यवाद - रैंडी

+0

कैसे TFS बातचीत काम करता है? क्या आपके पास कोई लिंक है? –

उत्तर

1

एक और विकल्प विजुअल स्टूडियो ऑटोमेशन मॉडल का उपयोग करना है। विजुअल स्टूडियो के अंदर से आप मैक्रो कोड (वीबीए) का उपयोग कर प्रोजेक्ट को संशोधित कर सकते हैं। This page on MSDN में मुख्य स्वचालन पुस्तकालय दस्तावेज के लिंक हैं।

ऐसा करने से, आप एक बहुत ही धीमी एकीकरण बना सकते हैं। उदाहरण के लिए आप एक विजुअल स्टूडियो मैक्रो कर सकते हैं जो आपको कोड जनरेशन प्रक्रिया को बंद कर देता है और फिर परिणामी फ़ाइलों को प्रोजेक्ट में जोड़ता है।

+0

यह सबसे अच्छा तरीका हो सकता है। मैं बस डीटीई ऑब्जेक्ट के बारे में पढ़ना शुरू कर रहा था। –

1

यह सभी एक्सएमएल है। इसे एक डोम में लोड करें और इसके साथ अपना रास्ता लें।

+1

मैं बल्कि "इसके साथ अपना रास्ता" न सिर्फ बल्कि wold। अगर मुझे यह गलत लगता है तो मैं पूरी परियोजना को खत्म कर दूंगा। मैं यह सही करने के लिए नमूना कोड की तलाश में था। –

+0

@RandyMinder यदि आप अपने सभी कोड को स्रोत नियंत्रण में रखते हैं तो आप इसे खराब नहीं करेंगे :) http://github.com! –

5

.csproj फ़ाइलें केवल एक्सएमएल हैं, और वे एक एक्सएसडी के अनुरूप हैं। नए एक्सएमएल तत्वों को जोड़ना यह सब कुछ होना चाहिए। Where can I find the schema (XSD) for a .csproj file?

0

मैं कोड जनरेटर जो इस परियोजना को संशोधित नहीं देखा है:

XSD पर एक नज़र डालें खोजने के लिए। परियोजना हमेशा जेनरेट की गई फाइलों से अवगत है, लेकिन वास्तविक फाइलें शामिल नहीं हैं।

+1

इससे मुझे कोई समझ नहीं आती है। एक प्रोजेक्ट जेनरेट की गई फाइलों के बारे में "जागरूक" कैसे हो सकता है लेकिन वास्तव में उन्हें परियोजना में शामिल नहीं किया गया है? यह क्या अच्छा करता है? फाइलें अभी भी परियोजना का हिस्सा नहीं हैं। –

0

आप एक नमूना फ़ाइल & तो यह की चर्चा करते हुए आप एक्सएमएल फ़ाइल को संपादित कर सकते मामले ".aspx" बनाने के लिए: {

   if ((File.ReadAllText((GlobalVariables.sDestinationPath).Trim() + "" + GlobalVariables.sProjName + "\\" + GlobalVariables.sProjName + projExtention).Contains("<Content Include=\"" + fileName1 + "\" />")) == false) 
        { 
         fileReader = File.ReadAllText(GlobalVariables.sDestinationPath + "" + GlobalVariables.sProjName + "\\" + GlobalVariables.sProjName + projExtention + "").Replace("<Content Include=\"Web.config\" />", "<Content Include=\"Web.config\" />" + "\n" + " <Content Include=\"" + fileName1 + "\" />"); 
         File.WriteAllText(GlobalVariables.sDestinationPath.Trim() + "" + GlobalVariables.sProjName + "\\" + GlobalVariables.sProjName + projExtention + "", fileReader); 

         fileReader = File.ReadAllText(GlobalVariables.sDestinationPath.Trim() + "" + GlobalVariables.sProjName + "\\" + GlobalVariables.sProjName + projExtention + "").Replace("<Compile Include=\"" + pathfol + "\" />", "<Compile Include=\"" + pathfol + "\" />" + "\n" + " <Compile Include=\"" + fileName1 + ".vb\" > " + "\n" + "  <DependentUpon>" + fileName1 + "</DependentUpon>" + "\n" + "  <SubType>ASPXCodeBehind</SubType>" + "\n" + " </Compile>" + "\n" + " <Compile Include=\"" + fileName1 + ".designer.vb\">" + "\n" + "  <DependentUpon>" + fileName1 + "</DependentUpon>" + "\n" + " </Compile> "); 
         File.WriteAllText(GlobalVariables.sDestinationPath.Trim() + "" + GlobalVariables.sProjName + "\\" + GlobalVariables.sProjName + projExtention + "", fileReader); 
        } 
संबंधित मुद्दे