Вопрос действительно прост. Вместо создания папок в Visual Studio я создаю структуру каталогов для своего проекта в файловой системе. Как мне включить все папки и файлы в проект, сохраняя структуру?
Если я «добавлю существующий файл» в папку с именем Services и перейду к файлу в структуре каталогов. Services> AccountManagement> CreateAccount.cs, в Visual Studio он будет выглядеть следующим образом: Services> CreateAccount.cs. Я не хочу это.
Я уже разработал всю структуру каталогов, поскольку я имитирую наших клиентов-разработчиков, использующих ту же структуру для организации. Как добавить все папки и файлы в проект в Visual Studio? Или я должен делать то, что делает большинство пользователей Microsoft, «мириться с этим» и заново создавать каждую папку через Visual Studio?
источник
Ответы:
Вы должны поместить свою структуру каталогов в каталог вашего проекта. А затем нажмите значок «Показать все файлы» в верхней части панели инструментов Solution Explorer. После этого будет добавлен добавленный каталог. Затем вам нужно будет выбрать этот каталог, щелкнуть правой кнопкой мыши и выбрать «Включить в проект».
источник
Вы также можете перетащить папку из проводника Windows в окно решения Visual Studio.
источник
В Visual Studio 2015 именно так вы и делаете.
Если вы хотите автоматически включить все файлы-потомки в определенную папку:
Это может быть ограничено включением только файлов в указанном пути:
Или даже только файлы с указанным расширением:
Ссылка: http://jamesrpatterson.com/blog/automatic-include-in-project-for-visual-studio
источник
Копировать вставить .
Чтобы добавить папку, все подкаталоги и файлы, мы также можем скопировать и вставить. Например, мы можем:
Щелкните правой кнопкой мыши в проводнике Windows на папке и скопируйте в папку с большим количеством файлов и папок.
Затем в обозревателе Visual Studio Solution щелкните правой кнопкой мыши папку назначения и выберите команду «Вставить».
Необязательно добавить в TFS; Затем в верхней папке щелкните правой кнопкой мыши и войдите в TFS, чтобы проверить все подпапки и файлы.
источник
Вы можете использовать символическую ссылку. Это позволяет изменять файл в одном проекте, изменять его в другом (так как на самом деле это тот же файл).
Сделать это:
У этого есть свои недостатки и подводные камни, но я иногда использую его для дублирующих библиотек, которым нужны разные имена.
Редактировать для Anoop: шаги для добавления в Visual Studio:
Это шаги, которые я выполняю и работает для нескольких разных проектов.
источник
В Visual Studio 2017, вы можете переключаться между Solution View и Folder View вперед и назад. Я думаю, что это лучший вариант, потому что он будет держать решение чище. Я использую это для редактирования .gitignore, .md файлов и т. Д.
источник
Расширить ответ Юхен , вы можете включить файлы и пути в качестве ссылки. Это не то же самое, что добавление существующих элементов, потому что это не делает дополнительную копию в структуре папок вашего проекта. Это полезно, если вы хотите, чтобы одна каноническая папка / файл и т. Д. Использовалась во многих разных местах, но вы хотите сохранить только одну версию / копию.
Вот пример того, что вы можете добавить в
*.csproj
файл, чтобы создать ссылку$(Codez)
Я определил переменную среды Windows, вы можете использовать встроенные переменные среды таким же образом.Последняя группа примеров - это набор файлов содержимого, которые мне нужны в конечном выводе. См. Https://stackoverflow.com/a/11808911/492 и другие ответы и ссылки там для получения дополнительной информации об этом.
Дополнительная информация о MSBuild по адресу https://msdn.microsoft.com/en-us/library/bb629388.aspx
источник
Я думаю, что нашел способ сделать это с помощью Compile Include = ". \ Code ***. Cs". Я хотел включить рекурсивный код в мою папку Code.
Вот пример файла проекта.
источник
В Visual Studio 2013 я не мог заставить «Включить в проект» работать при щелчке правой кнопкой мыши по папке. То, что сработало, - это расширение папки, выбор всех файлов и выбор «Включить в проект». Это было довольно утомительно, так как вы должны делать каждую папку одну за другой (но, по крайней мере, вы можете сделать все файлы в каждой папке за один раз), и кажется, что для сохранения пути к файлу (вы можете увидеть это, просмотрев свойства файла и глядя на «Относительный путь» вариант.)
Я надеюсь использовать это для развертывания некоторых файлов данных в проекте установщика Visual Studio, и он, похоже, выбирает включенные файлы и сохраняет их пути.
источник
Насколько я могу судить, единственный способ сделать это в VS2010 сродни методу перетаскивания. Щелкните правой кнопкой мыши решение, к которому вы хотите добавить проект. В меню приложения будет добавлен пункт ... Открыв это, вы обнаружите, что одним из вариантов является добавление существующего проекта в решение.
В открывшемся диалоговом окне перейдите к папке, содержащей файл проекта для решения, и выберите его. VS, как часть импорта этого файла проекта, также импортирует весь каталог и, я полагаю, любые подчиненные каталоги, которые являются частью этого проекта.
Поскольку для этого требуется существующий файл проекта, невозможно будет импортировать дерево каталогов, пока это дерево не будет преобразовано в проект.
источник
Я не нашел ответа на мое удовлетворение, поэтому я понял сам.
Вот вам ответ, если вы хотите добавить внешние исходные коды в свой проект и не хотите копировать все коды. У меня много зависимостей от других мерзавцев, и они обновляются ежечасно, если не поминутно. Я не могу делать копии каждый час, чтобы синхронизироваться. Вот что вам нужно сделать.
Предположим, что это структура:
/ Корень / projA / SRC
/ Корень / projA / включает в себя
/ Корень / projB / SRC
/ Корень / projB / включает в себя
/ Корень / yourProj / SRC
/ Корень / yourProj / включает в себя
Сделайте то же самое для projB. Теперь внешние / существующие проекты вне вашего присутствуют в вашем решении / проекте. VS скомпилирует их вместе. Вот трюк. Поскольку projA и projB являются виртуальными папками в вашем проекте, компилятор может не найти projA / include.
Если он не находит projA / includes, то щелкните правой кнопкой мыши проект, выберите «Свойства».
Одно предостережение: если есть дублированные файлы include / header, «исключить из проекта» в «заголовочном файле» действительно не работает. Это ошибка в VS.
источник
Visual Studio 2017 и новее поддерживают новый облегченный
.csproj
формат, который получил название «формат SDK». Одним из нескольких преимуществ этого формата является то, что вместо того, чтобы содержать список файлов и папок, которые включены , файлы по умолчанию включаются по шаблону.Таким образом, с этим новым форматом ваши файлы и папки - добавленные в Проводнике или в командной строке - будут загружены автоматически!.csproj
Файл формата SDK в настоящее время работает со следующими типами проектов :Проекты библиотеки классов
Консольные приложения
Основные веб-приложения ASP.NET
.NET Core проекты любого типа
Чтобы использовать новый формат, создайте новый проект .NET Core или .NET Standard. Поскольку шаблоны не были обновлены для полной версии .NET Framework даже в Visual Studio 2019, для создания библиотеки классов .NET выберите шаблон стандартной библиотеки .NET, а затем отредактируйте файл проекта, чтобы выбрать нужную версию платформы ( Новый стиль проекта можно редактировать в Visual Studio - просто щелкните правой кнопкой мыши проект в обозревателе решений и выберите «Редактировать файл проекта»). Например:
Дальнейшее чтение:
источник