Скопировать проект visual studio

Скопировать проект visual studio

Фон

Я использую Visual Studio Community 2015 на Windows 10 и пишу код на C ++.

Мне передали решение с двумя проектами. Мне нужно создать дубликат одного из проектов, но используя разные исходные и заголовочные файлы (содержащие примерно одинаковый код, но расположенные в другом месте файловой системы).

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

проблема

Проблема в том, что, по крайней мере, одна из библиотек не распознается. Это приводит к коду с красной волнистой линией под ним, без автозаполнения и т. Д. И т. Д. (Это больше не актуально, см. Редактировать 1)

Попытки решения

Я попытался создать новый проект с новыми исходными файлами, добавить его в решение и вручную скопировать настройки проекта, щелкнув правой кнопкой мыши существующий проект, выбрав «Свойства» и скопировав все, что не имеет значения по умолчанию. Это не сработало.

Я попытался скопировать существующие файлы .vcxproj, добавить их в решение, удалить старые и повторно добавить новые исходные и заголовочные файлы. Это не сработало.

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

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

Вопросы

Итак, есть ли способ скопировать весь набор настроек, который контролирует это?

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

Редактировать 1
Ну, теперь я чувствую себя глупо. Я боролся с этой проблемой уже несколько дней, но я сделал несколько неверных предположений о файлах, которые у меня есть.

Оказывается, второй набор файлов заголовков (расположенный в новом месте файловой системы) похож, но не идентичен старым. Так что на первый взгляд они выглядят одинаково, и я никогда не удосужился проверить.

Новые заголовочные файлы имеют #if defined(WIN64) перед соответствующим #include заявления, что, конечно, поэтому библиотека не была включена.

Итак, мой новый вопрос: какой разумный способ #define WIN64 без изменения заголовка файла? Где я могу поместить это определение, чтобы оно действовало в этом заголовочном файле, не изменяя этот заголовочный файл?

Решение

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

Читайте также:  Как перевести из формата docx в doc

Проект копирования Visual Studio (6)

Если вам нужна копия, самым быстрым способом сделать это будет сохранение проекта. Затем сделайте копию всего файла в Файловой системе. Вернитесь в Visual Studio и откройте копию. Оттуда я, скорее всего, рекомендую переименовать проект / решение, чтобы у вас не было двух одинаковых имен, но это самый быстрый способ сделать копию.

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

Есть ли в VS инструмент для этого? Я использую VS 2008

Крайне НЕ СОВМЕСТНО копировать проекты вообще, потому что некоторые файлы конфигурации, созданные внутри, как .csproj, .vspscc и т. Д., Могут (и, скорее всего, будут) указывать на ссылки, которые относятся к местоположению и другим путям / местоположениям предыдущих решений в системе или TFS. Если вы не специалист по чтению этих файлов и исправлению ссылок, не пытайтесь копировать проекты.

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

Сказав все это, позвольте мне дать вам метод копирования проекта так или иначе поэтапно:

  1. Перейдите в проект, который вы хотите скопировать в проводнике решений, и щелкните правой кнопкой мыши .
  2. Теперь выберите « Открыть папку в проводнике файлов » (предположим, что решение было сопоставлено локальному пути на вашем диске).
  3. Выберите проекты, которые вы хотите реплицировать, как целые папки (вместе со всеми зависимостями, файл bin .vspscc, файл .csproj)
  4. Вставьте их в нужное место (это может быть ваша же папка с решением или даже другая папка с решением. Если она находится в одной и той же папке с решением, вам потребуется переименовать ее, а также .csproj и другие внутренние файлы на новое имя ).
  5. Не возвращайтесь в Visual Studio, щелкните правой кнопкой мыши по решению> Добавить> Существующий проект .
  6. Просмотрите и выберите файл проекта (файл .csproj) теперь из местоположения, в которое вы его разместили, и выберите « открыть »,
  7. Этот файл теперь появляется в проводнике решений для работы.
Читайте также:  Debian или ubuntu для ноутбука

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

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

То, что я сделал (в VS 2008), было открыть следующие файлы в моем каталоге:

Когда я это сделал, всплывающее окно спросило меня, будет ли sln-файл новым решением, и когда я нажму «да», все работает отлично.

Просто создайте шаблон;

Из вашего проекта выбрали File — Export Template

Мастер позволит вам определить

  • Имя Шаблона
  • Описание шаблона
  • Значок
  • Предварительный просмотр

Затем он застегивает ваш проект в каталог «Мои экспортированные шаблоны». У вас также есть возможность сделать свой шаблон доступным при создании нового проекта.

Когда вы используете свой шаблон для создания нового проекта, пространство имен будет правильным для «your_new_project_name» во всех файлах, все ссылки правильные, все идеально 🙂

Вы можете отправить файл .zip кому угодно, и они должны скопировать (не распаковать) .zip-файл в каталог Templates ProjectTemplates, чтобы они тоже могли его использовать.

Я создал шаблон ASP.NET MVC с папками, страницей макета, viewmodels и т. Д., Упорядоченными так, как мне они нравятся.

ЗАМЕТКА:
Если у вас есть пустая папка в вашем проекте, она НЕ добавляется в шаблон, поэтому я просто добавил пустой класс, соответствующий каждой папке, и образец изображения для папки с изображениями.

Я думаю, если это то, что вы часто делаете, есть небольшая (несвободная) утилита, которая обещает сделать это за вас: я не использовал ее, поэтому не уверен, насколько она хороша:

Существует также этот проект на CodePlex:

Я, вероятно, попробую попробовать проект codeplex, и если это не сработает, я вручную переименую все и отредактирую sln-файл.

Я следую этим шагам, и я использую инструмент разработки, называемый Resharper , который является удивительным, кстати:

  1. Скопируйте существующую папку проекта в нужное место назначения
  2. Перейдите в исходный элемент управления и щелкните правой кнопкой мыши только в корневую папку и выберите «Добавить элементы в папку . ». Затем появится мастер, чтобы выбрать файлы для копирования (нет необходимости в некоторых файлах и Мастер по этой причине ведет по умолчанию).
  3. Измените имя файла решения (* .sln)
  4. Измените имена подпроектов, если они существуют.
  5. Используйте Resharper для изменения имени имен имен привязок (я буду автоматически выполнять грязное задание с безопасностью). Альтернативным способом является изменение всех пространств имен с новым именем.
  6. Это же действие с именами методов.
  7. Проверьте свойства решения, если вы хотите изменить его.

7 просмотра

Читайте также:  Где фаза на счетчике

1 ответ

61 Репутация автора

У меня есть проект Visual Studio 2019. Попросили внести пробные изменения. Не хотите изменять текущий проект. Есть ли способ скопировать проект, чтобы мне не пришлось начинать все заново?

Искал здесь и другие форумы и документацию и не могу найти решение.

Ответы (1)

плюса

291 Репутация автора

Краткий ответ: вы можете очень просто скопировать каталог, в котором находится ваш проект, на диск. Откройте новый каталог и дважды щелкните файл .csproj, и теперь вы работаете над новой копией проекта. Но, если вы хотите сделать это более профессиональным и понятным способом, пожалуйста, читайте дальше .

Лучший способ сделать это более надежным способом — использовать Git.

В правом нижнем углу Visual Studio найдите команду «Добавить в систему управления версиями», щелкните ее, затем выберите «Git». Теперь команда говорит «master», это ваша основная «копия» проекта: в Git это называется вашей главной «веткой».

Теперь нажмите на него, выберите «Новая ветка», дайте ему имя (например, пробная версия), оставьте флажок «Оформить ветку», затем нажмите «Создать ветку». Теперь команда в правом нижнем углу изменилась на «пробная».

Теперь у вас есть еще одна копия вашего проекта: вы можете работать над ней, сохранять свою работу на локальном диске. Когда вы будете готовы сохранить его в Git, нажмите значок карандаша, который находится на нижней панели инструментов справа рядом с командой, которую вы использовали ранее (число рядом с ним показывает, сколько файлов вы изменили): щелкните по нему, введите «зафиксировать сообщение», затем нажмите «Подтвердить все». Теперь вы сохранили всю свою работу в пробной «ветке» вашего проекта в Git.

Если вы хотите вернуться к своей первоначальной копии проекта, нажмите «пробная версия», затем выберите «мастер» и вуаля . вы сейчас работаете со старой копией или вашим проектом. Вы можете переключаться между двумя ветками в любое время, только помните, что перед переключением вы должны «зафиксировать» свои изменения, то есть сохранить их в Git, как я объяснил выше.

В какой-то момент вы можете захотеть довести до совершенства изменения, которые вы внесли в пробную версию. Для этого, когда вы работаете в мастере, щелкните по мастеру (всегда на нижней панели инструментов справа), затем выберите «Управление ветвями», затем щелкните правой кнопкой мыши «Пробная версия», нажмите «Объединить из . » , затем нажмите кнопку «Объединить»: теперь вы внесли изменения, сделанные пробным способом, в мастер. Единственная проблема может возникнуть, если вы изменили файл как в основной, так и в пробной версиях, и изменения конфликтуют: в этом случае VS предупредит вас, покажет конфликтующие изменения, и вам придется выбирать, какая версия конфликтует. изменения, которые вы хотите.

Ссылка на основную публикацию
Сервер не поддерживает символы не ascii
Многие из нас пользуются замечательным FTP сервером FileZilla Server. Думаю, не я один столкнулся с проблемой некорректного отображения русских букв...
Ресивер пионер vsx 528
5.1 канальный AV ресивер Pioneer VSX-528 с 6x HDMI, AirPlay, DLNA, MHL, сквозным сигналом Ultra HD 4K и Интернет-радио vTuner....
Ресивер для нтв плюс какой лучше
Телекомпания НТВ‑ПЛЮС гарантирует получение качественных услуг, а также обеспечение корректного доступа к каналам и дополнительным сервисам Телекомпании, только при условии...
Сервера для обновления nod32 бесплатно
Отличие полной версии от триальной Полные (не триальные) антивирусные базы и программные компоненты Eset Antivirus и Eset Smart Security! Отличия...
Adblock detector