Подарки от программис'тов
батник для самого первого запуска
-----
Тебе даже место куда команды прописать выделили... хоть ДО, хоть ПОСЛЕ...
Если совсем не нравится, то есть даже пример того, как по Ф5 запустить другой (отличный от используемого для разработки) инстанисе Студии с установленным разрабатываемым расширением для Студии в режиме отладки...
А что делать если ошибка какая будет?
-----
Обрабатывать ERRORLEVEL...
Лучше уж батник сюды подцепить.
------
Батник не даст доступа к переменным определенным в проекте, а они будут нужны. Не сейчас так позднее.
Так что лучше - выучить пропсы с таргетсами, обдумать задачу и уложить в них.
Но это одна из тех областей, которую полезно знать, но которая пользуется крайне редко и потому с ней знакомятся только иногда...
Но после каждого существенного обновления (разработал фичу) нужно править установщик - т.е. деинсталлировать и инсталлировать снова. И так постоянно. Бред...Или просто поменять сборки в уже установленном софте :)
Для этого нужно
либо вручную заменять эти сборки,
либо писать программулину, которая их заменяет (проще тогда уж поправить установщик и переустановить),
либо прописывать пути, куда при сборке складывать либы.
Последний вариант требует разных типов сборочного процесса - для тестирования в установленном виде и для собирания установщика. Т.е. начинаем ипаца с разными переменными сборки: Debug, InstalledDebug, Release, Distrib и прочее. Либо немного по-другому - при компиляции складываем всё в привычные Debug или Release, но потом запускаем скрипты для тестирования в установленном виде, для тестирования без установки, для сборки дистриба и прочее. Т.е. усложняем процесс разработки - нам ведь не нужны простые решения, чтобы каждый джун мог разобраться сходу.
Тебе даже место куда команды прописать выделили... хоть ДО, хоть ПОСЛЕ...
Не место, а места. В MSBuild-скриптах ещё и батники вызываются. И ещё много чего до кучи. И ДО, и ПОСЛЕ, и ВО ВРЕМЯ, и даже ВМЕСТО. И наверняка найдётся какой-нибудь Мурр, который скажет, что ему этого мало, и он хочет кастомное расширение написать: ДО_И_ПОСЛЕ_НО_НЕ_ВО_ВРЕМЯ_ПЛЮС_ДВА_РАЗА_ВМЕСТО_ПО_ЧЁТНЫМ_ПОНЕДЕЛЬНИКАМ_КАЖДОГО_ВИСОКОСНОГО_ГОДА.
Батник не даст доступа к переменным определенным в проекте, а они будут нужны. Не сейчас так позднее.
Так что лучше - выучить пропсы с таргетсами, обдумать задачу и уложить в них.
Но это одна из тех областей, которую полезно знать, но которая пользуется крайне редко и потому с ней знакомятся только иногда...
Если бы было придумано ещё чего посложнее, а потом ещё, и ещё, то Мурр наверняка бы во всё это с удовольствием зарылся. Если всё будет просто, то незаменимым не станешь и семь знаков не заработаешь. Какие семь знаков, если каждый джун сможет всё скомпилить и собрать без перелопачивания тонн тьюториалов? ))
ни разу еще не попадалось с правильным значением
-----
Ну с этим не ко мне - код выхода будет в этой переменной, а что он будет обозначать спрашивай у разработчика.
К тому же там определено единственное значение - 0 - "все Ок!", а остальное не регламентировано.
не имею понятия зачем
-----
Ну откуда Я могу знать - ЗАЧЕМ - если задача еще не определена.
Когда-то давно пользовал оное для принудительной перекомпиляции шаблонов в проекте.
Потом вроде сделали более цивильный вариант...
Кто-нибудь встречал такой кейс, что базовые типы, типа строк, чисел, булевых и прочих (но не все) переписаны, в них добавлена встроенная валидация, способность определять, можно ли их отрисовывать (на основе встроенной авторизации и аутентификации), присутствуют состояния и сообщения об ошибках (т.е. в "базовых" типах заведена куча полей, логики, они сами из себя представляют лютую иерархию наследования)? И все остальные модели строятся на этих кастомным "базовых" типах.
При этом был узнаваемый стиль - один контрол со всеми атрибутами строго на одну строку. Если строка занимает три экрана - твои проблемы.
Ну и кстати, чтобы прочитать эту галиматью, я дрюкал каждый раз автоформат - чтобы атрибуты каждый на своей строке были. А поскольку я ещё должен был в логике что-то поправить и закоммитить это, то у меня получалось, что я кроме файлов с логикой ещё и кучую вьюшек с разметкой изменял (чисто этим автоформатом), которые должен был потом тоже закоммитить - а как же, ведь pending changes же есть.
Но там чуваки не занимаются созданием своих базовых типов с дофига встроенной функциональности взамен дотнетовских?
Насколько я знаю, даже Телерик и Девэкспресс стараются копировать свойства и методы дотнетовских компонентов, лишь немного что-то изменяя или добавляя своего. Т.е. полностью отличающихся наборов членов и поведением нет, если они заменяют дотнетовский.
Кто-нибудь встречал такой кейс, что базовые типы, типа строк, чисел, булевых и прочих (но не все) переписаны, в них добавлена встроенная валидация, способность определять
Встречал. В одном ORM можно было хранить только данные, унаследованные от DbData. Стринги, инты, булеаны - для всего был свой класс.