मैं दो परिदृश्यों में इस समस्या में चला गया हूं।
सबसे पहले, जब मैं msbuild.exe का उपयोग करके कमांड लाइन से अपना समाधान बनाने का प्रयास करता हूं। दूसरे, जब मैं टीएफएस और सीआई का उपयोग करके अपने बिल्ड सर्वर पर एसएलएन और युक्त परियोजनाओं का निर्माण करने का प्रयास करता हूं।
मुझे यह दावा करने में त्रुटियां मिलीं कि संदर्भ गायब हैं। जब मेरे स्थानीय बिल्ड निर्देशिका और TFS सर्वर दोनों का निरीक्षण करते हैं तो मैं देखता हूं कि / संकुल फ़ोल्डर नहीं बनाया गया है, और नगेट संकुल को कॉपी नहीं किया गया है। एलेक्जेंडर के जवाब में सूचीबद्ध निर्देशों के बाद http://nuget.codeplex.com/workitem/1879 ने भी मेरे लिए काम नहीं किया।
मैंने VS2010 के माध्यम से पुनर्स्थापना संकुल को सक्षम किया है और मैंने VS2010 के भीतर से केवल काम का निर्माण देखा है। फिर से, msbuild का उपयोग करना विफल रहता है। मेरा वर्कअराउंड शायद पूरी तरह से अमान्य है, लेकिन मेरे पर्यावरण के लिए यह सब कुछ स्थानीय रूप से एक कमांड लाइन बिल्ड से काम कर रहा है, साथ ही साथ टीएफएस में एक सीआई बिल्ड से।
मैं। \ Nuget में गया और इस लाइन को .nuget \ NuGet.targets फ़ाइल में बदल दिया।
से:
<RestoreCommand>$(NuGetCommand) install "$(PackagesConfig)" -source "$(PackageSources)" -o "$(PackagesDir)"</RestoreCommand>
को: (नोटिस, चर के आसपास उद्धरण के बिना)
<RestoreCommand>$(NuGetCommand) install $(PackagesConfig) -source $(PackageSources) -o $(PackagesDir)</RestoreCommand>
मैं समझता हूं कि अगर मेरी निर्देशिकाओं में उनके स्थान हैं, तो यह विफल हो जाएगा, लेकिन मेरे पास मेरी निर्देशिकाओं में स्थान नहीं हैं और इसलिए इस वर्कअराउंड को सफलतापूर्वक पूरा करने के लिए मेरा निर्माण हुआ ... फिलहाल।
मैं कहूंगा कि आपके बिल्ड में डायग्नोस्टिक लेवल लॉगिंग चालू करने से पता चलता है कि msbuild द्वारा क्या कमांड निष्पादित किए जा रहे हैं। यह वही है जो मुझे अस्थायी रूप से लक्ष्य फ़ाइल को हैक करने के लिए प्रेरित करता है।