मैं एक MSBuild संपत्ति के लिए एक डिफ़ॉल्ट मान सेट करने की कोशिश कर रहा हूँ। 'यह एमएसबिल्ड स्क्रिप्ट इस संपत्ति को जिस तरह से उम्मीद करता है, क्यों सेट नहीं करता है?
<Choose>
<When Condition="..something..">
<PropertyGroup>
...
<MySetting>true</MySetting>
<PropertyGroup>
</When>
...
</Choose>
अगर हालत सही नहीं है, तो MySetting होगा': मैं इस के साथ शुरू कहो। तो क्या यह झूठी नहीं होनी चाहिए? फिर भी जब मैं दृश्य स्टूडियो में इस परियोजना लोड
<PropertyGroup Condition="$(MySetting)">
...
</PropertyGroup>
:
<PropertyGroup>
<MySetting Condition="'$(MySetting)'==''">false</MySetting>
</PropertyGroup>
बाद में, मैं == 'सही' के लिए परीक्षण करने के लिए बिना एक सशर्त में MySetting उपयोग करने के लिए, इस तरह करना चाहते हैं यह शिकायत करता है कि निर्दिष्ट स्थिति "$ (माइसेटिंग)" बूलियन के बजाय "" का मूल्यांकन करती है।
तो ऐसा लगता है कि या तो मेरी स्थिति जो '' को गलत करने के लिए संपत्ति को असाइन करने के लिए जांचती है, गलत है। मैं क्या गलत कर रहा हूं?
यह डिफ़ॉल्ट सेट करने का एक बेहतर तरीका है। मैं इसके बजाए ऐसा करूंगा, धन्यवाद। लेकिन मुझे अभी भी समझ में नहीं आता है कि मूल प्रश्न में कोड का मध्य ब्लॉक क्यों संपत्ति को झूठी नहीं लगाता है। मैं संपत्ति को गलत करने के लिए '' के खिलाफ परीक्षण कर रहा हूं। वह क्यों नहीं चलता है? – scobi
@ स्कॉट बिलास: क्या आप ' झूठी ' रन के बाद कह रहे हैं, मान अभी भी ''' है? संकलक के अनुसार –
यूप। ऐसा लगता है कि वह संपत्ति सेट कभी नहीं होता है। – scobi