2012-02-01 12 views
7

मैं समाधान में सभी परियोजनाओं के लिए XML दस्तावेज़ बनाने की कोशिश कर रहा हूं, भले ही विकल्प प्रोजेक्ट गुणों में चेक न किया गया हो (और यह है मुख्य बिंदु)।MSBUILD समाधान में सभी परियोजनाओं के लिए एक्सएमएल दस्तावेज फ़ाइल जेनरेट करें (परियोजनाओं को छूए बिना)

मैं टीएफएस 2010 एसपी 1 का उपयोग कर रहा हूं और मेरी बिल्ड परिभाषा के "एमएसबिल्ड तर्क" क्षेत्र में इस "/ p: TreatWarningsAsErrors = true/p: GenerateDocumentation = true" के साथ प्रयास किया है। यह कुछ भी उत्पन्न नहीं करता है।

मैं भी /p:DocumentationFile=foo.xml है, जो यह काम करता है के साथ की कोशिश की, लेकिन मैं फ़ाइल पिछले संकलित परियोजना द्वारा ओवरराइड हो जाता है यह सोचते हैं, तो मैं एक चर के बजाय, लेकिन कोई भाग्य के साथ का उपयोग कर की कोशिश की, मैं

साथ करने की कोशिश की
/p:DocumentationFile=$(Project).xml, 
/p:DocumentationFile=$(localProject).xml 
/p:DocumentationFile=$(localBuildProjectItem).xml 

क्या एमएसबीयूआईएलडी के भीतर से सभी परियोजनाओं के लिए एक्सएमएल दस्तावेज बनाने का कोई तरीका है, भले ही इस परियोजना में विकल्प की जांच न हो?

पीएस: और हाँ मैं पहले से ही एक और धागा देखता हूं लेकिन मैं परियोजनाओं को संशोधित नहीं करना चाहता, यह एमएसबीयूआईएलडी के साथ ऐसा करने का पूरा बिंदु है।

अपना समय

+0

क्या आपको कभी इसके लिए समाधान मिला? नीचे दिया गया कोई भी समस्या – artfulhacker

+0

एनओपी को हल नहीं करता है, जहां तक ​​मुझे पता है, यह सबसे अच्छा है कि हम –

+0

प्राप्त कर सकते हैं, मैं एक संभावित समाधान सोच रहा था, स्लान के माध्यम से फिर से चल रहा था और अलग से csproj का निर्माण कर रहा था, तो दस्तावेज़ीकरणफाइल = .. होगा काम, मैंने इसे देखा लेकिन मैंने कभी भी इस प्रकार के सिंटैक्स को बिल्ड स्क्रिप्ट में कभी नहीं देखा है http://social.msdn.microsoft.com/Forums/vstudio/en-US/e46e2500-0acc-4e0f-95aa-ed282a73d2b0/get -all-csproj-files-in-build-template-when-building-sln – artfulhacker

उत्तर

2
  1. के लिए धन्यवाद Compile the Project गतिविधि देखने के लिए नीचे खोलें अपनी प्रक्रिया टेम्पलेट (यानी .: $/yourproject/BuildProcessTemplates/DefaultTemplate.xaml)

  2. स्क्रॉल।

  3. DocumentationFile, type = String, गुंजाइश नामक एक नया चर जोड़ें = Compile the Project
  4. स्थापित करने के लिए उसके डिफ़ॉल्ट मान:

    String.Format("{0}.XML", System.IO.Path.GetFileNameWithoutExtension(serverBuildProjectItem)) Compile the Project

  5. सहेजें परिवर्तन और Run MSBuild for Project गतिविधि के लिए नीचे स्क्रॉल। String.Format("/p:SkipInvalidConfigurations=true {0};DocumentationFile={1}", MSBuildArguments, DocumentationFile) Run MSBuild for Project

  6. परिवर्तन चेक-इन और निर्माण:

  7. CommandLineArguments में, निम्न मान सेट करें। यह प्रलेखन उत्पन्न करना चाहिए भले ही यह परियोजना द्वारा सेट नहीं किया गया हो।

+0

मैं इस उत्तर को चिह्नित करूंगा क्योंकि मुझे लगता है कि यह कार्य को संशोधित किए बिना हम सबसे अच्छा प्राप्त कर सकते हैं, ऐसा लगता है कि एमएसबिल्ड कार्य में परियोजना संग्रह वास्तव में है निर्माण परिभाषा में चयनित समाधान और प्रत्येक समाधान की व्यक्तिगत परियोजनाओं –

+0

यह xml फ़ाइल बनाता है लेकिन यह कई परियोजनाओं के साथ एक एसएलएन बनाने के दौरान फ़ाइल को प्रतिस्थापित करने से नहीं रोकता है – artfulhacker

संबंधित मुद्दे

 संबंधित मुद्दे