Тем что одно будет собираться и использовать .net core, а второе - .net framework.
Чем они отличаются - тем что это разные продукты с разными линиями поддержки, как минимум.
Плохо гуглили. Комментирование выделеного - штатная функция вижлы вообще.
Сохранение при каждом клике - вообще непонятно куда вы кликаете.
Что за итд - тоже непонятно.
Вы уверены что это ошибка, а не предупреждение (warning)? Я вот нет.
Как вы компилируете через командную строку? Возможно там или другой компилятор, или другое окружение, или другие настройки компиляции, или просто варнинги не показываются.
Использовать так как написано в вариннге - другую функцию scanf_s, или отключить варнинги секурности, или забить (но понимать чем это черевато).
1) Решение - это набор проектов. Так удобнее решать зависимости и одновременно делить на модули. Крайне актуально для больших проектов.
2) Можно. В двух экземплярах VS. В рамках одного экземпляра по моему можно только 1 решение держать.
3) Вкладки называются так же, как называются файлы (внезапно!) Почему именно Program - ну потому что так решил разработчик.
Достаточно обычное дело для C# (да и для других С-синтаксисподобных языков), когда набираешь отрывающую фигурную скобку, затем закрывающую фигурную скобку, а затем нажимаешь стрелку влево, чтобы попасть "внутрь" фигурных скобок.
Вы отстали от жизни. Обычное дело - когда этот процесс автоматизирован - открыли фигурную скобку - добавилась закрывающая и курсор между ними.
Бороться с этим - регулярно обновляться и не мучаться потом с сотнями изменений в поведении. 2010 вижла - ну уж совсем ппц.
При стандартных настройках вижлы и unityVS (если ставили вижлу из инсталлера юнити - то все ок) в классе - наследнике MonoBehaviour нажимаете Ctrl+Shift+M - и получаете диалог со всеми месседжами юнити.
Кстати - это не переопределение (override) в терминах C#.