2011-11-13 21 views
11

मैंने सशर्त सामग्री के लिए "सशर्त संदर्भ" जैसी तकनीक को कई बार उपयोग करने की कोशिश की है।कॉन्फ़िगरेशन पर आधारित सशर्त सामग्री

विजुअल स्टूडियो प्रोजेक्ट फ़ाइल जैसे "web.config" में सामग्री प्रविष्टियां मैं वेबसाइट प्रकाशित करते समय शामिल करना चाहता हूं।

मैं की तरह कुछ बातें की कोशिश की है ...

<Choose> 

    <When Condition="$(Configuration) != 'Release'"> 
     <ItemGroup> 
      <Content Include="web.config"> 
       <SubType>Designer</SubType> 
       <CopyToOutputDirectory>Always</CopyToOutputDirectory> 
       </Content> 
     </ItemGroup> 
    </When> 
    <Otherwise> 
     <ItemGroup> 
     </ItemGroup> 
    </Otherwise> 

</Choose> 

लेकिन यह काम नहीं करता। कोई विचार? या आप इससे पहले सामना कर चुके हैं और इसे हल किया है?

उत्तर

19

मेरा मानना ​​है कि आप बस को ItemGroup ... उदाहरण स्थिति जोड़ सकते हैं:

<ItemGroup Condition="'$(Configuration)' != 'Release'"> 
     <Content Include="web.config"> 
      <SubType>Designer</SubType> 
      <CopyToOutputDirectory>Always</CopyToOutputDirectory> 
      </Content> 
    </ItemGroup> 

नोट टिक चारों ओर '$ (विन्यास)' हालत में। वे बहुत जरूरी हैं।

+0

मैंने अभी कोशिश की है और मैं इसे काम नहीं कर सकता। मैंने कंडीशन = "$ (कॉन्फ़िगरेशन) '==' डीबग 'भी कोशिश की है, लेकिन फिर भी कोई खुशी नहीं है। जब मैं कॉन्फ़िगरेशन स्विच करता हूं तो फ़ाइलों को बस प्रोजेक्ट में रखा जाता है। मैंने कॉन्फ़िगरेशन स्विच करने और फिर अनलोडिंग और प्रोजेक्ट को पुनः लोड करने का भी प्रयास किया है, लेकिन फिर भी उन फ़ाइलों को शामिल किया गया है, जिनके बावजूद मैं कॉन्फ़िगरेशन चुनता हूं। – tentux

+0

मैंने अभी भी एक नया कंसोल एप्लिकेशन बनाने का प्रयास किया है, इसलिए सुनिश्चित करें कि अधिक जटिल समाधान कार्यों में एक स्पैनर फेंक नहीं रहा था। लेकिन फिर भी यह काम नहीं करता है: <आइटम समूह समूह = "$ (कॉन्फ़िगरेशन) '==' डीबग ''> <संकलित शामिल करें =" प्रोग्राम.cs "/> <संकलित शामिल करें =" गुण \ AssemblyInfo.cs "/> कोई फर्क नहीं पड़ता कि मैं इन फ़ाइलों को कौन सी कॉन्फ़िगरेशन चुनता हूं, इस परियोजना में मौजूद हैं। – tentux

+0

मैंने अभी रिलीज़ किया है कि जब रिलीज में बिल्डिंग मुझे संकलन त्रुटि मिलती है क्योंकि स्थैतिक मुख्य मौजूद नहीं है। मेरा संदेह यह है कि मैं समाधान एक्सप्लोरर को यह देखने के लिए उम्मीद कर रहा हूं कि क्या शामिल किया जा रहा है/बनाया गया है। यद्यपि ये फ़ाइलें प्रोजेक्ट में दिखाई दे रही हैं, ऐसा लगता है कि निर्माण उनके ऊपर कूदता है। मैं बाद में अपने सिद्धांत की कोशिश करूंगा और एक अलग पद में पुष्टि करूंगा। – tentux

2

मैं निक निस्लानिक द्वारा प्रदान किए गए उत्तर को कुछ विवरणों के साथ विस्तारित करना चाहता हूं, इसलिए अन्य लोग उसी तरह से नहीं फंस गए हैं।

समाधान निर्माण/प्रकाशन के दौरान काम करता है, लेकिन विजुअल स्टूडियो 2010 का इंटरफ़ेस किए गए परिवर्तनों को प्रतिबिंबित नहीं कर सकता है। चाहे यह एक दोष है या नहीं, मुझे यकीन नहीं है, लेकिन यह मुझे भ्रमित कर देता है और यह दूसरों को भ्रमित कर सकता है।

+0

टिप्पणी के रूप में यह एक उत्तर के रूप में अधिक प्रभावी होगा। – jpierson

+0

मैंने एक ही घटना देखी है। वीएस -2010 वास्तव में क्या नहीं किया गया है प्रतिबिंबित करता है। –

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