Сегодня расскажу про тему, которую начинающие программисты, особенно использующие Visual Studio, часто упускают из виду. Упускают, потому что в VS сложно перейти в режим редактирования .csproj-файла, и он достаточно удобно редактируется через графический интерфейс. А вот в Rider это легко делается напрямую (тут писал подробнее про эту IDE). Когда мы программируем, мы даже не задумываемся, что происходит, когда мы запускаем сборку решения. Откуда компилятор знает, из каких файлов брать код, из каких не надо, какие ссылки на какие dll или nuget-пакеты использованы?
В целом, нам необязательно использовать какие-то сложные программы — весь код можно писать в блокноте, и запускать через терминал. Просто через IDE это удобнее и быстрее, но при сборке вся мишура от IDE отбрасывается и остаётся только суть:
Главным является .sln-файл (или .slnx, но об этом будет в следующих статьях) — файл Решения (Solution). Там указываются конфигурации решения, и то, какие проекты в каких конфигурациях соб