Как скопировать проект в visual studio 2019
![]()
- Помечено в качестве ответа Stalevik 10 марта 2015 г. 14:10
- Помечено в качестве ответа Stalevik 10 марта 2015 г. 14:10
- Windows
- Office
- Visual Studio
- Microsoft Azure
- Дополнительно.
- Microsoft Virtual Academy
- Канал Channel 9
- Журнал MSDN
- Новости
- Форумы
- Блоги
- Codeplex
- BizSpark (для стартапов)
- Microsoft Imagine (for students)
- Информационный бюллетень
- Конфиденциальность и файлы cookie
- Условия использования
- Товарные знаки
© 2021 Microsoft
How to make copy of Visual Studio 2019 project?
I have a Visual Studio 2019 project. Was asked to make trial changes. Do not want to alter current project. Is there any way to copy a project so I do not have to start over from scratch?
Searched here and other forums and documentation and cannot find solution.
4 Answers 4
Short answer: you can very simply copy the directory in which your project reside on disk. Open the new directory and double click on the .csproj file and you are now working in your new copy of the project. But, if you want to do that in a more professional and maintainable way, please read on.
The best way to do that in a more robust way is using Git.
In the bottom right corner of Visual Studio find the «Add to Source Control» command, click it, then choose Git. Now the command says «master», that is your main «copy» of the project: in Git, this is called your main «branch».
Now click on it, choose «New branch», give it a name (e.g.: trial), leave the checkbox «Checkout branch» checked, then click on «Create branch». Now the command in the right bottom has changed to «trial».
Now you have another copy of your project: you can work on it, save your work on local disk. When you are ready to save it in Git, press the pencil icon, that is located in the bottom toolbar, on the right, near the command you used before (the number near it shows how many files you have changed): click it, enter a «commit message», then click on «Commit all». Now you have saved all your work in the trial «branch» of your project in Git.
If you want to come back to your initial copy of the project, click on «trial», then choose «master», and voila. your are now working on the old copy or your project. You can switch between the two branches anytime, only remember that, before switching, you have to «commit» your changes, that is, save them in Git, as I explained above.
At some point, you may want to bring the changes you made in trial to master. To do so, when you are working in master, click on master (always in the bottom toolbar, on the right), then choose «Manage branches», then right click on «trial», click on «Merge from. «, then click the Merge button: you have now brought the changes made on trial into master. The only problem can arise if you have changed a file both in master and in trial, and the changes are conflicting: in this case, VS will warn you, show you the conflicting changes, and you will have to choose which version of the conflicting changes you want.
Копирование winforms между проектами в Visual Studio
Как лучше всего скопировать или вырезать / вставить форму из одного проекта в другой в рамках решения в Visual Studio?
Всякий раз, когда я пробую это, используя обозреватель решений (перетаскивание или щелчок правой кнопкой мыши, вырезание и вставка), он копирует только базовый код C #, а не необходимые «кусочки и фрагменты», которые помогают визуализировать форму с помощью конструктора форм.
22 ответа
- Скопируйте три файла, .cs , .designer , resx в папку целевого решения.
- В целевом проекте выберите Add existing item и сначала добавьте файл дизайнера.
- Измените атрибут пространства имен. Также должен появиться файл .cs .
- Измените пространство имен в файле .cs .
- Добавьте файл resx , используя Add existing item .
В 2012 году это стало намного проще. Просто перейдите в меню «Файл»> «Добавить»> «Существующий проект»> «Перетащите» форму в проект, в который вы хотите ее добавить.
В Visual Studio 2015 щелкните проводник решений и щелкните правой кнопкой мыши Добавить-> Существующий элемент и выберите из другого проекта, какую форму вы хотите добавить, например Form.cs и автоматически будет добавлен Form.designer.cs, Form.resx
Спасибо за статью Гарри Дэвиса на https://quick-adviser.com. Была такая же проблема, но ни одно из решений здесь не помогло мне. Я также признаю, что не совсем понял, так как я только начал использовать VS неделю назад и хотел это для классного проекта. Это решение сработало для меня для VS 2021.
- Добавьте подпапку в проект. Я сделал это, щелкнув правой кнопкой мыши имя проекта в окне обозревателя решений и выбрав «Добавить» > «Новая папка».
- Щелкните правой кнопкой мыши новую подпапку и выберите Добавить > Существующий элемент.
- Найдите файл .cs, который вы хотите скопировать (не Design.cs и не что-то еще), и нажмите «Добавить».
- Щелкните правой кнопкой мыши только что добавленный файл .cs и выберите «Переименовать».
Я попробовал следующий процесс в Visual Studio 2012, и он сработал.
- Добавьте проект, из которого вы хотите импортировать форму, в свое решение, щелкнув правой кнопкой мыши решение> Добавить> Существующие меню проекта. Выберите проект и нажмите ОК.
- Теперь щелкните правой кнопкой мыши форму, которую вы хотите скопировать, выберите копию.
- Щелкните правой кнопкой мыши проект, который вы хотите скопировать, и выберите «Вставить».
- Форма будет скопирована в ваш проект, теперь переименуйте пространства имен.
- Удалите из решения проект, добавленный на шаге 1.
Убедитесь, что вы копируете не только Form.cs, но также файлы Form.designer.cs и Form.resx.
Но мне нужно спросить, зачем вам хранить копию одной и той же формы в нескольких проектах в одном решении. Похоже, вы хотите обобщить код в нем, поместить его в библиотеку классов и повторно использовать в тех местах, где это применимо.
Используйте ReSharper (получите демонстрацию), щелкните правой кнопкой мыши класс в представлении кода, выберите Refactor-> Move , и переместите его в другой проект.
Дополнительным преимуществом является то, что если вы измените пространство имен, перемещая его между проектами, оно автоматически обновит все ссылки.
Если вы хотите формовать на одной машине, вы можете это сделать.
В обозревателе решений Проект -> Добавить -> Добавить существующий элемент .
Выберите только файл .cs (Sample.cs) из исходного каталога и обновите проводник текущего решения, он будет работать.
Я наконец понял следующее:
1) скопируйте 3 файла желаемой формы с расширениями .cs , .resx , .Designer.cs .
2) Добавить существующее и выберите formName.cs .
3) проверьте пространство имен и значение свойства Name добавленной формы.
4) В файле Program.cs используйте using NameSpace; и замените new NameSpace.formName() в строке Application.Run() .
Для Visual Studio V.12 это единственный метод, который у меня сработал (это смесь приведенных выше записей):
- Скопируйте через проводник файлов три файла, из которых состоит форма.
- На верхней панели обозревателя решений в Visual Studio включите «показывать все файлы».
- Файл file.cs отображается серым цветом. Щелкните правой кнопкой мыши и выберите: «Включить в проект». Обозреватель решений автоматически связывает три файла (.designer и .resx в файле .cs). Файл file.cs изменит значок с c ++ на значок формы.
Я использую Visual Studio 2010, вот шаги, которые я выполнил:
- Скопируйте все 3 файла (.cs, .resx, .Designer.cs) в папку целевого проекта.
- В Visual Studio щелкните правой кнопкой мыши Проект ->Добавить ->Существующий элемент .
- Выберите все 3 файла (.cs, .resx, .Designer.cs), нажмите Добавить .
- Измените пространство имен на 2 файлах (.cs, .Designer.cs), если это другое пространство имен в целевом проекте.
- Запустите проект.
- Выполнено!
Вы выбираете файл или используете дизайнер, чтобы «скопировать» все элементы управления? Выбор файла YourForm.cs в обозревателе решений и его копирование с помощью копирования и вставки или перетаскивания в другой проект должны выполнить то, что вам нужно.
** Это работает для меня:
1) Скопируйте исходные файлы (.cs или vb, .designer, .resx) в целевую папку.
2) Показать скрытые файлы в целевом решении
3) Выберите эти файлы и включите их в проект.
Это чисто добавит winform или любые другие частично разделенные файлы.
Использование VS2013 только что проверило это, и оно кажется надежным и последовательным. Это похоже на некоторые комментарии выше, но добавляет еще один более быстрый метод.
(1-й) . В проводнике Windows выделите и скопируйте все 3 файла формы (.vb или .cs, .designer, .resx).
(2-й) Это можно сделать двумя способами:
(2a-1) В проводнике вставьте 3 файла в папку проекта вместе с другими формами.
(2a-2) В обозревателе решений VS включите «Показать все файлы», щелкните правой кнопкой мыши вставленную форму и «Включить в проект». Он должен работать без других изменений.
Или, мне кажется, лучше:
(2b-1) В VS щелкните в обозревателе решений и вставьте w / Control-C. (По какой-то причине контекстное меню, вызываемое щелчком правой кнопкой мыши в обозревателе решений, может не отображать параметр вставки, но он работает с клавиатуры.) Этот метод добавляет форму в проект напрямую, без необходимости «Включить в проект», как указано выше. С помощью этого метода вы можете добавить столько форм за раз, сколько захотите (все 3 файла для каждой) за один шаг.
0.7 – Компиляция вашей первой программы
Прежде чем мы сможем написать нашу первую программу, нам нужно научиться создавать новые программы в нашей интегрированной среде разработки (IDE). В этом уроке мы расскажем, как это сделать, а вы скомпилируете и запустите свою первую программу!
Проекты
Чтобы написать программу на C++ внутри IDE, мы обычно начинаем с создания нового проекта (мы покажем вам, как это сделать чуть позже). Проект – это контейнер, в котором хранятся все файлы исходного кода, изображения, файлы данных и т.д., которые необходимы для создания исполняемого файла (или библиотеки, веб-сайта и т.д.), который вы сможете запускать или использовать. Проект также сохраняет различные настройки IDE, компилятора и компоновщика, а также запоминает, где вы остановились, чтобы позже, при повторном открытии проекта состояние IDE можно было восстановить с того места, где вы остановились. Когда вы решите скомпилировать свою программу, все файлы .cpp в проекте будут скомпилированы и слинкованы.
Каждый проект соответствует одной программе. Когда вы будете готовы создать вторую программу, вам нужно будет либо создать новый проект, либо перезаписать код в существующем проекте (если вы не хотите его оставлять). Файлы проекта обычно специфичны для конкретной IDE, поэтому проект, созданный в одной IDE, необходимо будет заново создать в другой IDE.
Лучшая практика
Создавайте новый проект для каждой новой программы, которую вы пишете.
Консольные проекты
Когда вы создаете новый проект, вас обычно спрашивают, проект какого типа вы хотите создать. Все проекты, которые мы создадим в этом руководстве, будут консольными. Консольный проект означает, что мы собираемся создавать программы, которые можно запускать из консоли Windows, Linux или Mac.
Ниже показан скриншот консоли Windows:
Рисунок 1 – Консоль Windows
По умолчанию консольные приложения не имеют графического пользовательского интерфейса (GUI), они выводят текст на консоль, считывают ввод с клавиатуры и компилируются в автономные исполняемые файлы. Они идеально подходят для изучения C++, поскольку сводят сложность к минимуму и обеспечивают работу в самых разных системах.
Не беспокойтесь, если вы никогда раньше не пользовались консолью или не знаете, как получить к ней доступ. Мы будем компилировать и запускать наши программы через наши IDE (которые при необходимости будут вызывать консоль).
Рабочие пространства / решения
Когда вы создаете новый проект для своей программы, многие IDE автоматически добавляют ваш проект в «рабочее пространство» («workspace» или «solution») (термин зависит от IDE). Рабочее пространство – это контейнер, который может содержать один или несколько связанных проектов. Например, если вы пишете игру и хотите иметь отдельные исполняемые файлы для одиночной и многопользовательской игры, вам нужно будет создать два проекта. Обоим этим проектам не имело бы смысла быть полностью независимыми – в конце концов, они являются частью одной игры. Скорее всего, каждый из них будет настроен как отдельный проект в рамках одного рабочего пространства.
Хотя вы можете добавить несколько проектов в одно рабочее пространство, мы обычно рекомендуем создавать новое рабочее пространство для каждой программы, особенно во время обучения. Это проще, и вероятность того, что что-то пойдет не так, меньше.
Написание вашей первой программы
Традиционно у программистов, пишущих на новом языке, первой программой является печально известная программа hello world, и мы не собираемся лишать вас этого опыта! Вы нас потом поблагодарите. Может быть.
Создание проекта в Visual Studio 2019
Когда вы запустите Visual Studio 2019, вы должны увидеть диалоговое окно, которое выглядит следующим образом:
Рисунок 2 – Диалоговое окно «Начало работы» Visual Studio 2019
Выберите Создание проекта (Create a new project).
После этого вы увидите диалоговое окно, которое выглядит следующим образом:
Рисунок 3 – Visual Studio 2019: диалоговое окно создания нового проекта
Если вы уже открыли предыдущий проект, вы можете открыть это диалоговое окно через меню Файл (File) → Создать (New) → Проект (Project).
Выберите Мастер классических приложений Windows (Windows Desktop Wizard) и нажмите Далее (Next). Если вы этого не видите, то вы, вероятно, при установке Visual Studio забыли выбрать установку Desktop development with C++. В этом случае вернитесь к уроку «0.6 – Установка интегрированной среды разработки (IDE)» и переустановите Visual Studio, как было показано (примечание: вместо полной переустановки вы можете запустить установщик Visual Studio и изменить существующую установку, чтобы добавить поддержку C++).
Далее вы увидите диалоговое окно, которое выглядит следующим образом:
Рисунок 4 – Диалоговое окно настройки нового проекта Visual Studio 2019
Замените существующее имя проекта на HelloWorld .
Рекомендуется также установить флажок «Поместить решение и проект в одном каталоге» (Place solution and project in the same directory), поскольку это сокращает количество подкаталогов, создаваемых с каждым проектом.
Нажмите Создать (Create), чтобы продолжить.
Наконец, вы увидите последнее диалоговое окно:
Рисунок 5 – Диалоговое окно параметров проекта Visual Studio 2019
Убедитесь, что тип приложения установлен как Консольное приложение (.exe) (Console Application (.exe)), и что параметр Предкомпилированный заголовок (Precompiled Header) не выбран. Затем нажмите ОК.
Вы создали проект! Чтобы продолжить, перейдите в раздел Обозреватель решений Visual Studio ниже.
Создание проекта в Visual Studio 2017 или в более ранней версии
Чтобы создать новый проект в Visual Studio 2017 или более ранней версии, выберите меню Файл (File) → Создать (New) → Проект (Project). Появится диалоговое окно, которое выглядит примерно так:
Рисунок 6 – Диалоговое окно «Новый проект Visual Studio 2017»
Сначала убедитесь, что слева указан Visual C++. Если вы не видите Visual C++, возможно, вы забыли выбрать установку поддержку Desktop development with C++ при установке Visual Studio. В этом случае вернитесь к уроку «0.6 – Установка интегрированной среды разработки (IDE)» и переустановите Visual Studio, как было показано (примечание: вместо полной переустановки вы можете запустить установщик Visual Studio и изменить существующую установку, чтобы добавить поддержку C++).
Если вы используете Visual Studio 2017 v15.3 или новее, под Visual C++ выберите Windows Desktop, а затем выберите Windows Desktop Wizard в главном окне.
Если вы не видите вариант с Windows Desktop, возможно, вы используете старую версию Visual Studio. Отлично. Вместо этого выберите Win32, а затем Win32 Console Application в главном окне.
Внизу в поле Name введите название своей программы (замените существующее имя на HelloWorld ). В поле Location вы можете при желании выбрать другое место для размещения вашего проекта. Пока подойдет и значение по умолчанию.
Нажмите ОК. Если вы используете старую версию Visual Studio, запустится мастер приложений Win32. Нажмите Next.
На этом этапе вы должны увидеть диалоговое окно мастера, которое выглядит примерно так (более старые версии Visual Studio используют другой стиль, но имеют большинство из тех же параметров):
Рисунок 7 – Мастер создания десктопного приложения Visual Studio 2017
Убедитесь, что вы сняли флажок Предкомпилированный заголовок (Precompiled Header).
Затем нажмите ОК или Finish. Теперь ваш проект создан!
Обозреватель решений Visual Studio
В левой или правой части окна вы должны увидеть окно под названием Обозреватель решений. В этом окне Visual Studio создала для вас решение (решение "HelloWorld"). Внутри него, имя которого выделено жирным шрифтом, находится ваш новый проект ( HelloWorld ). Visual Studio создала для вас в этом проекте ряд файлов, в том числе HelloWorld.cpp (в элементе дерева Исходные файлы (Source Files)). Вы также можете увидеть некоторые другие файлы .cpp или .h, которые пока можете игнорировать.
Рисунок 8 – Начальные окна Visual Studio 2019
В текстовом редакторе вы увидите, что Visual Studio уже открыла HelloWorld.cpp и создала для вас код. Выделите и удалите весь код и введите/скопируйте следующий код в вашу IDE:
Чтобы скомпилировать программу, либо нажмите F7 (если это не сработает, попробуйте Ctrl + Shift + B ), либо перейдите в меню Сборка (Build) → Собрать решение (Build Solution). Если всё пойдет хорошо, вы должны увидеть следующее в окне вывода:
Или, в зависимости от выбранного языка:
Это означает, что ваша компиляция прошла успешно!
Вопрос: У меня вылетела ошибка C1010 ("fatal error C1010: unexpected end of file while looking for precompiled header. Did you forget to add '#include "stdafx.h"' to your source?"). Что теперь?
Вы забыли отключить предварительно скомпилированные заголовки при создании проекта. Заново создайте свой проект (в соответствии с инструкциями выше) и обязательно отключите предварительно скомпилированные заголовки.
Чтобы запустить скомпилированную программу, нажмите Ctrl + F5 или перейдите в меню Отладка (Debug) и выберите Запуск без отладки (Start Without Debugging). Вы увидите следующее:
Рисунок 9 – Запуск программы
Это результат выполнения вашей программы! Поздравляем, вы скомпилировали и запустили свою первую программу!
Создание проекта в Code::Blocks
Чтобы создать новый проект, перейдите в меню File (Файл) → New (Новый) → Project (Проект). Появится диалоговое окно, которое выглядит следующим образом:
Рисунок 10 – Code::Blocks. Диалоговое окно создания проекта
Выберите Console application (консольное приложение) и нажмите кнопку Go (перейти/создать).
Если вы видите диалоговое окно мастера консольного приложения, нажмите Next (далее), убедитесь, что выбран C++, и снова нажмите Next.
Теперь вам будет предложено назвать ваш проект. Назовите проект HelloWorld . Вы можете сохранить его где угодно. В Windows мы рекомендуем сохранить его в подкаталоге диска C, например C:\CBProjects .
Рисунок 11 – Code::Blocks. Диалогове окно сохранения проекта
Вы можете увидеть другое диалоговое окно с вопросом, какие конфигурации вы хотите включить. Значения по умолчанию здесь подойдут, поэтому выберите Finish.
Теперь ваш новый проект создан.
В левой части экрана вы должны увидеть окно Management (управление) с выбранной вкладкой Projects (проекты). Внутри этого окна вы увидите папку Workspace с вашим проектом HelloWorld внутри:
Рисунок 12 – Code::Blocks. Workspace
Внутри проекта HelloWorld разверните папку Sources (исходники) и дважды щелкните на « main.cpp ». Вы увидите, что для вас уже написана программа hello world!
Замените ее следующим кодом:
Чтобы собрать проект, нажмите Ctrl + F9 или перейдите в меню Build (Сборка) → Build (Сборка). Если всё пойдет хорошо, вы должны увидеть следующее в окне журнала сборки:
Это означает, что компиляция прошла успешно!
Чтобы запустить скомпилированную программу, нажмите Ctrl + F10 или перейдите в меню Build (Сборка) → Run (Запуск). Вы увидите что-то похожее на следующий скриншот:
Рисунок 13 – Запуск программы
Это результат выполнения вашей программы!
Для пользователей Linux
Пользователям Linux до компиляции в Code::Blocks может потребоваться установить дополнительные пакеты. Дополнительные сведения смотрите в инструкциях по установке Code::Blocks в уроке «0.6 – Интегрированная среда разработки (IDE)».
Если вы используете g++ из командной строки
В этом случае создавать проект не нужно. Просто вставьте следующий код в текстовый файл с именем HelloWorld.cpp и сохраните файл:
В командной строке введите:
Это скомпилирует и слинкует HelloWorld.cpp . Чтобы запустить скомпилированную программу, введите:
И вы увидите результат выполнения своей программы.
Если вы используете другие IDE или веб-компилятор
Вам нужно будет самостоятельно выяснить, как сделать следующее:
- создать консольный проект (только для IDE);
- добавить в проект файл .cpp (только для IDE, если он для вас не был создан автоматически);
- вставить в файл следующий код:
- скомпилировать проект;
- запустить проект.
Если компиляция завершилась ошибкой
Ничего страшного, сделайте глубокий вдох. Вероятно, мы сможем это исправить. 🙂
Сначала посмотрите на сообщение об ошибке, которое вам выдал компилятор. Чаще всего оно будет содержать номер строки, указывающий, какая строка содержала ошибку. Изучите и эту строку, и строки вокруг нее и убедитесь, что нет опечаток или орфографических ошибок. Также убедитесь, что вы не скопировали в код номера строк.
Во-вторых, посмотрите вопросы и ответы в уроке «0.8 – Несколько распространенных проблем C++», поскольку ваша проблема может быть там освещена.
В-третьих, прочтите комментарии ниже – кто-то мог столкнуться с той же проблемой.
Наконец, если всё вышеперечисленное не помогло, попробуйте поискать сообщение об ошибке в Google. Скорее всего, кто-то уже сталкивался с этим раньше и придумал, как это исправить.
Если ваша программа запускается, но окно мигает и сразу закрывается
Некоторые IDE автоматически не приостанавливают экран консоли после завершения выполнения программы. Ваша программа запускается, но окно вывода закрывается, прежде чем вы сможете просмотреть результаты.
Если это так с вашей IDE, следующие два шага решат вашу проблему:
Сначала добавьте или убедитесь, что следующие строки находятся в верхней части вашей программы (пользователи Visual Studio должны убедиться, что эти строки появляются после #include "pch.h" или #include "stdafx.h" , если таковые существуют):
Во-вторых, добавьте следующий код в конец функции main() (непосредственно перед оператором return ):
Это приведет к тому, что ваша программа будет ждать, пока пользователь нажмет какую-нибудь клавишу, прежде чем продолжить, что даст вам время изучить вывод вашей программы, прежде чем IDE закроет окно консоли.
Другие решения, такие как обычно предлагаемое system("pause") , могут работать только в определенных операционных системах, и их следует избегать.
Ваш антивирус также может блокировать выполнение программы. В таком случае попробуйте временно отключить его и посмотреть, решится ли проблема.
Для пользователей Visual Studio
Visual Studio не будет в конце делать паузу в работе консольного приложения, если оно запускается с отладкой (меню Отладка (Debug) → Начать отладку (Start Debugging)). Если вы хотите, чтобы она сделала паузу, вы можете либо использовать приведенное выше решение с дополнительным кодом, либо запустить свою программу без отладки (меню Отладка (Debug) → Начать отладку (Start Without Debugging)).
Заключение
Поздравляем, вы прошли самую сложную часть этого руководства (установку IDE и компиляцию вашей первой программы)!
Не волнуйтесь, если не понимаете, что делают все строки в программе HelloWorld . Мы рассмотрим и подробно объясним каждую строку в начале следующей главы.