Member 10192073 Ответов: 1

Почему мои приложения c# окно показывает *32-битный процесс


привет,
Мне нужна помощь, чтобы запустить мое приложение как 64-битное,
я установил всю платформу проекта как 64-битную, когда я устанавливаю свою установку, она устанавливается в
C:\Program Files

но когда я собираюсь запустить свой exe-файл, то он показывает *32 бит в процессе работы в диспетчере задач.

Я изменил его, потому что в 32-битной версии у меня была проблема с нехваткой памяти исключений.
может ли кто-нибудь помочь мне в этом?

Что я уже пробовал:

Я попытался запустить свое приложение как 64-битное, но все равно оно показывает *32 в процессе, а затем снова выходит из памяти исключений

Richard MacCutchan

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

Richard MacCutchan

Вероятно, также было бы неплохо сначала диагностировать и исправить исключение, а не просто надеяться, что оно исчезнет в 64-битном режиме.

1 Ответов

Рейтинг:
0

OriginalGriff

Если диспетчер задач показывает "мое приложение (32-разрядное)", то ваше приложение работает в 32-разрядном режиме: вероятно, вы не создали 64-разрядную версию как для выпускной, так и для отладочной версий и используете более старую версию.

Но переключение с 32-битного на 64-битный EXE, вероятно, не вылечит исключение "из памяти" - оно расширяет размер указателей и ссылок, но не использует меньше памяти (напротив, оно увеличивает пространство, необходимое каждой ссылке экземпляра класса: массиву ссылок в 32 - битном режиме требуется 4 байта на экземпляр по сравнению с 8 для каждого в 64-битном режиме-это означает, что массиву из 1024 ссылок требуется 4 КБ в 32-битном режиме и 8 кб в 64-битном режиме).

Посмотрим на ваше приложение и что оно делает: это не "просто" выделения, которые вызывают ошибку "недостаточно памяти": вы можете сделать это намного проще, не выбрасывайте скудные ресурсы, такие как графика, предметы, такие как графика контекстах, шрифты, кисти, ручки и так далее, или подключений к базе данных, команды, и адаптеры, или .... есть множество дефицитных ресурсов, которые вы могли бы использовать и что может вызвать это хорошо, прежде чем запускать из реальной памяти. Правило таково: если он реализует IDisposable, вы несете ответственность за то, чтобы избавиться от того, что вы создали, когда закончите с ним. Если вы этого не сделаете, то получите ошибки "из памяти".


Member 10192073

Спасибо, что я дал неправильный путь к моему Exe-файлу, теперь это нормально для меня