विज़ुअल स्टूडियो से एज़्योर फ़ंक्शन प्रकाशित करने का प्रयास करते समय त्रुटि


13

मुझे निम्न त्रुटि संदेश मिलता है जब मैं विज़ुअल स्टूडियो का उपयोग करके अपने फ़ंक्शन को प्रकाशित करने का प्रयास करता हूं, किसी भी विचार को इसे कैसे ठीक किया जाए?

System.AggregateException: एक या अधिक त्रुटियां हुईं। ---> System.Exception: प्रकाशित में त्रुटि आई है। हम त्रुटि का कारण निर्धारित करने में असमर्थ थे। अधिक विवरण के लिए आउटपुट लॉग की जाँच करें। --- आंतरिक अपवाद स्टैक ट्रेस का अंत --- System.Threading.Tasks.Task.ThrowIfExceptional (बूलियन में System.Threading.T मास्क.Task.Wait (Int32 मिलीसेकंड टाइमआउट, कैंसिलेशनटोकन कैंसिलेशनटोकन) Microsoft.Publish.Framework पर। Model.DefaultPublishSteps। <> C__DisplayClass26_0.b__2 () System.Threading.Tasks.Task`1.InnerInvoke () System.Threading.Tasks.Task .Execute () पर --- पिछले स्थान से स्टैक ट्रेस का अंत जहां अपवाद था फेंक दिया --- System.Runtime.CompilerServices.TaskAwaiter पर। TaskAwaiter। (टास्क कार्य) System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (टास्क कार्य) Microsoft.Publish.Framework.ViewModel.Profile.electorViewModel.d__213.MoveNext () पर --- (इनर एक्सेप्शन # 0) सिस्टम। एक त्रुटि हुई। हम त्रुटि का कारण निर्धारित करने में असमर्थ थे। अधिक विवरण के लिए आउटपुट लॉग की जाँच करें। <--- MoveNext () --- पिछले स्थान से स्टैक ट्रेस का अंत जहां अपवाद को फेंक दिया गया था --- System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (टास्क कार्य) System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (कार्य पर) .Publish.Framework.ViewModel.ProfileSelectorViewModel.d__213.MoveNext () ---> (इनर एक्सेप्शन # 0) System.Exception: पब्लिश में एक त्रुटि आई है। हम त्रुटि के कारण को निर्धारित करने में असमर्थ थे। अधिक विवरण के लिए आउटपुट लॉग की जाँच करें। <--- MoveNext () --- पिछले स्थान से स्टैक ट्रेस का अंत जहां अपवाद को फेंक दिया गया था --- System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (टास्क कार्य) System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (कार्य पर) .Publish.Framework.ViewModel.ProfileSelectorViewModel.d__213.MoveNext () ---> (इनर एक्सेप्शन # 0) System.Exception: पब्लिश में एक त्रुटि आई है। हम त्रुटि के कारण को निर्धारित करने में असमर्थ थे। अधिक विवरण के लिए आउटपुट लॉग की जाँच करें। <--- d__213.MoveNext () ---> (इनर एक्सेप्शन # 0) System.Exception: पब्लिश में एक एरर आया है। हम त्रुटि के कारण को निर्धारित करने में असमर्थ थे। अधिक विवरण के लिए आउटपुट लॉग की जाँच करें। <--- d__213.MoveNext () ---> (इनर एक्सेप्शन # 0) System.Exception: पब्लिश में एक एरर आया है। हम त्रुटि के कारण को निर्धारित करने में असमर्थ थे। अधिक विवरण के लिए आउटपुट लॉग की जाँच करें। <---

System.Exception: प्रकाशित में त्रुटि आई है। हम त्रुटि के कारण को निर्धारित करने में असमर्थ थे। अधिक विवरण के लिए आउटपुट लॉग की जाँच करें।

===================


मैं दृश्य स्टूडियो 2019 में इस समय एक समान मुद्दे पर चल रहा हूं - हालांकि मैं अपने मामले में फ़ोल्डर में प्रकाशित करने का प्रयास कर रहा हूं। मैं अभी भी नीचे ट्रैक करने की कोशिश कर रहा हूं कि यह क्या कारण है, लेकिन मैंने अपने मामले में अब तक यह कोशिश की है: 1.) NuGet कैश साफ़ करें, 2.) बिन और obj फ़ोल्डर निकालें 3.) एक नया फ़ोल्डर प्रोफ़ाइल भी बनाया गया, आप आउटपुट लॉग फ़ाइल में क्या देखते हैं? उपयोगी कुछ भी?
VirtualValentin

आप के माध्यम से Git के माध्यम से तैनात करने की कोशिश की हैDeployment Center
पाव्ले

जवाबों:


8

क्या आप इसे आजमा सकते है this

पूरी तरह से Azure फ़ंक्शंस से सेटिंग सेटिंग Azure पोर्टल से WEBSITE_RUN_FROM_PACKAGE निकालें।


2
मैंने बिना किसी सफलता के ऐसा किया है।
रिक्यूसिएव

इसने मेरे लिए काम किया। मुझे यकीन नहीं है कि अगर यह पर्यावरण परिवर्तन होने पर या यह एक अवरुद्ध कॉन्फ़िगरेशन है, हालांकि यह Azure फ़ंक्शन को 'पुनरारंभ' से संबंधित है।
जस्टिन नेफ़ 13

5

यह एक Visual Studio टाइमआउट समस्या है, जिसका अर्थ है कि आपका कोड और कुछ अन्य सेटिंग्स समस्या की कुंजी नहीं हैं। यह त्रुटि तब होती है क्योंकि दृश्य रिलीज़ पर टाइमआउट सीमा निर्धारित करता है। (फ़ाइल बहुत बड़ी है या इंटरनेट की गति अस्थिर है)

यदि आपकी परिनियोजन परियोजना बहुत बड़ी नहीं है, तो आप इसे चलाने की कोशिश करने से पहले नेटवर्क की गति स्थिर होने तक प्रतीक्षा कर सकते हैं। बेशक, आप इस समस्या से बचने के लिए अन्य परिनियोजन विधियों की भी कोशिश कर सकते हैं, जैसे कि जिप की तैनाती


मैं zipdeploy का उपयोग करके इसे तैनात करने का मुकदमा कर चुका हूं। हालाँकि, जब मैं ऐप कंटेंट की जांच करता हूं, तो यह अपडेट हो जाता है, लेकिन जब मैं फंक्शन को रन करता हूं, तो यह पुराने वर्जन को चलाने लगता है?
रेस्क्यूवे

@ Recusiwe 'पुराने संस्करण को चलाने' का क्या अर्थ है? क्या आपको लगता है कि azure फ़ंक्शन का संस्करण बदल दिया गया है ip क्या ज़िप तैनात करने से यह समस्या हल हो गई है?
बोमनझू

"पुराने संस्करण" से मेरा मतलब है कि आखिरी संस्करण मैं वीएस से प्रकाशित करने में सक्षम था, न कि ज़िप-तैनात एक। एप्लिकेशन सामग्री में परिनियोजित ज़िप से कोड होता है, लेकिन यह इसे चलाता नहीं है। यह एक पुराना संस्करण चलाता है।
रिकुसिएव

@Recusiwe अब आप किस फंक्शन वर्जन का उपयोग कर रहे हैं? अब आप किस आईडीई का उपयोग कर रहे हैं? और आपके प्रोजेक्ट की असेंबली क्या है? ( .csprojफाइल) मुझे पहले भी इसी तरह की त्रुटि का सामना करना पड़ा था, यह उस समय की विधानसभा समस्या लगती है। कभी-कभी यह त्रुटि केवल Visual Studio 2019 में होती है। आप यह देखने के लिए Visual Studio 2017 का उपयोग करने का प्रयास कर सकते हैं कि क्या यह अपवाद अभी भी बाहर है। यदि आप Visual Studio 2017 का उपयोग कर रहे हैं, तो क्या आप Resharper का उपयोग करते हैं? मैं आपकी त्रुटि को पुन: उत्पन्न करने और इसी तरह से मिलने की कोशिश कर रहा हूं, लेकिन मुझे यकीन नहीं है कि यह आपकी स्थिति से संबंधित है।
बोमनझू

फंक्शन ऐप वी। 2 और विजुअल स्टूडियो 16.4.1
रिक्यूसिएव

0

GitHub जैसे प्लेफॉर्म पर अपने प्रोजेक्ट को साझा किए बिना, हमारे लिए विशिष्ट सलाह देना वास्तव में कठिन है, बहुत सारे चर हैं, NuGET पैकेजों और संदर्भों के इतने संयोजन हैं कि आपके प्रोजेक्ट में इस तरह से संघर्ष हो सकता है जो इस कारण होगा त्रुटि।

विशेष रूप से v2 फ़ंक्शंस के साथ, मैंने इस मुद्दे या इसी तरह के कई बार अनुभव किया है। फ़ंक्शंस के साथ सबसे बड़ा कारकों में से एक v1 और v2 के बीच प्रतिस्पर्धी अवधारणाएं हैं।

जब आप Azure में लक्ष्य संसाधन बनाने के लिए Visual Studio प्रकाशित विज़ार्ड का उपयोग करते हैं, तो इससे बड़ी सफलता मिलती है, यदि आप थोड़ी देर के लिए इससे जूझ रहे हैं, तो मैं सुझाव देता हूं कि आप इस प्रक्रिया का पालन करें, अवधारणा के प्रमाण के रूप में यदि कुछ और नहीं:

यह सलाह VS2017 और 2019 में समान रूप से अच्छी तरह से काम करती है

  1. एक ही समाधान में, दृश्य स्टूडियो में एक नया फ़ंक्शन प्रोजेक्ट बनाएं।
    • अपने मूल कार्य का नाम दोहराएं
  2. फ़ंक्शन को नए एज़्योर संसाधन में प्रकाशित करें, इस संसाधन को बनाने के लिए प्रकाशित विज़ार्ड का उपयोग करें।
  3. यदि प्रकाशन सफल है:
    • अपने मूल प्रोजेक्ट कोड को नए प्रोजेक्ट पर ले जाएं
    • उन नौगट पैकेजों के संस्करणों पर पूरा ध्यान दें, जिन्हें आप भरकर लाना चाहते हैं, उन्हें और उनकी निर्भरता को v2 के अनुरूप होना चाहिए
  4. यदि प्रकाशन सफल नहीं है
    • सुनिश्चित करें कि आप अपने विज़ुअल स्टूडियो को नवीनतम में अपग्रेड करें
    • सुनिश्चित करें कि आपके एज़्योर टूल भी नवीनतम में अपग्रेड किए गए हैं

अज़्योर फ़ंक्शंस के साथ सामान्य सफलता के लिए अंगूठे के एक सामान्य नियम के रूप में:

  1. .नेट फ्रेमवर्क परियोजनाओं के लिए v1 का उपयोग करें, या यदि आपके किसी संदर्भ प्रोजेक्ट या NuGET पैकेज में .Net Fx निर्भरताएँ हैं। (इसलिए। नेट 4 + ... या ऐसा कुछ भी जो नेट नेट नहीं है ।)

    यहां तक ​​कि जब उन निर्भरताएँ कई परियोजनाओं को लक्षित करती हैं, तो फ़ंक्शंस के साथ तैनाती विफल हो जाती है क्योंकि यह तैनाती के दौरान NuGET निर्भरता का मूल्यांकन करते समय सही मंच का ठीक से पता लगाने में सक्षम नहीं है।

  2. वी 2 का प्रयोग केवल के लिए नेट कोर परियोजनाओं, सुनिश्चित करें कि आपके संदर्भ भी केवल कर रहे हैं नेट कोर

अपने कोड को संक्षिप्त रूप से संकलित और प्रकाशित करें, अपने कोड को अक्सर फ़ंक्शन के साथ जांचने के लिए AzureDevOps या GitHub या अन्य स्रोत कोड रिपॉजिटरी का भी उपयोग करें। फ़ंक्शंस प्रोजेक्ट के शुरुआती चरणों में हम अक्सर उत्परिवर्ती रिफ़रेंस और नुगेट पैकेज लाते हैं और वे स्थानीय रूप से काम करते हैं लेकिन जब हम तैनात होते हैं तो नहीं।

  • स्रोत कोड रेपो का उपयोग करने से नए पैकेजों को स्थापित करने से पहले बदलाव करना आसान हो जाता है और यदि पैकेज को स्थापित करने से रोल-इन होता है तो यह एक गैर-तैनाती योग्य कोड होता है।
  • यह गन्दा लगता है, लेकिन नुगेट संस्करण के कारण, एक पैकेज स्थापित करने से पहले राज्य में वापस जाना, यह उस पैकेज को अनइंस्टॉल करने के रूप में आत्मसात नहीं करता है, इसमें बहुत आसानी से अन्य पैकेज अपग्रेड हो सकते हैं, और इस बदलते एज़्योर वातावरण में कई पैकेज लेखकों ने उन्नयन के लिए चुना है .Net फ्रेमवर्क और .Net कोर के बीच संसाधन, और न कि हमेशा उन्होंने इसे अच्छी तरह से किया है, या कभी-कभी कुछ .Net फ्रेमवर्क तत्वों को बनाए रखें जो एज़्योर फ़ंक्शंस में संघर्ष का कारण बनेंगे।

कुछ दिलचस्प चर्चाएँ हैं जो मदद कर सकती हैं:


हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.