हम एक काफी जटिल दृश्य स्टूडियो समाधान है (57 परियोजनाओं, जिसमें से 19 वेबसाइट जो जब कोड को आगे बढ़ाने से चालू होने वाले लगभग हर समय का निर्माण करने में विफल रहता है, लेकिन फिर हम स्वयं निर्माण को गति प्रदान और पुनः प्रयास पर यह ठीक काम करता है।दृश्य स्टूडियो वेबसाइट बनाने सीआई सर्वर पर रुक-रुक कर विफल रहता है
इस समाधान में 57 परियोजनाएं हैं, जिनमें से 1 वेबसाइट परियोजनाएं हैं। (वेब अनुप्रयोग परियोजनाएं नहीं, कोई .csproj फ़ाइल नहीं है।) शेष कक्षा पुस्तकालय और पृष्ठभूमि नौकरियां हैं। 1 9 वेबसाइट परियोजनाओं को आईआईएस आभासी निर्देशिकाओं में एक बड़ी बहुआयामी सामग्री प्रबंधन प्रणाली में संरचित किया गया है।
बिल्ड सर्वर हडसन v1.395 है। निर्माण करने के लिए उपयोग किया जाने वाला आदेश है:
"C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\devenv.com" "SolutionName.sln" /rebuild Debug
जब निर्माण में विफल रहता है, यह हमेशा तो ठीक उसी वेबसाइट परियोजना पर करता है, ठीक उसी संदेश के साथ:
------ Rebuild All started: Project: C:\...\WebsiteName\, Configuration: Debug Any CPU ------
Validating Web Site
: Build (web): The application domain in which the thread was running has been unloaded.
Validation Complete
एक Google Search for this message वर्तमान में सहायक से कम है। This link वास्तविक समस्या के सबसे निकटतम हो जाता है लेकिन इसमें कोई समाधान नहीं है। स्पष्ट रूप से हम निर्माण के दौरान किसी भी समाधान फ़ाइलों को नहीं बदल रहे हैं क्योंकि यह बिल्ड सर्वर पर हो रहा है।
जब यह विफल रहता है, हम स्वयं निर्माण को गति प्रदान, और हम हम उम्मीद करते हैं के रूप में (क्षमा करें, संशोधित) मिलती है:
------ Rebuild All started: Project: C:\...\News2\, Configuration: Debug Any CPU ------
Validating Web Site
Building directory '/WebsiteName/Dir1/Dir2/'.
Building directory '/WebsiteName/'.
Building directory '/WebsiteName/Dir3/'.
// 22 more but you get the point
// A few warnings caused by our own use of the ObsoleteAttribute, nothing to be concerned about
Validation Complete
क्या इस आवेदन डोमेन उतार संदेश का कारण बन सकता है?
कुछ अन्य नोट्स:
- हमने सोचा कि यह हडसन स्मृति से बाहर चल रहा है हो सकता है, क्योंकि हम जावा का निरीक्षण इसे काफ़ी लीक है। इसलिए, हमने हर सुबह 6 बजे हडसन सेवा को पुनरारंभ करने के लिए एक कार्य जोड़ा। यहां तक कि निर्माण के दौरान जाने के लिए उपलब्ध स्मृति की एक उपलब्ध मात्रा और उपलब्ध स्मृति, यह अभी भी असफल रहा।
- ही भंडार करने के लिए एक धक्का भी एक बहुत सरल (केवल 22 परियोजनाओं, कोई वेबसाइट परियोजनाओं) एक ही समय में समाधान के निर्माण का कारण बनता है। वह हमेशा सफल होता है। साथ ही, मैन्युअल रूप से दोनों को एक ही समय में चलाने के लिए ट्रिगर करना सफल होता है।
- मैं जानता हूँ कि हम हडसन नवीनीकृत करना चाहिए, लेकिन वह हमेशा उन ठंडे बस्ते में परियोजनाओं हम कभी नहीं के लिए समय है लगता है में से एक है। किसी भी मामले में, मुझे काफी दृढ़ता से लगता है कि यह एक विजुअल स्टूडियो/एमएसबिल्ड समस्या है, न कि हडसन समस्या।
संपादित करें 1: MSBuild
MSBuild के साथ समस्या यह इतने सारे छोटे quirks कि दृश्य स्टूडियो में एक निर्माण से अलग देखते हैं कि है। डेवलपर मशीन पर विजुअल स्टूडियो में संकलन के समाधान के लिए यह बेहद निराशाजनक है और फिर बिल्ड सर्वर पर विफल रहता है। यहां तक कि MSBuild से उत्पादन काफी (और अधिक एक बात के लिए शब्द) अलग क्या हमारे डेवलपर्स उनके निर्माण उत्पादन विंडो में देखने से है। क्या अतिरिक्त कमांड लाइन झंडे हैं जो एमएसबिल्ड आउटपुट को विजुअल स्टूडियो बिल्ड विंडो में जो भी मिलता है उसके अनुरूप है?
वहाँ अन्य चीजें हैं जो बहुत अजीब हैं। आप एक परियोजना के रूप में ही नाम के एक समाधान फ़ोल्डर है हैं तो MSBuild इसके साथ एक त्रुटि लेकिन दृश्य स्टूडियो सौदों ठीक फेंकता है। वे क्विर्क हैं जो वास्तव में आपको अपने बालों को खींचते हैं।
एमएसबिल्ड के संबंध में, "संपादित करें 1" देखें जिसे मैंने अपने प्रश्न में जोड़ा था। जबकि मेरा पसंदीदा विकल्प नहीं है, मैं कोशिश करूँगा। मैं कोशिश/रन भी करूँगा, हालांकि हम सर्वर पर चारों ओर चिपके हुए डेवेनव उदाहरणों का पालन नहीं करते हैं। इसके अलावा एक स्पष्टीकरण - भले ही वे एक ही भंडार से * हैं, दोनों समाधान पूर्ण क्लोन हैं इसलिए दो समवर्ती डेवनव उदाहरणों के बीच किसी भी प्रकार की कोई साझा नहीं हो रही है। MSBuild पर लॉगिंग स्तर के संबंध में –
, आप इसे/वर्बोजिटी फ्लैग [एमएसडीएन लिंक] (http://msdn.microsoft.com/en-us/library/ms164311.aspx) का उपयोग करके बदल सकते हैं –
** यह विकल्प विजुअल स्टूडियो 7.0-9.0 (2003-2008) और सी ++ परियोजनाओं के लिए उपलब्ध नहीं है! ** (वीएस 10.0 परिवर्तित सी ++ परियोजनाओं को एमएसबिल्ड में परिवर्तित किया गया है, इसलिए यह संभव है)। –