У меня есть сборка проекта C# с AnyCPU. Мы также динамически загружаем функцию, которая в настоящее время использует 32-разрядные библиотеки DLL. При отключенной функции приложение работает довольно успешно, как 64-битное приложение. Следовательно, Visual Studio определяет, что приложение будет работать в 64-битном режиме. Чтобы заставить приложение работать как 32-битный процесс, у нас есть шаг Post Build в основном проекте, который использует CorFlags для установки 32-битного. Это отлично работает при запуске приложения вне Visual Studio. Однако, если я отлаживаю приложение с помощью F5, я получаю сообщение об ошибке, указывающее на несоответствие 32/64 бит. Похоже, что Visual Studio определила, что приложение может работать как 64-битный процесс и соответственно настраивает отладчик, не подозревая, что я запустил CorFlags, чтобы заставить его до 32 бит.Принудительное приложение C# WinForms, построенное с AnyCPU для отладки как 32-разрядный процесс
Есть ли способ заставить Visual Studio отлаживать приложение как 32-битный процесс? Я хотел бы оставить платформу целевой, поскольку AnyCPU, поскольку сторонние компоненты в конечном итоге будут обновлены до 64 бит.
Недорогим решением было бы добавить еще один проект в виде 32 бит и загрузить AnyUCU EXE в качестве сборки и запустить Main from Main ... –
Что произойдет, если вы присоедините отладчик после того, как процесс был запущен? –