Не удается просмотреть содержимое ImmutableArray в отладчике - PullRequest
0 голосов
/ 12 ноября 2018

У меня есть следующее:

  • Использование Visual Studio 2017 (последняя версия)
  • Использование ImmutableArray
  • Сбой при использовании .Net Framework 4.7.1 ИЛИ 4.7.2 ( не .Net Core)
  • Работает с использованием .Net Framework 4.7.0 или более ранней версии.

Проблема заключается в том, что если я остановлюсь в отладчике ипопробуйте проверить содержимое ImmutableArray<T>, ничего не происходит.

Если я попытаюсь быстро просмотреть ImmutableArray<T>, я получаю следующую ошибку:

Ошибка CS0012: тип«ValueType» определяется в сборке, на которую нет ссылок.Необходимо добавить ссылку на сборку «System.Runtime, версия = 4.0.20.0, культура = нейтральная, PublicKeyToken = b03f5f7f11d50a3a».

Я могу исправить эту ошибку, перейдя в:

Инструменты -> Параметры -> Отладка -> Общие, включите «Использовать режим управляемой совместимости»

К сожалению, этот режим отключает некоторые другие функции, поэтому мой вопрос:

Есть ли способ заставить это работать без использования режима управляемой совместимости?

(Я подозреваю, что эта проблема может быть связана с тем фактом, что поддержка 4.7.1 или новее добавлена ​​в Visual Studio с помощью отдельной загрузки.)


Мой пример тестового консольного приложения, которое я использовал:

using System;
using System.Collections.Immutable;
using System.Linq;

namespace ConsoleApp10
{
    class Program
    {
        static void Main()
        {
            var t = test();
            Console.WriteLine(t.Length); // Set breakpoint here: Cannot inspect 't'.
        }

        static ImmutableArray<int> test()
        {
            return Enumerable.Range(1, 10).ToImmutableArray();
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...