“Если Вы умеете писать код- это еще не значит, что вы умеете его отлаживать” – этой фразой один из гуру windbg любит начинать тренинги.
С Asp.Net в общем, и с MVC в частности ситуация была очень похожая- если код не работает, то без stackoverflow разобраться почему редко удавалось. А все почему?!
А вот, с asp.net 5.0 для начала отладки в исходном коде нужно меньше 5 минут. Сейчас весь исходный код на github , и что еще важнее его можно добавить в свой проект и скомпилировать.
Пример: создаем самое просто Web API. 1 контроллер, StartUp класс и конфиг с зависимостями на project.json. Я как старый MVC разработчик начал искать- а где же у меня routes сконфигурирован. Не понимаю!
Мои дальнейшие действия: у меня всего 2 вызова AddMVC и UseMVC, оба они в сборке MVC.
Как посмотреть?!- да проще простого!
С Asp.Net в общем, и с MVC в частности ситуация была очень похожая- если код не работает, то без stackoverflow разобраться почему редко удавалось. А все почему?!
- Сначала исходных кодов к asp.net не было в публичном доступе.
- Затем код появился на codeplex, но тяжело было привязать свою ошибку к этому исходному коду и часто приходилось отлаживаться методом пристального вглядывания.
- Опытные разработчики конечно знали, как найти нужную версию pdb файлов, как указать visual studio где лежат исходные коды, или на крайний случай можно было декомпилировать dll.
А вот, с asp.net 5.0 для начала отладки в исходном коде нужно меньше 5 минут. Сейчас весь исходный код на github , и что еще важнее его можно добавить в свой проект и скомпилировать.
Пример: создаем самое просто Web API. 1 контроллер, StartUp класс и конфиг с зависимостями на project.json. Я как старый MVC разработчик начал искать- а где же у меня routes сконфигурирован. Не понимаю!
Мои дальнейшие действия: у меня всего 2 вызова AddMVC и UseMVC, оба они в сборке MVC.
Как посмотреть?!- да проще простого!
- Делаем clone репозитария git clone github.com/aspnet/Mvc
- Смотрим какая версия указана у нас в коде- 6.0.0-beta8. Проверяем, что такая версия есть в нашем коде через git tag.
- Если такую версию нашли- то делаем git checkout 6.0.0-beta8.
- Затем добавляем исходные коды прямо в наш проект в файл global.config
- Сначала вставляем в него стандартный код
- А затем добавляем скаченный с github код mvc
- Нажимаем кнопку Restore Packages
- Проверяем, что все прошло хорошо в окне output
- Ну и теперь мы можем из нашего кода, перейти в код mvc и увидеть, где у нас конфигурируются routes!
ostapbender
Порочная практика. Нужен полноценный Symbol/Source Server. Я как раз занимаюсь предрелизной подготовкой оного: http://beta.unpluggedhq.com/