Вот ошибка
Невозможно оценить выражение, потому что поток остановлен в точке, где сборка мусора невозможна, возможно, потому что код оптимизирован.
Я пишу простое консольное приложение и первая строка кода:
List<MyObjectModel> list = MyObjectModel.GetNonCompletedReturns();
, а код функции:
public static List<MyObjectModel> GetNonCompletedReturns()
{
MyObject service = new MyObject();
List<MyObject> entities =
(from recs in service.Retrieve() where select recs).ToList();
List<MyObjectModel> models = new List<MyObjectModel>();
foreach (MyObject entity in entities)
{
models.Add(BindModel(entity));
}
return models;
}
, и если я попытаюсь пройти через код, как только я вернусь в главное приложение и наведу указатель мыши на над списком появляется сообщение об ошибке, которое я показал.
Кто-нибудь может помочь?
У меня была та же проблема в Visual Studio 2017. Движение Отладить> Опции> Отладка> Общий и проверка "Подавляет оптимизацию JIT на загрузке модуля (Управляемый только)", зафиксировал мой выпуск
Если ваш проект скомпилирован в релизе (с включенной оптимизацией), вы можете увидеть это. Вы пробовали конфигурацию DEBUG?
Ни один из ответов не решил мою проблему, поэтому я выкладываю решение , которое мне помогло.
«Если в параметрах слишком много данных, то эта ошибка может возникнуть, простое решение - создать объект, а не структуру, потому что это объект данных.
Поместите этот объект в свои параметры вместо все различные переменные, как правило, проблема больше не будет иметь место. "
Вот небольшой трюк на тот случай, если вы хотите проверить некоторые объекты и не можете изменить параметры:
Я создал вызов новой временной функции внутри функции, откуда я не смог наблюдать за моим объектом. Затем внутри этой новой функции я смог наблюдать за моим объектом. После завершения работы просто удалите функцию.
Я тоже это получил, когда получил NullReferenceException
от стороннего контроля.
В этом одном случае я обнаружил, что, если я установлю точку останова до , я попаду в исключение, то смогу пройти один шаг по остальной части кода, не видя проблемы.
Понятия не имею почему, но это сработало для меня - в данном случае, по крайней мере.
Если ваша конфигурация решения Visual Studio - Release
, переключитесь на Debug
.