2013-07-11 26 views
6

मैंने Nuget Autoumapper और NUnit पैकेज के माध्यम से अपने समाधान में जोड़ा और वे मेरे कंप्यूटर में प्रोजेक्ट संकलित करते हैं और प्रोजेक्ट संकलित करते हैं।बिल्ड Nuuj संकुल के लिए टीमसिटी में विफल रहता है

जब मैं बिल्ड सर्वर इस समाधान मैं इस संदेश मिला निर्माण करने के लिए की घोषणा की:

[MSBuild] AutoMapper\AutoMapperSpike.csproj: Build default targets (1s) 
[10:35:50][AutoMapper\AutoMapperSpike.csproj] ResolveAssemblyReferences 
[10:35:50][ResolveAssemblyReferences] ResolveAssemblyReference 
[10:35:50][ResolveAssemblyReference] Primary reference "AutoMapper". 
[10:35:50][ResolveAssemblyReference] C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(1360, 9): warning MSB3245: Could not resolve this reference. Could not locate the assembly "AutoMapper". Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors. 
[10:35:50][ResolveAssemblyReference]   For SearchPath "{HintPathFromItem}". 
[10:35:50][ResolveAssemblyReference]   Considered "..\packages\AutoMapper.2.2.1\lib\net40\AutoMapper.dll", but it didn't exist. 

किसी को भी इस समस्या को हल करने के लिए पता है?

मैंने देखा कि एक और चीज यह है कि यह संकुल फ़ोल्डर के साथ सर्वर बनाने में कृत्रिम बनाता है। एकमात्र चीज जो यह नहीं कर सकती है वह बिल्ड सर्वर में प्रोजेक्ट का निर्माण करती है।

+0

क्या आपने स्वयं पैकेज में चेक किया है? – Arran

+0

पैकेज.कॉन्फिग और परियोजना संदर्भों के साथ सभी परियोजनाएं (एनयूजी द्वारा जोड़े गए डीएल सहित) चेक-इन हैं। – FelProNet

+0

फ़ाइल वास्तव में exsist करता है या नहीं? – stijn

उत्तर

0

आपको अपने समाधान में या तो अपने वीसीएस में पैकेजों की जांच करने की आवश्यकता है - बेहतर - enable NuGet package restore

+0

यह अभी भी ऐसा करने के बाद एक ही त्रुटि है। – FelProNet

6

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

मैं आपकी बिल्ड स्क्रिप्ट या .csproj फ़ाइलों के अंदर पर्यावरण चर सेट करने की कोशिश करने के खिलाफ अनुशंसा करता हूं। Here’s the blog article all about why it happened and what to set on your dev machine/build server.

+0

अरे, मैंने सफलता के बिना बिल्ड सर्वर पर इस पर्यावरण परिवर्तनीय को सेट करने का प्रयास किया। यह पहले की तरह ही एक ही समस्या है। – FelProNet

+0

क्या आपको पहले की तरह ही त्रुटि हो रही है, या त्रुटि में कोई बदलाव है। – RinoTom

+0

वही त्रुटि। अब के लिए मैं समाधान आइटम में तीसरे पक्ष पुस्तकालय का उपयोग कर रहा हूं जब तक कि मुझे इस समस्या का समाधान नहीं मिलेगा। मैं Nuget के साथ काम करना चाहता हूं जब तक कि इसे निर्माण सेवर में समस्याएं नहीं आतीं। – FelProNet

4

सुनिश्चित करें कि टीमसिटी वास्तव में पैकेज डाउनलोड करता है। आप NuGet पैकेज टैब पर, एकल निर्माण परिणाम पृष्ठ पर निर्माण इतिहास में देख सकते हैं। यदि आप वहां अपना पैकेज देखते हैं, तो पैकेज के साथ टीमसिटी ठीक है।

अगला, सुनिश्चित करें कि आप अपनी परियोजना को वीसीएस से ताजा बना सकते हैं, यानी एक स्वच्छ क्लोन लें और इसे बनाने की कोशिश करें, जैसा कि टीसी को करना है।

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

+0

स्वच्छ क्लोन ने मेरी समस्या का खुलासा किया। अच्छा टिप –

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