Когда я компилирую приложение UWP с компилятором .NET Native и включаю оптимизацию кода (в основном режим выпуска), тогда я получаю NullReferenceException
, когда пытаюсь получить доступ к фактическому исключению в блоке catch.
Пример кода:
try
{
throw new ArgumentNullException("Param");
}
catch (ArgumentNullException ex) when (ex.ParamName == "Param")
{
ErrorBlock.Text = ex.ParamName; // ErrorBlock is a TextBlock in the xaml
}
catch (Exception)
{
}
Он переходит в правильный блок catch и бросает NullReferenceException
, когда я обращаюсь к ex
. Это происходит только тогда, когда включена поддержка .NET и Native.
Что вызывает эту проблему?