2009-05-11 19 views
5

मैं एक सेटअप और तैनाती परियोजना है कि, हमारे निर्माण सर्वर पर, रिपोर्ट सारांश में निम्नलिखित के साथ विफल रहता है:दृश्य स्टूडियो सेटअप और तैनाती का निर्माण कोई त्रुटि

========== सभी के पुनर्निर्माण: 25 सफल रहा, 2 में विफल रहा है, 0 ==========

को छोड़ दिया मैं नहीं जानता कि क्या दो, कर रहे हैं कि विफल हालांकि मेरा मानना ​​है कि उनमें से एक vdproj परियोजना वजह से है अगर मैं इंस्टॉलर के बिना बिल्ड चलाता हूं तो कोई त्रुटि नहीं होती है। "पैकेजिंग फ़ाइल" संदेश मेरे पीसी पर आउटपुट से मेल खाते हैं, जहां निर्माण सफलतापूर्वक पूरा हो जाता है।

मुझे विश्वास है कि यह एक पर्यावरण की बात है, सिर्फ यह कि कहीं भी कोई लॉग नहीं है जो कहता है कि समस्या क्या थी - बस सारांश में संख्या।

यहां तक ​​कि अजनबी यह भी है कि setup.exe और myapp.msi फ़ाइलों को ठीक से उत्पन्न किया जा रहा है। मैं काम नहीं कर सकता कि परियोजनाएं क्या विफल रही हैं, क्योंकि असफल परियोजना का कोई उल्लेख नहीं है। मुझे पता है कि अगर मैं सेटअप प्रोजेक्ट को छोड़कर समाधान का निर्माण करता हूं तो सारांश कहता है कि कोई त्रुटि नहीं थी।

क्या कोई भी जांचने के लिए कुछ भी सोच सकता है?

उत्तर

11

अंत में जवाब देना था कि यह एक ज्ञात बग है कि: https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=317870

जवाब परियोजना फ़ाइलों को संशोधित करने के लिए है (* .csproj) LINQ युक्त फ़ाइलों dbml SQL करने के लिए इस प्रकार कुछ सामान को हटाने के लिए,:

  1. बंद वी.एस. 2008
  2. ओपन परियोजना नोटपैड में आइटम LINQ एसक्यूएल करने के लिए फ़ाइल।
  3. निम्नलिखित लाइनों निकालें:
    [ItemGroup]
    [सेवा = शामिल करें "{3259AA49-8AA1-44D3-9025-A0B520596A8C}" /]
    [/ ItemGroup]

सेटअप परियोजना होगा अब सफलतापूर्वक बनाएं। हालांकि, यदि आप वीएस 2008 में डिज़ाइनर खोलने के लिए डीबीएमएल फ़ाइल को डबल-क्लिक करें, तो सेटअप प्रोजेक्ट फिर से निर्माण करना बंद कर देगा। उपरोक्त लाइनें प्रोजेक्ट फ़ाइल में फिर से जोड़े गए हैं लेकिन सेटअप प्रोजेक्ट वैसे भी निर्माण बंद कर देगा। बस वीएस 2008 को पुनरारंभ करें और यह फिर से काम करेगा - जब तक आप फिर से डीबीएमएल डिजाइनर नहीं खोलते। एक बार जब सेटअप परियोजना इस समस्या की वजह से में विफल रहता है तो यह आपको बाद तक कभी नहीं निर्माण सफलतापूर्वक वी.एस. 2008.

पुनः आरंभ करेगा मैं अंत में MS Connect forum topic से जवाब मिल गया (या जवाब देने के लिए कम से कम लिंक)। यहां documented workaround है।

+0

इस माइक्रोसॉफ्ट बग पेज पर सूचीबद्ध एक और कामकाज मेरे लिए काम करता है: समाधान पर राइट क्लिक करें और विजुअल स्टूडियो में "क्लीन सॉल्यूशन" पर क्लिक करें। –

+1

आप समाधान को बंद किए बिना वीएस में एक csproj फ़ाइल संपादित कर सकते हैं: 1. प्रोजेक्ट संदर्भ मेनू से प्रोजेक्ट को अनलोड करें, 2. संदर्भ मेनू से VS में csproj फ़ाइल खोलें, 3. संपादित करें और सहेजें, 4. संदर्भ मेनू से परियोजना को फिर से खोलें। – Richard

0

(आप कहते हैं कि नहीं था कि किस तरह सर्वर बिल्ड की आप है। क्योंकि आपके द्वारा टैग की ".net" मैं तुम्हें TFS और टीम बिल्ड उपयोग कर रहे हैं ग्रहण करने के लिए जा रहा हूँ।)

टीम बिल्ड MSBuild का उपयोग करता है (वास्तव में यह है MSBuild)। MSBuild vdproj फ़ाइलों का निर्माण नहीं कर सकता है। केवल विजुअल स्टूडियो ही ऐसा कर सकता है।

तो यदि आप समाधान शामिल कर रहे हैं जिसमें vdproj फ़ाइलें शामिल हैं तो वे असफल हो जाएंगी। (Vdproj प्रोजेक्ट्स के आस-पास अपने बिल्ड लॉग को जांचें ताकि वे विफल हो जाएं।)

पंजीकरण से इन असफलताओं को रोकने का एक तरीका यह है कि आप अपनी टीम बिल्ड के लिए संकलित एक कॉन्फ़िगरेशन बनाना चाहते हैं जिसमें आपकी vdproj फ़ाइलें शामिल नहीं हैं (यदि असफल परियोजनाएं वास्तव में आपको परेशान कर रही हैं)।

अपनी एमएसआई और एक्सई फाइलें प्राप्त करने का सबसे अच्छा तरीका आपके vdproj परियोजनाओं पर विजुअल स्टूडियो चलाने के लिए है। निर्माण समाप्त होने के बाद एक कस्टम लक्ष्य जोड़ें और अपने प्रोजेक्ट पर मैन्युअल रूप से विजुअल स्टूडियो को कॉल करें। (मुझे नहीं पता कि आपकी एमएसआई और एक्सई फाइलें तब तक क्यों उत्पन्न की जा रही हैं जब तक कि आप ऐसा नहीं कर रहे हों।)

वैकल्पिक रूप से विंडोज इंस्टालर एक्सएमएल (WIX) पर विचार करें। संस्करण 3 (जो पूर्ण रिलीज के बहुत करीब है और इसमें स्थिर बीटा आउट है) एमएसबिल्ड का उपयोग करता है। इसका मतलब है कि आपके समाधान टीम बिल्ड के माध्यम से किसी भी विशेष कार्रवाई के साथ संकलित किया जा सकता है। एकमात्र कमी यह है कि WIX 'कोई भी CPU' लक्षित नहीं कर सकता है, लेकिन यह एक विशिष्ट प्लेटफ़ॉर्म को लक्षित करने तक 'किसी भी CPU' के समाधान स्तर लक्ष्य का हिस्सा हो सकता है।

+0

बिल्ड सर्वर स्वयं फ़ाइनलबिल्डर है, हालांकि यह यहां मूक है क्योंकि निर्माण सर्वर मशीन पर वीएस में समस्या उत्पन्न हुई है। –

0

हाँ, मैंने पहले यह किया था।

अपने सेट अप के बारे में नहीं

यकीन है, लेकिन यह उचित है कोशिश:

सबसे पहले, अपने समाधान फ़ाइल पर राइट क्लिक करें> गुण> विन्यास

वहाँ में, जो के साथ प्रयोग करने का निर्माण टिक बॉक्स का उपयोग परियोजनाएं एक साथ निर्माण करती हैं, और जो नहीं करती हैं।

इसके अलावा, अपने फ़ाइल सिस्टम में, अपनी सभी परियोजनाओं के लिए डीबग/रिलीज फ़ोल्डर्स को हटाएं।

अंत में, मेरे अनुभव में, यह त्रुटि आमतौर पर दूषित/गायब web.config के कारण होती है।

मुझे पता है आप कैसे जाना

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