Почему не обновляется отладчик? - PullRequest
0 голосов
/ 17 мая 2010

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

Пожалуйста, помогите !!!!

Дополнительные детали: Компилятор: Microsoft Visual C # 2008 Express Edition Однажды я исправил эту проблему, перестроив решение, но оно больше никогда не работало.

Ответы [ 4 ]

1 голос
/ 18 мая 2010

Эй, я исправил это, я щелкнул правой кнопкой мыши Form1 в обозревателе решений, нажал свойства и изменил действие Build на none, затем вернулось на Compile, и оно, кажется, работает.

0 голосов
/ 20 января 2015

Ответы SwDevMan81 и Tanner у меня не сработали.

Однако,

Построить> Восстановить решение

... сделал!

0 голосов
/ 17 мая 2010

В дополнение к ответу @ SwDevMan81, с которым я согласен, я бы сказал, что установка путей вывода и ссылок может помочь избежать такого поведения для библиотек классов.Например, ваше приложение ссылается на библиотеку классов, которую вы в данный момент пишете, и вы вносите некоторые изменения в эту библиотеку, на которую ссылаются, но эти изменения не отображаются.

Что происходит, если компилятор будет копировать локально (вдиректория вывода проекта) связанная DLL и пока она там не будет обновлена.Вы можете проверить это, щелкнув правой кнопкой мыши на указанной сборке, а затем нажав Свойства.Посмотрите на свойство Filepath.Если вы видите, что он не соответствует вашему фактическому пути к файлу, то вам нужно будет установить соответствующий путь ссылки в свойствах проекта, а затем удалить и удалить фактическую ссылку, чтобы добавить ее там, где находится фактическая сборка, то есть гдеваша выходная папка библиотеки классов установлена.Таким образом, всякий раз, когда вы обновляете свою библиотеку классов, ваше приложение получает обновление автоматически.Вот пример:

Ссылки на проект приложения : ClassLibrary1.dll сборка.

Как только вы сгенерируете приложение, файл ClassLibrary1.dll будет скопированв выходной каталог вашего приложения.Предположим, C:\Open\Projects\ApplicationProject1\Debug\bin.Таким образом, этот каталог теперь будет содержать файл ClassLibrary1.dll .

  1. Вы переписываете метод, чтобы вести себя совершенно иначе;
  2. Вы регенерируете ClassLibrary1сборка;
  3. Вы перезапускаете свое приложение (помните, что файл уже существует!);
  4. В конце задаетесь вопросом, почему изменения не вступили в силу?Это связано с тем, что ваше приложение ссылается на кэшированную сборку в папке Debug\bin.

Обходной путь:

  1. Удалите ссылку на сборку из вашего приложенияproject;
  2. Перейдите в свойства проекта и перейдите на вкладку Reference Path ;
  3. Перейдите к выходной папке ClassLibrary1, затем откройте ее;
  4. YourТеперь для этой библиотеки задано свойство «Ссылочный путь», затем повторно добавьте сборку ClassLibrary1 в проект приложения;
  5. Выполните один раз, прекратите выполнение и посмотрите, по-прежнему ли свойство Path вашей ссылочной сборки совпадает содин в свойстве Reference Path проекта;
  6. Все готово (если все работало нормально).C: \ Open \ Projects \ ClassLibrary1 \ Debug \ bin \ ClassLibrary1.dll

В конце концов, это может быть причиной вашей проблемы, если ваши формы GUI являются частью библиотеки классов, иРешение, которое я описал, должно работать.

0 голосов
/ 17 мая 2010

В настройках Visual Studio в разделе «Проекты и решения» -> «Построить и запустить» измените параметр «При выполнении», если проекты устарели: с «Никогда не создавать» на «Всегда строить»

Инструменты> Параметры> Проекты и решения> Построить и запустить> При запуске, когда проекты устарели: «Всегда создавать»

...