2016-01-05 5 views
14

मैं msdeploy का उपयोग करके लगभग 4 महीने के लिए अपने Azure वेब ऐप पर तैनात कर रहा हूं, और वेबसाइट अपलोड करने के लिए सब कुछ आसान नौकायन कर रहा है। हाल ही में, तैनाती के साथ कोई त्रुटि नहीं हुई है। वेबसाइट एप्लिकेशन को प्रकाशित करते समय मुझे अब "ERROR_INSUFFICIENT_ACCESS_TO_SITE_FOLDER" त्रुटि प्राप्त होती है।msdeploy के माध्यम से Azure वेब ऐप परिनियोजन त्रुटि - ERROR_INSUFFICIENT_A CCESS_TO_SITE_FOLDER

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

पूर्ण त्रुटि है:

msdeploy त्रुटि ERROR_INSUFFICIENT_ACCESS_TO_SITE_FOLDER: वेब तैनाती कार्य में विफल रहा है। (निर्दिष्ट निर्देशिका ("डी: \ home \ site \ wwwroot \ bin \ domain.DbFactory.dll") के लिए ऑपरेशन ("फ़ाइल बनाएं") करने में असमर्थ। यह तब हो सकता है जब सर्वर व्यवस्थापक ने इस ऑपरेशन को अधिकृत नहीं किया है उपयोगकर्ता प्रमाण पत्र जिनका आप उपयोग कर रहे हैं। http://go.microsoft.com/fwlink/?LinkId=221672#ERROR_INSUFFICIENT_ACCESS_TO_SITE_FOLDER पर और जानें।)

मैं इन अनुमतियों को अधिकृत करने के बारे में कैसे जाऊं?

मैंने Azure पर अपनी प्रकाशन प्रोफ़ाइल को भी रीसेट कर दिया है, और इसे फिर से प्रयास करने के लिए एक नई प्रोफ़ाइल डाउनलोड की है। लेकिन इसके साथ कोई भाग्य नहीं है।

उत्तर

18

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

क्या यह हमेशा Gehs.DbFactory.dll के साथ होता है, या यह कभी-कभी अन्य फाइलें होती है? इसके अलावा, Gehs.DbFactory.dll नियमित रूप से प्रबंधित असेंबली, या देशी/मिश्रित असेंबली है?

आम तौर पर, सभी असेंबली छाया प्रतिलिपि प्राप्त करते हैं, इसलिए वे bin फ़ोल्डर में बंद नहीं होते हैं। यदि यह मूल है, तो यह जगह में लोड हो सकता है।

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

एक तरफ या दूसरा, आपको यह सुनिश्चित करने की ज़रूरत है कि यदि आप नया संस्करण प्रकाशित करना चाहते हैं तो कोई फ़ाइल लॉक नहीं हो पाती है।

यदि आप ऐसा करने के लिए एक रास्ता नहीं मिल रहा है, तो यहां एक तकनीक है कि आप किसी भी डाउनटाइम बिना प्रकाशित चाहिए:

  • Kudu Console उपयोग करते हुए, अपने d:\home\site\wwwroot\bin फ़ोल्डर
  • करने के लिए जाना अपमानजनक DLL का नाम बदल रहा उदाहरण के लिए Gehs.DbFactory.dll.old करने के लिए
  • अपने प्रकाशन के
+0

हाय, यह उस वेब ऐप में प्रकाशित फाइलों में से किसी के साथ होगा। चाहे वह "बनाएं" अनुमति अस्वीकृत हो, या प्रकाशित होने पर दूरस्थ फ़ाइलों को हटाने के मामले में यह एक "हटाएं" अनुमति अस्वीकार कर दी जाएगी। हालांकि, आपकी सलाह ने मुझे Kudu कंसोल के साथ वेब ऐप का प्रबंधन करने में मदद की है और फ़ाइलों को नामित करके इसे फिर से प्राप्त करने में मदद की है। बहुत बहुत धन्यवाद। –

+2

आप इसे प्रकाशित करने से पहले Azure पोर्टल में वेबसाइट को भी रोक सकते हैं, और उसके बाद इसे पुनरारंभ करें। बेशक वेबसाइट अनुपलब्ध होगी लेकिन यह विकास के दौरान एक विकल्प हो सकती है। – Costo

+0

मुझे अभी यह समस्या थी। दूरस्थ Azure सर्वर पर फ़ाइल के बारे में शिकायत करने के बावजूद, बस VS को पुनरारंभ करने से समस्या ठीक हो गई। –

1

मैं एक तैनाती की थी कि ठीक काम कर रहा है पर त्रुटि (Unable to perform the operation ("Delete Directory") for the specified directory ("2_0_50727") हो गया और अचानक तोड़ दिया करो (सामान्य रूप से नाम बदलने भले ही आप इसे हटा नहीं सकते काम करता है)।

यदि आप ध्यान नहीं दे रहे हैं '2_0_50727' सिर्फ यादृच्छिक संख्या की तरह दिखता है।

यह पता चला कि यह फ़ोल्डर aspnet_client\system_web\2_0_50727 था जिसमें कोई भी फाइल नहीं थी।

इस फ़ोल्डर के टाइमस्टैम्प के आधार पर - और यह तथ्य कि यह इस टाइमस्टैम्प के साथ मेरे सभी वेब अनुप्रयोगों में था - यह मेरे आईआईएस स्थापित सुविधाओं में कुछ बदलाव किए जाने पर Add/Remove Features द्वारा बनाया गया होगा। तो जो भी अनुमतियां चलती हैं वह यह है कि यह फ़ोल्डर किस प्रकार बनाया गया था।

जैसे ही मैंने इसे हटा दिया, मैं फिर से तैनात करने में सक्षम था।

+0

तो इसके लिए अपने सभी वेब ऐप्स को जांचना सुनिश्चित करें - शायद सभी वर्चुअल निर्देशिकाएं जो अनुप्रयोग भी हैं –

1

जब मैंने अपनी परियोजना में सामग्री के तहत एक नया फ़ोल्डर जोड़ा और फिर प्रकाशित करने की कोशिश की तो मुझे वही बात हो रही थी। मैंने बस एज़ूर पर ऐप को पुनरारंभ किया और फिर यह ठीक काम किया।

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