Próbuję ustawić przełącznik zgodności "Switch.System.Xml.IgnoreEmptyKeySequences" z wpisu w pliku app.config (lub web.config), ale pojawia się przesłonięcie być zignorowanym. Aby usunąć możliwość jakiejkolwiek dziwnej konfiguracji mojego istniejącego projektu, stworzyłem zupełnie nowy projekt .Net 4.6 Web Forms (i powiązany projekt testowy) w VS2015..Net 4.6 AppContextSwitchOverrides nie ustawia przełączników zadeklarowanych w konfiguracji
śledzę Microsoft wytyczne dla AppContext przełącza https://msdn.microsoft.com/en-us/library/mt298997(v=vs.110).aspx i https://msdn.microsoft.com/en-us/library/mt270286(v=vs.110).aspx
pliku app.config jest w następujący sposób:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<runtime>
<AppContextSwitchOverrides value="Switch.System.Xml.IgnoreEmptyKeySequences=true"/>
</runtime>
</configuration>
Kod używam odczytać wartość wynosi:
bool valueWasFound;
bool valueFromContext;
string switchString = "Switch.System.Xml.IgnoreEmptyKeySequences";
valueWasFound = AppContext.TryGetSwitch(switchString, out valueFromContext);
A jednak konsekwentnie otrzymuję false
dla obu valueWasFound
i valueFromContext
.
Próbowałem tego z innymi wartościami przełącznika z tym samym wynikiem.
Uważam, że jeżeli ustawić przełącznik w kodzie za pomocą
AppContext.SetSwitch("Switch.System.Xml.IgnoreEmptyKeySequences", true);
Następnie przełącznik jest ustawiony zgodnie z oczekiwaniami (tzn mam true
zarówno valueWasFound
i valueFromContext
).
Ale byłoby bardzo dużo wolą ustawić to w app.config/web.config
Wszelkie pomysły na to, jak się dostać do pracy byłoby bardzo mile widziane.
Widzę to samo zachowanie tutaj, ale z przełącznikiem _Switch.System.IdentityModel.DisableMultipleDNSEntriesInSANCertificate_. Ustawienie go w Web.config (aplikacja IIS) jest ignorowane, a 'TryGetSwitch' daje taki sam wynik, jaki masz, ustawienie go w kodzie wydaje się działać. – arfbtwn