2012-06-08 14 views
5

मैं एमएसबिल्ड का उपयोग अपने एएसपी.नेट एमवीसी 3, नेट 4 एप्लीकेशन को पैकेज और प्रकाशित करने के लिए कर रहा हूं। मैंने पहले से ही इसे एक एमवीसी 1.0, नेट 3.5 एप्लिकेशन के लिए सफलतापूर्वक किया है।एमएसबिल्ड आईआईएस अंक

C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v10.0\Web\Microsoft.Web.Publishing.targets(2046, 5): error MSB4044: The "EscapeTextForRegularExpressions" task was not given a value for the required parameter "Text".

+0

ऐसा लगता है कि 'BaseIntermediateOutputPath' खाली है, जो बदले में त्रुटि में संदर्भित "टेक्स्ट" पैरामीटर के लिए एक खाली मान पास करता है। एक पुनर्निर्माण मदद कर सकता है। – KMoraz

+0

ए को एक एप्योर क्लाउड सेवा वेब्रोल को वेबपैप में माइग्रेट करने के बाद एक ही त्रुटि थी। .csproj में गलत करने के लिए IncludeIisSettings को सेट करना इसे हल करता है। – Magu

उत्तर

8

मैं अपने निर्माण सर्वर पर एक ही मुद्दा लिया है:

जब भी मैं अपने .proj फ़ाइल में आईआईएस सेटिंग्स (IncludeIisSettings=true) शामिल हैं मैं निम्नलिखित निर्माण त्रुटि मिलती है।

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

समस्या तब शुरू हुई जब मैंने परियोजना में आईआईएस एक्सप्रेस में स्थानीय परीक्षण और कुछ अप्रत्यक्ष तरीके से सक्षम किया जो आपके द्वारा उल्लिखित IncludeIisSettings=true सेटिंग को सक्षम बनाता है। यह वेब परिनियोजन पाइपलाइन को साइट के विवरण के लिए आईआईएस से पूछताछ का कारण बनता है। चूंकि बिल्ड सर्वर में आईआईएस 7 या आईआईएस एक्सप्रेस स्थापित नहीं है, इसलिए यह उन सेटिंग्स को प्राप्त नहीं कर सका। यह अंततः उपरोक्त त्रुटि की ओर जाता है क्योंकि EscapeTextForRegularExpressions कार्य को पारित पैरामीटर खाली है।

मेरे समाधान अनुप्रयोगों में False को IncludeIisSettings स्थापित करने के लिए .wpp.targets फ़ाइल (here देखने के एक उदाहरण के लिए फ़ाइल .wpp.targets) था। यदि आप स्पष्ट रूप से आईआईएस के लिए सेटिंग्स निर्दिष्ट करते हैं, तो यह कोई समस्या नहीं होनी चाहिए।

मैं वेबमैट्रिक्स का उपयोग करके आईआईएस एक्सप्रेस के साथ साइट को पंजीकृत करके बिल्ड को ठीक करने में भी सक्षम था। विजुअल स्टूडियो में साइट को चलाने से भी वही प्रभाव होना चाहिए।

1

मेरे पास समस्याएं थीं, विशेष रूप से लैपटॉप स्विच करने के बाद विंडोज 7 में यूएसी सेटिंग्स।

मेरी पिछली कॉन्फ़िगरेशन के विरुद्ध नज़दीकी निरीक्षण के बाद मुझे एहसास हुआ कि मेरे पास अभी भी डिफ़ॉल्ट यूएसी सेटिंग्स थीं। बदलने के लिए Start > Control Panel > User Accounts > User Accounts > Change User Account Control Settings पर जाएं। फिर बार को सभी तरह से Never notify पर खींचें।

यहाँ मैंने देखा कुछ अतिरिक्त लक्षण जो उपयोगी हो सकता है:

जब मैं MSBuild IncludeIisSettings=true साथ स्थानीय रूप से भाग गया मैं प्रश्न में के रूप में ही त्रुटि प्राप्त हुई।

कुछ निराशा और गलत मोड़ों के बाद मुझे पता नहीं लगा कि क्यों मैं एक प्रशासक हूं, मुझे प्रासंगिक क्षेत्रों में अनुमति त्रुटियां मिल रही थीं, उदा। जब IncludeIisSettings=false सेट करते हैं तो तैनाती फ़ाइल चलाने का प्रयास करते हुए मुझे एक अनुमति त्रुटि मिली।

इस प्रकार मैंने यूएसी सेटिंग्स का पता लगाने और समाधान खोजने का फैसला किया।

+0

दुर्भाग्य से मेरी मदद नहीं की। मैं व्यवस्थापक के रूप में वीएस चलाता हूं, यूएसी को सबसे कम कर देता हूं और फिर भी वही त्रुटि होती है। लेकिन आपके लिए अच्छा है! (विंडोज़ 10, आईआईएस सेटिंग को चालू और बंद करने के साथ प्रयास किया) – ignacy130

0

समाधान जो हमने पाया है IISSIetSettings = true है और "The" EscapeTextForRegularExpressions "कार्य के साथ एक succefull निर्माण है, आवश्यक पैरामीटर" पाठ "के लिए एक मान नहीं दिया गया था।" त्रुटि थी:

  • बिल्ड सर्वर (पहले से किया गया) पर विजुअल स्टूडियो स्थापित करें।
  • बिल्ड सर्वर पर आईआईएस स्थापित करें।
  • आईआईएस में, डिफ़ॉल्ट वेबसाइट पर, https (पोर्ट 443) के लिए बाध्यकारी जोड़ें और विजुअल स्टूडियो (आईआईएस एक्सप्रेस डेवलपमेंट सर्टिफिकेट) द्वारा स्थापित प्रमाणपत्र का उपयोग करें।