में घोषित स्विच सेट नहीं कर रहा है, मैं एक app.config (या web.config) फ़ाइल में किसी प्रविष्टि से "स्विच.System.Xml.IgnoreEmptyKeySequences" संगतता स्विच सेट करने का प्रयास कर रहा हूं, लेकिन ओवरराइड प्रकट होता है अनदेखा किया जाना है। किसी भी अजीब विन्यास की संभावना को दूर करने के लिए मेरी मौजूदा परियोजना मैंने वीएस2015 में एक नया नया नेट नेट वेब प्रोजेक्ट प्रोजेक्ट (और संबंधित टेस्ट प्रोजेक्ट) बनाया है।.Net 4.6 AppContextSwitchOverrides कॉन्फ़िगरेशन
मैं AppContext के लिए माइक्रोसॉफ्ट मार्गदर्शन अनुसरण कर रही हूं स्विच https://msdn.microsoft.com/en-us/library/mt298997(v=vs.110).aspx और https://msdn.microsoft.com/en-us/library/mt270286(v=vs.110).aspx
app.config फ़ाइल इस प्रकार है:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<runtime>
<AppContextSwitchOverrides value="Switch.System.Xml.IgnoreEmptyKeySequences=true"/>
</runtime>
</configuration>
कोड मैं मूल्य को पढ़ने के लिए उपयोग कर रहा हूँ है:
bool valueWasFound;
bool valueFromContext;
string switchString = "Switch.System.Xml.IgnoreEmptyKeySequences";
valueWasFound = AppContext.TryGetSwitch(switchString, out valueFromContext);
और फिर भी मैं लगातार false
दोनों के लिए प्राप्त करता हूं valueWasFound
और valueFromContext
।
मैं एक ही परिणाम के साथ अन्य स्विच मूल्यों के साथ इस प्रयास किया है।
मुझे लगता है कि अगर मैं
AppContext.SetSwitch("Switch.System.Xml.IgnoreEmptyKeySequences", true);
तो स्विच के रूप में प्रत्याशित सेट किया गया है का उपयोग कर कोड में स्विच सेट (अर्थात मैं valueWasFound
और valueFromContext
दोनों के लिए true
मिल) लगता है।
लेकिन मैं बहुत ज्यादा app.config/web.config
कोई भी विचार में कैसे मैं इस काम करने के लिए बहुत सराहना की जाएगी पाने पर इस सेट करने के लिए पसंद करेंगे।
मैं वही व्यवहार देख रहा हूं, लेकिन _Switch.System.IdentityModel.DisableMultipleDNSEntriesInSancertificate_ स्विच के साथ। इसे Web.config (IIS एप्लिकेशन) में सेट करना अनदेखा कर दिया गया है और 'TryGetSwitch' आपके जैसा ही परिणाम उत्पन्न करता है, कोड में इसे सेट करने के लिए काम करता है। – arfbtwn