Visual Studio оптимизирует код, даже если код оптимизации не помечен

Я создаю довольно простое приложение C# Windows Forms в Visual Studio 2017, Framework версии 4.7.

Я не могу использовать функцию «Редактировать и продолжить», даже если мой проект скомпилирован в режиме отладки, оптимизация кода отключена, установлены флаги TRACE и DEBUG и установлены все настройки, используемые во многих других проектах.

Проблема в том, что я не могу использовать функцию «Редактировать и продолжить». Исследуя, я обнаружил, что во время отладки окно модулей сообщает, что мой стартовый проект загружается с оптимизированным кодом, в то время как все другие мои проекты, на которые я ссылаюсь, не оптимизированы должным образом. На самом деле я могу без проблем отлаживать и редактировать указанные библиотеки, но я не могу редактировать приложение формы основного окна.

введите здесь описание изображения

Эта проблема сводит меня с ума уже несколько дней. Пожалуйста помоги! Как отключить оптимизацию кода?


person Niddu    schedule 23.01.2018    source источник
comment
Какую версию Visual Studio 2017 вы используете? Вы можете увидеть это в разделе Справка › О Microsoft Visual Studio (или что-то в этом роде, я установил другой язык). Для меня это MS VS Enterprise 2017. Из VS 2015 я знаю, что функция «Редактировать и продолжить» не поддерживается в профессиональной версии.   -  person Filnor    schedule 23.01.2018
comment
Я использую Visual Studio 2017 Enterprise; но я могу без проблем отлаживать все остальные проекты, которые я делаю, даже с сообществом Visual Studio. VS 2015, функция «Редактировать и продолжить» не поддерживается в профессиональной версии, что не соответствует действительности.   -  person Niddu    schedule 23.01.2018
comment
Возможно, вам следует попытаться перенести исходный код в новый проект, посмотрите, поможет ли это. Если нет, вы также можете восстановить и/или переустановить VS. В профессиональной версии VS 2015 у меня не было возможности включить/отключить E&C, поэтому, думаю, вы можете назвать это неподдерживаемым.   -  person Filnor    schedule 23.01.2018
comment
Я уже переустанавливал сначала Visual Studio 2015, а потом 2017. Также у моего напарника такая же проблема с этим проектом, так что это что-то связанное с самим проектом. Я не могу воссоздать проект, так как это приложение ClickOnce, уже распространенное на многих рабочих станциях.   -  person Niddu    schedule 23.01.2018


Ответы (1)


Удаление из файла AssemblyInfo.cs строки

[assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)]

решил мою проблему

Я не знаю, кто добавил этот параметр, но убрав его, "Редактировать и продолжить" заработало.

У меня также был еще один нежелательный параметр:

[assembly: CompilationRelaxations(8)]

но это, похоже, не влияет на отладчик. я все таки удалил

person Niddu    schedule 24.01.2018
comment
Вам следует отнестись к этому более серьезно. Этот код не был написан программистом. Может быть потому, что кто-то потерял этот код, и единственный способ вернуть его — это декомпилировать исполняемый файл. Или вы можете участвовать в преступлении. Поговорите об этом со своим куратором. - person Hans Passant; 24.01.2018