visual-studio - существующую - что такое solution в visual studio




Как добавить существующее дерево каталогов в проект в Visual Studio? (7)

В Visual Studio 2013 я не смог заставить «Включить в проект» работать, когда вы щелкаете правой кнопкой мыши по папке. Что работа расширяет папку, выбирая все файлы, а затем выбрав «Включить в проект». Это было довольно утомительно, так как вам нужно делать каждую папку по одной (но, по крайней мере, вы можете делать все файлы в каждой папке за один раз), и она, похоже, хранит путь к файлу (вы можете увидеть это, просмотрев свойства в файле и глядя на вариант «Относительный путь».)

Я надеюсь использовать это, чтобы развернуть некоторые файлы данных в проекте установщика Visual Studio, и, похоже, он забирает включенные файлы и сохраняет их пути.

Проблема проста. Вместо создания папок в Visual Studio я создаю структуру каталогов для моего проекта в файловой системе. Как включить все папки и файлы в проект, сохраняя структуру?

Если «Добавить существующий файл» в папке «Службы» и перейти к файлу в структуре каталогов. Services> AccountManagement> CreateAccount.cs, он появляется в Visual Studio следующим образом: Services> CreateAccount.cs. Я не хочу это.

У меня уже есть целая структура каталогов, так как я имитирую наших клиентов-разработчиков, используя ту же структуру для организации. Как добавить все папки и файлы в проект в Visual Studio? Или мне нужно делать то, что делают большинство пользователей Microsoft, и «мириться с ним», и воссоздать каждую папку через Visual Studio?


В Visual Studio 2015 вы так и делаете.

Если вы хотите автоматически включить все файлы-потомки под определенной папкой:

<Content Include="Path\To\Folder\**" />

Это может быть ограничено включением только файлов в указанный путь:

<Content Include="Path\To\Folder\*.*" />

Или даже файлы с указанным расширением:

<Content Include="Path\To\Folder\*.jpg" >

Ссылка: http://jamesrpatterson.com/blog/automatic-include-in-project-for-visual-studio


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


Вы можете использовать символическую ссылку. Это позволяет изменить файл в одном проекте, изменить его в другом (так как это фактически тот же файл).

Сделать это:

  1. Открыть команду cmd в качестве администратора
  2. mklink / d [имя текущего каталога проекта] [каталог в другом проекте, на который он должен указывать]

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

Изменить для Anoop: шаги для добавления в Visual Studio:

  1. Создайте ссылку в папке проекта, используя приведенные выше шаги.
  2. В Visual Studio ... выберите проект в обозревателе решений.
  3. В верхней части обозревателя решений ... нажмите кнопку «Показать все файлы» (возможно, потребуется дважды щелкнуть по нему, если она уже активна).
  4. Теперь ссылка будет показана в вашем проекте ... щелкните правой кнопкой мыши и выберите «Включить в проект».

Это шаги, которые я выполняю, и работает для нескольких разных проектов.


Насколько я могу судить, единственный способ сделать это в VS2010 сродни методу перетаскивания. Щелкните правой кнопкой мыши по решению, к которому вы хотите добавить проект. В меню приложения будет добавлен элемент .... Открыв это, вы обнаружите, что одним из вариантов является добавление существующего проекта в решение.

В открывшемся диалоговом окне перейдите к папке, содержащей файл проекта для решения, и выберите ее. VS, как часть импорта этого файла проекта, также импортирует весь каталог, и я предполагаю, что все подчиненные каталоги являются частью этого проекта.

Поскольку для этого требуется существующий файл проекта, импортировать дерево каталогов будет невозможно, пока это дерево не будет преобразовано в проект.


Чтобы расширить ответ Yuchen , вы можете включить файлы и пути в качестве ссылки. Это не то же самое, что добавление существующих элементов, потому что это не делает дополнительную копию в структуре папок вашего проекта. Это полезно, если вы хотите, чтобы одна каноническая папка / файл и т. Д. Использовалась в разных местах, но вы хотите сохранить только одну версию / копию.

Вот пример того, что вы можете добавить в файл *.csproj чтобы создать ссылку

<Compile Include="$(Codez)\z.Libraries\Common\Strings\RegexExtensions.cs">
    <Link>Helpers\RegexExtensions.cs</Link>
</Compile>

<Compile Include="..\..\z.Libraries\MoreLINQ\MoreLinq\ExceptBy.cs">
    <Link>Helpers\ExceptBy.cs</Link>
</Compile>

<Content Include="C:\Codez\Libs\Folder\OtherFolder\**\*.*">
    <Link>%(RecursiveDir)%(Filename)%(Extension)</Link>
    <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>

$(Codez) - это переменная среды Windows, которую я определил, вы можете использовать встроенные переменные среды таким же образом.

Последняя группа примеров - это набор файлов содержимого, которые мне нужны в конечном выпуске. См. https://.com/a/11808911/492 и другие ответы и ссылки для получения дополнительной информации об этом.

Дополнительная информация MSBuild на https://msdn.microsoft.com/en-us/library/bb629388.aspx


Копировать и вставить .

Чтобы добавить папку, все подкаталоги и файлы, мы также можем скопировать и вставить. Например, мы можем:

  1. Щелкните правой кнопкой мыши в проводнике Windows в папке и скопируйте в папку со многими файлами и папками.

  2. Затем в Visual Studio Solution explorer щелкните правой кнопкой мыши папку назначения и нажмите «Вставить».

  3. Необязательный добавить в TFS; Затем в верхней папке щелкните правой кнопкой мыши и зайдите в TFS, чтобы проверить все подпапки и файлы.







visual-studio