#c_sharp #net #visual_studio #visual_studio_2015
Добрый день! Похоже я достиг нового этапа в становлении программистом, когда зашел в папку с одной из разработанных программ, и стал немыслимо негодовать с криками "Что за хрень?!!". Всем нам, еще с тех времен, когда игры качали с торрентов, а для активации и взлома игры нужно было файлы из папки "Crack" поместить в папку с игрой, знакома картина, как должны выглядеть внутренности софта. В этих папках все хорошо структурировано: несколько папок с библиотеками и ресурсами и сам ярлык игры. Так вот захожу я в папку с своей программой для того, чтобы сделать установочный файл, а там куча ненужной информации. Сразу хочу сказать, я искал и гуглил информацию по вопросам, которые описаны ниже, но многие темы которые могли бы мне помочь созданы давно и скорей всего люди отвечавшие там не смогут мне быстро дать дополнительные разъяснения. Буду благодарен любой информации, как личному объяснению, так и ссылкам на умную и нудную документацию. Программирую на C#, использую для этого Visual Studio 2015 и Visual Studio 2017. Сами вопросы: Как разложить библиотеки и файлы программы по соответствующим папкам? Нашел способ с прописыванием в файл с конфигурацией, но неужели это единственный способ? Уверен есть куда более изысканный и красивый способ это сделать! Зачем нужны файлы .pdb в релизной сборке и возможно ли от них избавиться? И если возможно то как? Нужны ли файлы .xml в релизной сборке? И если не нужны, то как от них избавиться? P.s. Файлы .vshost.ext и manifest я догадался как отключить и их назначение знаю)) Всем спасибо за потраченное время и помощь!
Ответы
Ответ 1
В типовом проекте студия сама автоматически сложит все файлы в каталоге out/release как нужно. Наводить порядок вручную не стоит: на это тратится время, а смысла особого в наведении порядка ради порядка нет. Если вам всё же нужно что-то нестандартное... Откройте Рихтер CLR via C#, Глава 2 Компоновка, упаковка, развертывание и администрирование приложений и типов, "Алгоритм поиска файлов сборки", там есть краткое описание о том, как ищутся сборке в каталоге приложения (для закрытого развёртывания). Подключиться отладчиком. Если вам это не нужно - можно отключить в свойствах проекта (закладка Build - Advanced) для release режима. Подробно можно почитать на английском: https://stackoverflow.com/a/5457250/5752652 или у того же Рихтера. Сильно зависит от того, что это за xml-файлы. Конкретные примеры?Ответ 2
Никак. Не надо ничего раскладывать по отдельным папкам, если это не вызвано какой-то реальной необходимостью (например, механизм загрузки ресурсов может искать сборки в папках с именами ru-ru и en-us). Нужны для отладки релизной сборки. В окончательный инсталлер их можно не включать, но если есть хоть какая-то вероятность отладки релиза, хотя бы на стадии предрелизного тестирования - стоит сохранить копию pdb. MS есть отдельный "сервер" для хранения символов - набор утилит для организации хранения pdb. XML документация - файлы с именами someassembly.xml - не нужны, кроме случая, когда ваш продукт - это именно сама сборка. Все остальное - зависит от того, что это за файлы. XML - это просто формат, в файле может лежать что угодно, так что в общем виде заранее оценить его необходимость невозможно.
Комментариев нет:
Отправить комментарий