2010-04-13 17 views
7

के साथ डीबग बिल्ड को तैनात करना रोकें मैं वीएस -2008 के साथ एक क्लिकऑन एप्लिकेशन प्रकाशित कर रहा हूं, लेकिन प्रत्येक प्रकाशन से पहले मुझे मैन्युअल रूप से रिलीज कॉन्फ़िगरेशन पर स्विच करना होगा। यह ठीक है जहां तक ​​मैं स्विच करना नहीं भूल जाता। डीबग बिल्डों को तैनात करने से रोकने का कोई तरीका है? वहाँ की तरह कुछ संकलक निर्देश है:क्लिकऑन

#if DEBUG 
#if ClickOnce 
#error You cannot publish a debug build 
#endif 
#endif 

या एक तरह से (निर्माण स्क्रिप्ट के बिना) है स्वचालित रूप से प्रकाशित करने से पहले config रिलीज करने के लिए स्विच करने के लिए?

(मैं कुछ इसी तरह के सवाल मिल गया है लेकिन उन पर anwsers पसंद नहीं आया)

धन्यवाद

+0

क्या यह पहले से ही आपको संकेत नहीं देता है कि * कुछ मेल नहीं खाता है * और रिलीज बिल्ड पर डीबग बिल्ड को प्रकाशित करने का प्रयास करते समय ओवरराइड करने से पहले पुष्टि के लिए पूछें (सही संस्करण प्रकाशित करते समय ऐसा कोई संवाद नहीं है)? –

+0

धन्यवाद, लेकिन दुर्भाग्य से नहीं, ऐसा कोई संवाद नहीं है। – jomi

+0

संबंधित: http://stackoverflow.com/questions/47107/clickonce-disallow-publishing-of-debug-builds जो http://msdn.microsoft.com/en-us/library/ms164307.aspx पर एक लिंक प्रदान करता है – mbx

उत्तर

2

सुनिश्चित नहीं हैं कि अगर इस पर सिकोड़ी है, लेकिन कृपया संबंधित सूत्र में मेरा उत्तर देखें:

https://stackoverflow.com/a/15080048/571237

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

+0

धन्यवाद, एडिन ने ठीक काम किया लेकिन सभी को इसे इंस्टॉल करना पड़ा। अब मैं इसका उपयोग कर सकता हूं: <लक्ष्य नाम = "पहले प्रकाशित करें"> <त्रुटि शर्त = "$ (कॉन्फ़िगरेशन) '=' रिलीज '" टेक्स्ट = "आप केवल रिलीज़ बिल्ड प्रकाशित कर सकते हैं!" /> – jomi

0

आप इस बताने के लिए क्षमा करें, लेकिन यह करने के लिए कोई रास्ता नहीं है। और जॉमी सही है, अगर आप साइनिंग कुंजी बदलते हैं तो आपको संवाद मिलता है, लेकिन यदि आप बिल्ड कॉन्फ़िगरेशन को बदलते हैं तो नहीं। अपने उत्पाद को तैनात करते समय आपको केवल ध्यान देना होगा।

RobinDotNet
जाएँ मेरी ClickOnce blog!

+0

+1 कारण ब्लॉग बहुत बढ़िया है। अब आपके पास एक नया पाठक है। –

+0

धन्यवाद! मेरे पास .NET 4.0 और ClickOnce पर कुछ आगामी प्रविष्टियां हैं I उम्मीद है कि वे सहायक हैं! – RobinDotNet

+0

गलत है: यह चाल है: http://stackoverflow.com/questions/47107/clickonce-disallow-publishing-of-debug-builds/15080048#15080048 – schlamar

1

सबसे अच्छा समाधान मैं अब तक मिल गया है के आधार पर एक VS2008 ऐड-इन लिखना है: http://msdn.microsoft.com/en-us/library/ms165638.aspx

public void OnPublishBegin(ref bool pubContinue) 
    { 
     if (pubContinue && _applicationObject.Solution.SolutionBuild.ActiveConfiguration.Name != "Release") 
     { 
      System.Windows.Forms.MessageBox.Show("You can only publish a Release build"); 
      pubContinue = false; 
     } 
    } 

किसी भी अन्य विचारों की सराहना कर रहे हैं।

+0

ग्रेट सुझाव! मेरी समस्या को ठीक करता है और मुझे अन्य उपयोगी विशेषताओं को जोड़ने की अनुमति देता है। – Dan

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