2015-05-01 5 views
6

एक TeamCity निर्माण एजेंट चल रहा है मोनो प्रकट होता है के नवीनतम निर्माण के साथ एलटीसीUbuntu 14.04 पर NUnit परीक्षण चलाने के लिए कुछ निर्भरता मुद्दों के लिए जो मैं अपने जीवन के लिए हल नहीं कर सकता। मैं पालन किया है निम्न स्थापना कदमTeamCity NUnitLauncher लिनक्स (मोनो) पर चल देता है "Corlib नहीं इस क्रम के साथ सिंक में" त्रुटि

जब टीसी बिल्ड एजेंट NUnit कदम शुरू होता है, यह बस विफल रहता है, और लॉग को देख वह निष्पादित

से पता चलता
/usr/bin/mono-sgen /home/ubuntu/buildAgent/plugins/dotnetPlugin/bin/JetBrains.BuildServer.NUnitLauncher.exe 

जो तुरंत

के साथ लौटता है
Corlib not in sync with this runtime: expected corlib version 117, found 111. 
Loaded from: /usr/lib/mono/4.0/mscorlib.dll 
Download a newer corlib or a newer runtime at http://www.mono-project.com/download. 

क्या यह काम करने के लिए कोई संभावित तरीका है? मैंने सभी टुकड़ों को हटाने और फिर से स्थापित करने और मोनो बिल्ड के पुराने संस्करण को स्थापित करने का प्रयास किया है, लेकिन इसका कोई फायदा नहीं हुआ है।

टीसी कनेक्शन काम करने के लिए प्रकट होता है और मैं मैन्युअल रूप से आह्वान और अपने आप ही मोनो और यहां तक ​​कि nunit-सांत्वना लेकिन इस .exe द्वारा टीसी प्रदान की निर्माण linux गैर विशेषज्ञ के रूप में न रुकें है लगता है कॉल कर सकते हैं।

कृपया मुझे निर्भरता नरक से बचाएं !!

संपादित: मैं बस nunit-console स्थापित करने और एक्सएमएल रिपोर्ट प्रसंस्करण निर्माण सुविधा को सक्षम करने के बजाय corelib फाइलों के साथ चारों ओर खेलने और कुछ और तोड़ने से मेरी समस्या को हल करने समाप्त हो गया।

उत्तर

0

यह वह जगह है मैं यह कैसे आसपास काम किया: (कृपया ध्यान मेरी मोनो/opt/मोनो में है)

$ cd /opt/mono/lib/mono 
$ sudo mv 4.0 __4.0 
$ sudo ln -s 4.5 4.0 

यानी 4.0 फ़ोल्डर से छुटकारा और 4.5 सिमलिंक हो होने के लिए 4.0

यह वह जगह है एक हैक की कुछ लेकिन यह मुझे एक उचित फिक्स सतह तक चला गया और चल रहा है!

स्टीव

+0

टिप के लिए धन्यवाद लेकिन यह सिर्फ एक और त्रुटि के साथ समाप्त हो गया! मैं एक्सएमएल रिपोर्ट प्रोसेसिंग बिल्ड फीचर को सक्षम करने के साथ ही 'नूनिट-कंसोल' कमांड चरण चलाने का प्रयास कर रहा हूं। हालांकि परीक्षण सर्वर पर वापस स्ट्रीम नहीं करते हैं, लेकिन यह अभी काम करता है। – Rob

0

मैं 4.0.2 संकलन के बाद मेरे रास्पबेरी Pi पर इस समस्या थी लेकिन यह /4.5/

से लोड हो रहा है था यह मैं जा रहा है:

sudo mv /usr/lib/mono/4.5/mscorlib.dll /usr/lib/mono/4.5/_old_mscorlib.dll 
sudo cp /opt/mono-4.0.2/lib/mono/4.5/mscorlib.dll /usr/lib/mono/4.5 
2

mscorlib संस्करण की जगह केवल परेशानी के लिए पूछ रहा है - यानी TypeLoadException's और दोस्त आपको प्राप्त करने के लिए कोने के चारों ओर प्रतीक्षा कर रहे हैं।

मैंने जो किया वह टीसी नुनिट लांचर के मैन्युअल आमंत्रण के साथ टीमसिटी बिल्ड चरण को प्रतिस्थापित किया गया था, लेकिन इसे मोनो 4 का उपयोग करने के लिए मजबूर किया गया था।5:

mono --runtime=4.5 /Applications/buildAgent/plugins/dotnetPlugin/bin/JetBrains.BuildServer.NUnitLauncher.exe v4.0 MSIL NUnit-2.6.3 $(find **/bin/Release/*Tests.dll | paste -sd ";" -) 

मंगलाचरण सभी विधानसभाओं मैं एक वाइल्ड कार्ड का उपयोग में दिलचस्पी रखता हूँ खोजने के लिए कुछ खोल प्रवंचना का उपयोग करता है, लेकिन उस के अलावा अन्य को समझने के लिए आसान होना चाहिए।

मोनो ने अपना टूटा 4.0 रनटाइम तय किया तो यह अच्छा होगा। किसी ने पहले ही इसे https://bugzilla.xamarin.com/ पर रिपोर्ट किया है?

3

यह एक मोनो बग है, https://bugzilla.xamarin.com/show_bug.cgi?id=34675 देखें।

समस्या यह है कि मोनो केवल 4.0 असेंबली प्रदान करने के लिए स्थानांतरित हो गया, जिसमें mscorlib.dll भी शामिल है, केवल संदर्भ असेंबली के रूप में। उनमें केवल मेटाडेटा होता है और संकलक के लिए इसका उद्देश्य होता है। आम तौर पर एप्लिकेशन स्वचालित रूप से नवीनतम संस्करण का उपयोग करते हैं।

मोनो में लोडर कोड को v4.0.20506 या v4.0.30128 के एक स्पष्ट रनटाइम संस्करण को आगे बढ़ाने के लिए अपडेट नहीं किया गया था, जो TeamCity नवीनतम संस्करण में .exe.config फ़ाइलों में उपयोग कर रहा है। रनटाइम इसके बजाय 4.0 निर्देशिका और बेल्स से mscorlib.dll लोड करने का प्रयास करता है क्योंकि संस्करण बहुत पुराना है (यह उस संदर्भ से है जब संदर्भ असेंबली उत्पन्न हुई थी)।

समाधान के लिए, आप <build agent installdir>/plugins/dotnetPlugin/bin/JetBrains.BuildServer.NUnitLauncher.exe.config (और अन्य .exe.config फ़ाइलें) संपादित कर सकते हैं और निकालने के निम्नलिखित लाइनों:

<supportedRuntime version="v4.0.20506"/> 
<supportedRuntime version="v4.0.30128"/> 

यह एक बार काम कर TeamCity प्लगइन अद्यतन करने के लिए हालांकि फैसला करता है बंद हो सकता है।

+0

मैं इस काम की पुष्टि कर सकता हूं। मोनो बग की स्थिति के बारे में निश्चित नहीं है, इसे एक्सेस नहीं कर सकता (अधिकृत नहीं)। ऐसा लगता है कि फिक्स वर्तमान मोनो स्थिर रिलीज में नहीं है (अभी तक)। –

+0

वर्तमान स्थिति: मैंने अंतर्निहित बग को https://github.com/mono/mono/pull/2148 के साथ तय कर दिया है, लेकिन यह आगामी मोनो 4.2 में नहीं जा रहा है। मैं सुनिश्चित कर दूंगा कि इसके बाद पहली सेवा रिलीज में शामिल किया गया है। –

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