У меня есть устаревшее (я его не создавал) приложение, работающее в среде x64 (Win7).У меня есть скрытое подозрение, что раньше он работал в 32-разрядной среде.
В любом случае, я вижу вызовы Registry.GetValue(key, value, default)
.
Кажется, значение по умолчанию игнорируется.
Проверьте этот сумасшедший код:
// Up above the sky, so high
using Microsoft.Win32;
// ...
string location = "HKEY_LOCAL_MACHINE\SOFTWARE\..."; // ...
// ...
string registryValue = (string)Registry.GetValue(location, "Uri", "http://localhost/");
if (string.isNullOrEmpty(registryValue) {
throw new Exception("What the ... ?!");
}
В сопоставимом примере, исключение серьезно выбрасывается.(На самом деле, исключение нулевой ссылки появляется, несмотря на значение по умолчанию).
И я проверил, что у меня есть ключи реестра вплоть до последнего уровня;они все в моем реестре.
Это работает для кого-то , но не для меня.
Это ошибка?Что здесь происходит?