Добавить структуру папок в решение Visual Studio - PullRequest
8 голосов
/ 10 мая 2011

Можно ли добавить структуру папок к элементам решения без добавления каждого уровня дерева вручную?

У нас есть мультипроектное решение, для которого требуется несколько сторонних библиотек, по крайней мере, одна из которых имеетмногослойное дерево.

У нас есть папка libs на корневом уровне решения вместе со всеми остальными проектами.

Ответы, касающиеся Показать скрытые файлы и т. д., не работают дляэлементы решения, только в рамках проекта.

Есть ли способ обойти это?

Нужно ли добавлять их по папкам, если мы хотим, чтобы они находились на уровне решения?

(На аналогичный вопрос был ответ много раз относительно проектов Visual Studio . Однако мой вопрос касается решений Visual Studio .)

Ответы [ 4 ]

6 голосов
/ 10 мая 2011

Папки решений - это просто логические группы элементов. Я не думаю, что они связаны с файловой структурой в вашей системе. Вот почему вы не видите их с функцией «Показать скрытые файлы». Необходимо щелкнуть правой кнопкой мыши решение, добавить новую папку, а затем щелкнуть правой кнопкой мыши папку, чтобы добавить существующие элементы или вложенные папки.

0 голосов
/ 29 мая 2018

Один из вариантов - написать небольшой исполняемый файл и добавить его в качестве внешнего инструмента в VS.В основном вам нужно отредактировать файл sln (простой текст), добавив папки как «Проекты»

...
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "mycsproj", " 
[somerelativepath]\mycsproj.csproj", "{projGUID}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "FolderName", 
"FolderName", "{FolderGUID}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "SubFolderName", 
"SubFolderName", "{SubFolderGUID}"
EndProject
...

{FAE04 ..} должен быть GUID типа проекта для CSproject
{2150 ...} будет GUID типа проекта для папки проекта

и определит иерархию в разделе

...
GlobalSection(NestedProjects) = preSolution
{projGUID} = {SubFolderGUID}
{SubFolderGUID} = {FolderGUID}
EndGlobalSection
...

Теперь вам решать написать какой-нибудь exe-файл, читая информацию папки libsс диска и пиши в соответствии с Project-Folder Infos в слн.Это не должно быть огромным усилием:)

Поэтому, когда вы собираете несколько проектов в свое решение, вы запускаете инструмент ext и хорошо структурируете связанные проекты.

И все же я могу быть включенневерное понимание вашей проблемы:)

0 голосов
/ 29 мая 2018

Если я вас правильно понял, вы хотели бы организовать проекты в своем решении.Не уверен, подходит ли это вашему сценарию, но если вы добавите существующие проекты в ваше реальное решение, выбрав «.sln» (переключить расширение файла в диалоге файлов), он добавит все организованные проекты, как они сохранены в sln.добавить.(VS2017)

PS: Да, я вижу, это 7-летний пост :)

0 голосов
/ 19 мая 2011

Почему вы хотите, чтобы папка libs находилась в решении?Какую пользу это принесет решению?Он должен просто содержать скомпилированные DLL.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...