Ответ 1
Нет - SE и система подачи не содержат независимые копии информации о структуре/иерархии.
Я обычно отключаю фильтры и помещаю файлы там, где я их хочу, так что две структуры по-прежнему синхронизируются по умолчанию (действительно, любой другой способ кажется безумием, если вы хотите иметь какую-либо организацию исходного кода - я всегда групповые файлы для компонентов в отдельных папках).
Затем (с отключенными фильтрами)...
Если вы создаете папки в обозревателе решений и используете контекстное меню из этой папки в "Добавить новый элемент..." или "Добавить существующий элемент", то структура диска будет отображать проводник решения (существующие элементы скопированы, а чем указано, где они в настоящее время проживают, чтобы обеспечить это, что может привести к тому, что старые копии файлов будут оставлены вокруг вашего проекта, если вы добавите неправильную папку SE). В противном случае, как правило, только если вы "добавите в качестве ссылки", что VS поместит элемент в другую папку в SE, чем на диске.
Чтобы упростить процесс, самые простые подходы (после создания резервной копии на всякий случай):
- Откройте средство поиска и поиска файлов и вручную "разберите" их. Любые файлы, которые являются "неправильными", должны быть удалены из SE, перемещены в нужное место на диске, а затем добавлены в SE с помощью контекстного меню для правильной папки SE.
- Если не так много папок, более простой подход состоит в том, чтобы просто удалить все файлы из проводника решений, а затем добавить их (по одной папке за раз) в проект, гарантируя, что вы создадите правильные имена папок, поскольку вы перейти и добавить из контекстного меню каждой папки. Перестраивая SE с нуля, вы можете довольно быстро синхронизировать два макета, и это часто может быть проще, чем пытаться выяснить, где лежат различия.
Как только они синхронизируются, используйте только SE для управления файлами и будьте осторожны, чтобы добавлять элементы в контекстное меню из правильной папки. Если вы перемещаете вещи на диске, вы нарушите ссылки.