Member 10578733 Ответов: 2

Мое приложение windows forms строится без ошибок, но не запускается


У меня есть проект windows, который строит и не сообщает об ошибках, но при нажатии кнопки "Пуск" он не открывает и не запускает приложение и выходит

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

Я пытался очистить решение, но это не решает проблему

2 Ответов

Рейтинг:
2

Patrice T

Цитата:
при нажатии кнопки Пуск он не открывает и не запускает приложение и выходит из него

Нет, вы способны видеть достаточно быстро, чтобы знать, что происходит или нет. Все, что вы можете знать, это то, что что-то произошло, потому что результат отображается.
Есть только 1 способ узнать, что происходит, использовать отладчик и выполнять свой код построчно.

Существует инструмент, который позволяет вам видеть, что делает ваш код, его имя отладчик Это также отличный инструмент обучения, потому что он показывает вам реальность, и вы можете увидеть, какие ожидания соответствуют реальности.
Когда вы не понимаете, что делает ваш код или почему он делает то, что делает, ответ таков: отладчик.
Используйте отладчик, чтобы увидеть, что делает ваш код. Просто установите точку останова и посмотрите, как работает ваш код, отладчик позволит вам выполнять строки 1 на 1 и проверять переменные по мере их выполнения.

Отладчик-Википедия, свободная энциклопедия[^]
Отладка кода C# в Visual Studio-YouTube[^]
Отладчик здесь для того, чтобы показать вам, что делает ваш код, и ваша задача-сравнить его с тем, что он должен делать.
В отладчике нет никакой магии, он не находит ошибок, он просто помогает вам. Когда код не делает того, что ожидается, вы близки к ошибке.


Member 10578733

Спасибо за информацию, позвольте мне попробовать

Рейтинг:
1

OriginalGriff

Тогда вам нужно посмотреть на код!

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

Итак, теперь вы входите во вторую стадию разработки (на самом деле это четвертая или пятая, но к более ранним стадиям вы придете позже): тестирование и отладка.

Начните с рассмотрения того, что он делает и чем это отличается от того, что вы хотели. Это важно, потому что это дает вам информацию о том, почему он это делает. Например, если программа предназначена для того, чтобы позволить пользователю ввести число, а он удваивает его и печатает ответ, то если ввод / вывод был таким:

Input   Expected output    Actual output
  1            2                 1
  2            4                 4
  3            6                 9
  4            8                16
Тогда совершенно очевидно, что проблема заключается в бите, который удваивает его-он не прибавляет себя к себе или умножает его на 2, он умножает его на себя и возвращает квадрат входного сигнала.
Таким образом, вы можете посмотреть на код, и очевидно, что он где-то здесь:
private int Double(int value)
   {
   return value * value;
   }

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

Начните с Program. cs и поставьте точку останова в первой строке основного метода.
Запустите ваше приложение в отладчике, и оно должно немедленно остановиться в точке останова, позволяя вам начать смотреть на то, что происходит.

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

Это навык, и его стоит развивать, поскольку он помогает вам как в реальном мире, так и в развитии. И, как и все навыки, он совершенствуется только при использовании!


Member 10578733

Спасибо за совет но я не думаю что есть проблема с кодом потому что я получил исходный код от моего друга и он работал хорошо без каких либо проблем вообще

OriginalGriff

Это ничего не значит: код-это приложение, поэтому, поскольку код не работает, вам нужно использовать отладчик, чтобы выяснить, почему.
Мы не можем сделать это для вас: я даже не могу видеть ваш экран отсюда, не говоря уже о том, чтобы дотянуться до вашей клавиатуры...