2014-11-20 2 views
0

Моя ситуация:Добавить ссылки проекты в раствор автоматически

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

Теперь я хочу, чтобы создать новое решение B, который будет состоять из подмножества проектов решения . Я начинаю с добавления первого ранее существующего проекта в это новое решение B. Этот проект ссылается на пару библиотек классов из решения A. Поэтому логично, что эти библиотеки не могут быть найдены, и я не могу их построить. Конечно, я мог бы добавить все связанные проекты вручную в новое решение B, но это займет довольно много времени, учитывая общее количество проектов, которые мне нужно добавить.

Есть ли встроенная функция Visual Studio, которая может позаботиться об этом от моего имени? То есть Мне будет предоставлена ​​возможность сразу импортировать все указанные проекты, и файл B.sln будет обновлен автоматически.

У меня также есть расширение ReSharper, но я тоже не мог найти такую ​​функцию.

EDIT:

Некоторые более подробно на том, что я пытаюсь достичь. A.sln имеет множество прикладных проектов и буквально сотни библиотек классов. Я хочу создать новый B.sln для одного конкретного проекта приложения от A.sln и добавлять только библиотеки классов, на которые он ссылается, прямо или косвенно ... Но зависимости могут достигать 15 уровней, поэтому вручную удалять проекты из оригинала A.sln для создания B.sln действительно не подходит для меня, так как мне пришлось бы тщательно рассмотреть каждый из проектов, которые я бы вручную удалил из исходного файла sln, после чего просмотрел csproj, чтобы найти, интересует ли приложение, которое косвенно зависит от них, через одну из его прямых ссылок.

ответ

0

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

Удаление будет проще, поскольку проекты уже есть. Не используйте Visual Studio для удаления проекта, но откройте файл sln в блокнот программистов. Ваши проекты добавляются в sln-файл, как показано ниже.

Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Example.Integration.App1", "..\Example.Integration\Example.Integration.App1\Example.Integration.App1.csproj", "{E3977144-AFBA-451D-894C-1F89AA008041}" 
EndProject 

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

+0

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

0

Лучший способ сопоставить ссылки из существующего проекта, который я нашел, - это создать шаблон для этого проекта.

  1. В меню «Файл» выберите «Экспорт шаблона». Откроется мастер экспорта шаблонов.
  2. Выберите шаблон проекта и пройдите через мастер
  3. Нажмите «Готово». Ваш проект экспортируется в .zip-файл и помещается в указанное место вывода и, если выбран, импортируется в Visual Studio.
  4. Теперь, когда вы настраиваете новый проект для решения B. Вы сможете выбрать шаблон проекта из A и сохранить структуру файла/ссылки.

Ref: http://msdn.microsoft.com/en-us/library/vstudio/xkh1wxd8%28v=vs.100%29.aspx

+0

Спасибо за предложение, пожалуйста, см. Мой обновленный вопрос, я надеюсь, что теперь это ясно объясняет, почему это решение не подходит для меня. –

+0

@MichalHosala Похоже, что вы хотите создать шаблон проекта. В визуальной студии нажмите на проект в решении A, который вы хотите использовать в качестве шаблона, и в меню нажмите File-> Exmport Template. Вам придется очистить существующий код, но ссылки будут легко перенесены. –

Смежные вопросы