8

जब मैं विजुअल स्टूडियो ऑनलाइन में चेक-इन पर बिल्ड ट्रिगर करता हूं तो मुझे निम्न संदेश मिल रहा है। स्थानीय रूप से यह ठीक से संकलित और तैनाती करता है।विजुअल स्टूडियो ऑनलाइन (2015 संस्करण) में लापता पैकेजों की त्रुटियां बनाएं

संकुल \ Microsoft.Net.Compilers.1.0.0 \ उपकरण \ Microsoft.CSharp.Core.targets (67, 5)

अधिक सटीक होना, इस समस्या को वर्णित किया जा रहा है।

"Microsoft.CodeAnalysis.BuildTasks.Csc" कार्य विधानसभा सी से लोड नहीं किया जा सकता है: \ एक \ 1 \ s \ संकुल \ Microsoft.Net.Compilers.1.0.0 \ निर्माण .. \ उपकरण \ Microsoft.Build.Tasks.CodeAnalysis.dll। फ़ाइल या असेंबली फ़ाइल लोड नहीं हो सका: /// सी: \ a \ 1 \ s \ packages \ Microsoft.Net.Compilers.1.0.0 \ tools \ Microsoft.build.Tasks.CodeAnalysis.dll 'या इसकी निर्भरताओं में से एक । सिस्टम निर्दिष्ट फाइल का पता लगाने में नाकामयाब रहा। पुष्टि करें कि घोषणा सही है, कि असेंबली और इसकी सभी निर्भरताएं उपलब्ध हैं, और कार्य में एक सार्वजनिक वर्ग है जो Microsoft.Build.Framework.ITask लागू करता है।

तो, जाहिर है, मैं कुछ स्थानीय स्तर पर रखा साइट पर संकलन काम (अर्थात मेरी मशीन) बनाने फ़ाइलें लेकिन उन चेक-इन का उपयोग कर तैनात नहीं कर रहे हैं। मैंने किसी भी डीएलएल या इस तरह के मैन्युअल रूप से मेरे प्रोजेक्ट में नहीं रखा है। वहां मौजूद सब कुछ या तो स्रोत कोड आधारित है या पैकेज प्रबंधक के साथ प्राप्त किया गया है।

यह निम्न समस्याओं का समाधान करता है।

  1. मुझे नहीं पता कि वे कौन सी सटीक फाइलें हैं (विजुअल स्टूडियो ऑनलाइन में त्रुटि संदेश उस जानकारी का खुलासा नहीं करता है और मैं इसे स्थानीय रूप से पुन: उत्पन्न नहीं कर सकता)।
  2. मुझे यकीन नहीं है कि बिल्डिंग एजेंट के लिए सभी प्रासंगिक फाइलों को भंडार में कैसे मजबूती से धक्का देना है (मेरे अनुभव के अनुसार, यह स्वचालित रूप से किया जाता है)।

बिल्ड चरण में सेटिंग्स निम्नानुसार हैं।

  • समाधान:। ** \ * SLN
  • MSBuild तर्क:/p: DeployOnBuild = सच/p: WebPublishMethod = पैकेज/p: PackageAsSingleFile = सच/p: SkipInvalidConfigurations = सच/p : PackageLocation = "$ (निर्माण।artifactstagingdirectory) \\ "
  • प्लेटफार्म:
  • विन्यास:
  • साफ: बंद
  • पुनर्स्थापित NuGet पैकेज: जाँच
  • दृश्य स्टूडियो संस्करण: विजुअल स्टूडियो 2015
  • एमएसबिल्ड आर्किटेक्चर: MSBuild 86
  • रिकार्ड परियोजना विवरण: जाँच

उत्तर

20

जब nuget संकुल संस्करण नियंत्रण करने के लिए जाँच कर रहे हैं यह समस्या आमतौर पर होता है। संस्करण नियंत्रण में संकुल फ़ोल्डर हटाएं, और सुनिश्चित करें कि "packages.config" फ़ाइल को संस्करण नियंत्रण में चेक किया गया है। फिर एक नया निर्माण कतार।

+0

युप, मैंने हल किया कि 100 अलग-अलग कोणों (और यहां कुछ मदद) से बाहर निकलने के अनगिनत घंटों के बाद। असल में, मैंने जो खोजा है वह यह है कि यदि कोई ** निर्देशिका * संकुल *** में इसकी सभी सामग्री के साथ जांच करता है, तो यह भी काम करता है! इसे पूरी तरह से ओमेट करना और केवल ** फ़ाइल * packages.config *** में जांचना *** काम करता है। (बेशक, ** सही ** तरीका शायद ** ** ** उन सभी में जांच नहीं कर रहा है - पहला विकल्प।) क्या हुआ था कि मैंने * nupkg * फाइलें जमा की थीं लेकिन शेष नहीं थीं और इसे तोड़ दिया! यही कारण है कि मेरे वीएस ने शामिल/बहिष्कृत करने का सुझाव दिया ... –

+0

आप gitignore फ़ाइल में संकुल पथ भी जोड़ना चाह सकते हैं –

2

यह पता चला है कि NuGet संकुल भंडार के लिए प्रतिबद्ध थे और सबकुछ तोड़ रहे थे। रेपो से प्रोजेक्ट \ प्रोजेक्ट \ पैकेज निर्देशिका को हटाने से सभी बिल्ड समस्याएं हल हो गईं क्योंकि NuGet स्वचालित रूप से बिल्ड पर संकुल प्राप्त करता है।

0

मैं पैकेज के पिछले संस्करण के लिए अद्यतन और समस्या हल हो जाती

0

मैं निर्माण में संकुल फ़ोल्डर को मंजूरी दे दी है और कहा कि मेरे लिए यह तय हो गई।

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