5

हमारे निरंतर एकीकरण सर्वर (टीमसिटी 5.1.3) पर हमारे पास एक एमएसबिल्ड स्क्रिप्ट है जो स्वचालित रूप से हमारे अनुप्रयोगों का निर्माण कर रही है।केवल जेनरेट की गई फ़ाइलों के लिए "त्रुटि के रूप में चेतावनी" को अक्षम कैसे करें? (एमएसबिल्ड)

जब हम सक्षम "त्रुटि के रूप में चेतावनी": दृश्य स्टूडियो में, यह ठीक निर्माण (यह "* .designer.cs" फ़ाइलों के भीतर तरीकों पर ध्यान नहीं देता लेकिन निर्माण सर्वर पर हम हमेशा निम्न त्रुटि प्राप्त:।

[(Rebuild target(s)):] somefile.Designer.cs(XX, XX): error CS1591: Warning as Error: Missing XML comment for publicly visible type or member... 

MSBuild स्क्रिप्ट है कि इस्तेमाल किया जा रहा इस तरह दिखता है:

<MSBuild Projects="proj\$(ProjectName).sln" 
     Targets="Clean;Rebuild" 
     Properties="Configuration=Release" 
     StopOnFirstFailure="True"> 
</MSBuild> 

मैं समझ सकता क्यों यह है कि करता है, लेकिन एक तरह से उत्पन्न फ़ाइलों में टिप्पणी याद आ रही अनदेखी करने के लिए MSBuild बताने के लिए वहाँ होना चाहिए

?

संपादित

थोड़ा आगे खुदाई: दृश्य स्टूडियो समाधान हम "त्रुटि के रूप में चेतावनी" जाँच की थी में लेकिन हम भी त्रुटि 1591 "को रोकें चेतावनी" पाठ बॉक्स में सूचीबद्ध जोड़ें। एमएसबिल्ड ऐसा लगता है कि "दबाने की चेतावनी" टेक्स्टबॉक्स नहीं उठाता है और निर्माण में विफल रहता है। ऐसा कुछ भी जो मैं कर सकूँ?

संपादित फिर समस्या यह है कि किसी भी MSBuild सीपीयू लक्ष्यीकरण था (और "किसी भी सीपीयू" विन्यास में हम त्रुटि 1591 दबा फ्लॉप) था। एक बार जब हमने त्रुटि 1591 को बाहर करने के लिए किसी भी CPU को बदल दिया, तो यह सब बिल्ड सर्वर पर सही ढंग से निर्माण करना शुरू कर दिया। मदद करने वालों के लिए धन्यवाद।

उत्तर

3

नहीं, एमएसबिल्ड एक्सएमएल टिप्पणियों के बारे में पसंद नहीं है। आप जो भी कोड विश्लेषण उपकरण उपयोग करते हैं वह है। StyleCop जैसे कुछ पर अनुमान लगा रहा है। यह इस सटीक समस्या के बारे में शिकायत करता है, यह विंडोज फॉर्म प्रोजेक्ट टेम्पलेट्स के बराबर नहीं है, यह बहुत स्मार्ट नहीं है।

यदि आप बिल्ड सर्वर पर लागू होते हैं तो आप देवताओं पर उसी तरह के निर्माण नियमों को लागू करते हैं, तो आप केवल इस समस्या को हल करने जा रहे हैं। क्योंकि यह उनमें से एक को संपादन कोड को संपादित करने के लिए ले जाएगा, जो कि यह एक Mumble.Designer.cs फ़ाइल में है और [जेनरेटेडोड] विशेषता लागू करें। यह अब नहीं है।

यह एक राजनीतिक समस्या है, एक मैं वास्तव में आपकी मदद नहीं कर सकता। न ही माइक्रोसॉफ्ट समूह जो इस पर विभिन्न समय और विभिन्न इमारतों पर काम करते थे। लेकिन यदि आप समस्या को हल करने के लिए कहते हैं तो आप जोर से भौंकने वाले देवताओं पर भरोसा कर सकते हैं।

इसे सुसंगत बनाओ।

+0

मैं अपने सवाल नई जानकारियां मैंने पाया प्रतिबिंबित करने के लिए संपादित किया है। Altough मैं अभी भी थोड़ा परेशान हूँ, आपके जवाब ने मुझे सही दिशा में खोदने में मदद की। – Benoittr

+0

यहां तक ​​कि कठिन जवाब सीधे सवाल का जवाब नहीं दे रहा था (और मेरा प्रश्न पहले बिल्कुल स्पष्ट नहीं था ... संपादन देखें) मैं आगे बढ़ गया और आपका जवाब स्वीकार कर लिया क्योंकि किसी भी तरह से यह मुझे जवाब देने के लिए नेतृत्व करता है। – Benoittr

2

आप अपने msbuildcall में निम्नलिखित संपत्ति जोड़कर टिप्पणियों की चेतावनी को अनदेखा कर सकते हैं: nowarn = "1591,1573"।

<MSBuild Projects="proj\$(ProjectName).sln" 
    Targets="Clean;Rebuild" 
    Properties="Configuration=Release;nowarn=1591,1573" 
    StopOnFirstFailure="True"> 
</MSBuild> 
0

मेरे लिए समस्या केवल एक एसओएपी सेवा संदर्भ के साथ एक डीएलएल परियोजना पर हो रही थी। जब मैंने बिल्ट टैब पर प्रोजेक्ट सेटिंग्स खोले तो मैंने देखा कि "एक्सएमएल डॉक्यूमेंटेशन फाइल" नामक एक चेकबॉक्स चेक किया गया है। टिप्पणी करने के लिए एसओएपी सेवा के हर खुला सदस्य को मजबूर करने का यही कारण था!

This checkbox enforces /doc option in my build settings

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