Visual Studio Web Application редактирует источник во время работы, как в Tomcat\Eclipse\Java

В проекте ASP.NET Web Site я всегда мог внести изменения в базовый код С# и просто обновить страницу в браузере, и мои изменения будут там мгновенно.

Я могу сделать то же самое при работе с Java и Eclipse - отредактируйте свой источник Java и обновите страницу, и мои изменения там.

Я не могу сделать это в ASP.NET MVC, хотя это и настоящий провал - мне нужно остановить выполняемый процесс и внести изменения, а затем перезапустить отладку. Это огромная трата времени.

Я делаю это неправильно? Каков наилучший подход к разработке ASP.NET MVC?

Ответ 1

Visual Studio блокирует исходный код в режиме отладки. Итак, ваши варианты:

  • Публикуйте сайт в локальном IIS и используйте "attach to proccess".
  • Вместо этого используйте "Запустить без отладки" (Ctrl-F5) "attach to proccess".
  • Прервать выполнение в режиме отладки (с точкой останова).

Первый мой любимый.

Ответ 2

Я редко использую режим отладки в проекте ASP.NET MVC (F5). Я запускаю проект один раз с CTRL+F5 и всегда открываю окно браузера. Затем, если я сделаю изменение вида (.aspx,.ascx), я ударил F5 в браузере и изменения автоматически вступят в силу. Если мне нужно внести изменения в код .NET(логика контроллера, модели, репозитории и т.д.), Я больше не использую браузер. Чтобы проверить правильность моего изменения, перейдите к соответствующему unit test и нажмите CTRL+R+T. Результат можно увидеть либо зеленым, либо красным.

Ответ 3

Вам не нужно останавливать процесс, вы можете сломаться.

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

1) CTRL-ALT-BREAK 2) Редактируйте свой код 3) F5

Ответ 4

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

Единственная причина, по которой он запускается в первую очередь, потому что VS, похоже, выбирает случайный номер порта для локального хоста при запуске встроенного IIS. Но даже это редко меняет

Мой URL обычно выглядит примерно так:

http://localhost:49434/something.apsx

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

Ответ 5

Запустите проект MVC с помощью сочетания клавиш (CTRL + F5), и теперь любые изменения, внесенные вами в код С#, будут отображаться в браузере после обновления (F5)

Ответ 6

Самый быстрый способ кодирования - размещать локально в IIS, а затем все, что вам нужно сделать, - это создать решение, прежде чем проверять ваши изменения.

Еще одна альтернатива заключается в том, чтобы вставлять все в папку App_Code, которая будет компилироваться "на лету" при внесении изменений.