Я думаю, что у меня есть.
Если вы работаете на 64-битной машине, убедитесь, что для сборки задано «Любой процессор», а не «x86». Это решило проблему на моей машине.
Значение по умолчанию для новых проектов изменено в VS2010 с «Любой ЦП» на «x86» - я полагаю, это должно было заставить Edit и Continue работать по умолчанию на 64-битных машинах (поскольку он поддерживает только x86).
Запуск процесса x86 на 64-битной машине, очевидно, несколько неоптимален.
РЕДАКТИРОВАТЬ: Согласно комментариям Дастина, запуск x86 вместо x64 может иметь преимущества в плане производительности при более эффективном использовании памяти (более короткие ссылки).
Я также переписывался с Дастином по электронной почте, и он привел следующие причины:
FWIW, целевая платформа по умолчанию
не был изменен для поддержки ENC. Мы имеем
уже поставленный ENC сломан на x64 для
2 релиза. Сам по себе ENC не был
действительно веская причина для переключения.
Основные причины, по которым мы перешли
конкретный заказ) были:
IntelliTrace не поддерживается в x64. Итак, один из самых крутых новых
функции не будут работать на 64-разрядной Windows для
Любые проекты CPU.
x64 EXE работают медленнее в x64 Windows, чем x86 EXE. Итак, идея х86
отладка, выпуск x64 будет означать, что
«Оптимизированные» сборки в Release
на самом деле выступают хуже.
Жалобы клиентов при развертывании приложения и обнаружении, что оно
не работает, хотя работал
их машина. Они часто были вокруг
P / Invoke, но там много чего другого
предположения, которые могут быть сделаны в
приложение, которое может сломаться при запуске
с разной битностью.
Приведенные выше причины в сочетании с
Дело в том, что любой процессор не приносит никаких
льготы (т.е. вы не можете взять
преимущество расширенного адреса
пространство, потому что EXE все еще может работать на
x86) было причиной того, что по умолчанию
был переключен.
Рик Байерс имеет
отличный пост на эту тему
здесь .