Поместить решение и проект в одном каталоге зачем
Перейти к содержимому

Поместить решение и проект в одном каталоге зачем

  • автор:

0.7 – Компиляция вашей первой программы

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

Проекты

Чтобы написать программу на C++ внутри IDE, мы обычно начинаем с создания нового проекта (мы покажем вам, как это сделать чуть позже). Проект – это контейнер, в котором хранятся все файлы исходного кода, изображения, файлы данных и т.д., которые необходимы для создания исполняемого файла (или библиотеки, веб-сайта и т.д.), который вы сможете запускать или использовать. Проект также сохраняет различные настройки IDE, компилятора и компоновщика, а также запоминает, где вы остановились, чтобы позже, при повторном открытии проекта состояние IDE можно было восстановить с того места, где вы остановились. Когда вы решите скомпилировать свою программу, все файлы .cpp в проекте будут скомпилированы и слинкованы.

Каждый проект соответствует одной программе. Когда вы будете готовы создать вторую программу, вам нужно будет либо создать новый проект, либо перезаписать код в существующем проекте (если вы не хотите его оставлять). Файлы проекта обычно специфичны для конкретной IDE, поэтому проект, созданный в одной IDE, необходимо будет заново создать в другой IDE.

Лучшая практика

Создавайте новый проект для каждой новой программы, которую вы пишете.

Консольные проекты

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

Ниже показан скриншот консоли Windows:

Рисунок 1 Консоль Windows Рисунок 1 – Консоль Windows

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

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

Рабочие пространства / решения

Когда вы создаете новый проект для своей программы, многие IDE автоматически добавляют ваш проект в «рабочее пространство» («workspace» или «solution») (термин зависит от IDE). Рабочее пространство – это контейнер, который может содержать один или несколько связанных проектов. Например, если вы пишете игру и хотите иметь отдельные исполняемые файлы для одиночной и многопользовательской игры, вам нужно будет создать два проекта. Обоим этим проектам не имело бы смысла быть полностью независимыми – в конце концов, они являются частью одной игры. Скорее всего, каждый из них будет настроен как отдельный проект в рамках одного рабочего пространства.

Хотя вы можете добавить несколько проектов в одно рабочее пространство, мы обычно рекомендуем создавать новое рабочее пространство для каждой программы, особенно во время обучения. Это проще, и вероятность того, что что-то пойдет не так, меньше.

Написание вашей первой программы

Традиционно у программистов, пишущих на новом языке, первой программой является печально известная программа hello world, и мы не собираемся лишать вас этого опыта! Вы нас потом поблагодарите. Может быть.

Создание проекта в Visual Studio 2019

Когда вы запустите Visual Studio 2019, вы должны увидеть диалоговое окно, которое выглядит следующим образом:

Рисунок 2 Диалоговое окно Начало работы Visual Studio 2019 Рисунок 2 – Диалоговое окно «Начало работы» Visual Studio 2019

Выберите Создание проекта (Create a new project).

После этого вы увидите диалоговое окно, которое выглядит следующим образом:

Рисунок 3 Visual Studio 2019: диалоговое окно создания нового проекта Рисунок 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 Рисунок 4 – Диалоговое окно настройки нового проекта Visual Studio 2019

Замените существующее имя проекта на HelloWorld .

Рекомендуется также установить флажок «Поместить решение и проект в одном каталоге» (Place solution and project in the same directory), поскольку это сокращает количество подкаталогов, создаваемых с каждым проектом.

Нажмите Создать (Create), чтобы продолжить.

Наконец, вы увидите последнее диалоговое окно:

Рисунок 5 Диалоговое окно параметров проекта Visual Studio 2019 Рисунок 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 Рисунок 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 Рисунок 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 Рисунок 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 Запуск программы Рисунок 9 – Запуск программы

Это результат выполнения вашей программы! Поздравляем, вы скомпилировали и запустили свою первую программу!

Создание проекта в Code::Blocks

Чтобы создать новый проект, перейдите в меню File (Файл) → New (Новый) → Project (Проект). Появится диалоговое окно, которое выглядит следующим образом:

Рисунок 10 Code::Blocks. Диалоговое окно создания проекта Рисунок 10 – Code::Blocks. Диалоговое окно создания проекта

Выберите Console application (консольное приложение) и нажмите кнопку Go (перейти/создать).

Если вы видите диалоговое окно мастера консольного приложения, нажмите Next (далее), убедитесь, что выбран C++, и снова нажмите Next.

Теперь вам будет предложено назвать ваш проект. Назовите проект HelloWorld . Вы можете сохранить его где угодно. В Windows мы рекомендуем сохранить его в подкаталоге диска C, например C:\CBProjects .

Рисунок 11 Code::Blocks. Диалогове окно сохранения проекта Рисунок 11 – Code::Blocks. Диалогове окно сохранения проекта

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

Теперь ваш новый проект создан.

В левой части экрана вы должны увидеть окно Management (управление) с выбранной вкладкой Projects (проекты). Внутри этого окна вы увидите папку Workspace с вашим проектом HelloWorld внутри:

Рисунок 12 Code::Blocks. Workspace Рисунок 12 – Code::Blocks. Workspace

Внутри проекта HelloWorld разверните папку Sources (исходники) и дважды щелкните на « main.cpp ». Вы увидите, что для вас уже написана программа hello world!

Замените ее следующим кодом:

Чтобы собрать проект, нажмите Ctrl + F9 или перейдите в меню Build (Сборка) → Build (Сборка). Если всё пойдет хорошо, вы должны увидеть следующее в окне журнала сборки:

Это означает, что компиляция прошла успешно!

Чтобы запустить скомпилированную программу, нажмите Ctrl + F10 или перейдите в меню Build (Сборка) → Run (Запуск). Вы увидите что-то похожее на следующий скриншот:

Рисунок 13 Запуск программы Рисунок 13 – Запуск программы

Это результат выполнения вашей программы!

Для пользователей Linux

Пользователям Linux до компиляции в Code::Blocks может потребоваться установить дополнительные пакеты. Дополнительные сведения смотрите в инструкциях по установке Code::Blocks в уроке «0.6 – Интегрированная среда разработки (IDE)».

Если вы используете g++ из командной строки

В этом случае создавать проект не нужно. Просто вставьте следующий код в текстовый файл с именем HelloWorld.cpp и сохраните файл:

В командной строке введите:

Это скомпилирует и слинкует HelloWorld.cpp . Чтобы запустить скомпилированную программу, введите:

И вы увидите результат выполнения своей программы.

Если вы используете другие IDE или веб-компилятор

Вам нужно будет самостоятельно выяснить, как сделать следующее:

  1. создать консольный проект (только для IDE);
  2. добавить в проект файл .cpp (только для IDE, если он для вас не был создан автоматически);
  3. вставить в файл следующий код:
  4. скомпилировать проект;
  5. запустить проект.

Если компиляция завершилась ошибкой

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

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

Во-вторых, посмотрите вопросы и ответы в уроке «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 . Мы рассмотрим и подробно объясним каждую строку в начале следующей главы.

Для чего в Visual Studio папка решения и содержимые в ней файлы и как получить доступ к этим данным из проектов?

Я создал в одном решении Visual Studio несколько проектов. Можно добавить папку решения и файлы в нее,насколько я понял,относящиеся ко всем проектам сразу. Но толи из за проблемы с namespace толи из за того,что я не знаю доступа- я не могу из файлов проекта получить значения из “общего для всех класса”.
Вообщем я хочу создать один общий статический класс в этой папке для всех проектов сразу и в нем хранить параметры и иметь к ним доступ со всех проектов данного решения.
Как такое сделать?

Классический вариант — выделите общие части ваших проектов в отдельный проект и поместите его в решение. А в целевых проектах добавьте на ссылку на этот общий проект и его публичные классы будут доступны обычным образом, по полному имени (с указанием пространства имен) или короткому, если пространство имен указано в первых директивах using.

преимущества нескольких проектов и одного решения

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

Я просто хочу знать, нужно ли мне убеждать его использовать несколько проектов!

6 ответов

Я действительно согласен с вашим менеджером.

Несколько проектов означают множественные сборки, много копий вокруг сборок и, как правило, более медленное время компиляции.

Если ваша единственная причина иметь несколько проектов — это улучшенная организация, тогда вы делаете это неправильно. Было бы так же эффективно использовать папки.

Некоторые обоснованные причины наличия разных сборок:

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

Я очень удивлен принятым ответом. Я работал в обеих средах и нашел несколько проектов в целом полезными. Фактическое решение по-прежнему зависит от вашей команды (если один проект не мешает вам достичь ваших целей, то это достаточно).

Я опираюсь на дядю Боба Принципы OOD относительно управления пакетами. Они не очень хорошо известны (особенно по сравнению с его принципами SOLID для дизайна классов), но они разумны.

Взято от дяди Боба Принципы OOD

  • REP Эквивалентность повторного использования выпуска Принцип. Гранулом повторного использования является гранула высвобождения.
  • CCP Общие принципы закрытия Классы, которые изменяются вместе, упаковываются вместе.
  • CRP Общие принципы повторного использования Классы, которые используются вместе упаковываются вместе.
  • ADP Принцип ациклических зависимостей График зависимости пакеты не должны иметь циклов.
  • SDP Стабильные зависимости Принцип Зависит от направления устойчивости.
  • SAP The Stable Абстракции Принцип Абстракция возрастает со стабильностью.

Они совпадают с моим личным опытом, в котором склонность к меньшему количеству проектов часто приводила к проблемам в моем опыте:

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

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

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

Visual Studio достаточно умна, чтобы не перекомпилировать сборки, которые не имеют никаких изменений. По мере стабилизации ваших «основных» проектов они будут видеть меньше компиляций, что может сэкономить время компиляции.

Аналогично выше, использование меньшего количества проектов приводит к обязательному перекомпиляции кода — независимо от того, имеет ли он соответствующие изменения. Однострочное изменение в очень большом проекте приведет к полной перекомпиляции.

Конечно, у нескольких проектов могут быть и свои проблемы:

Вы должны быть уверены в своих зависимостях, чтобы избежать циклических ссылок (которые .NET обрабатывает достаточно хорошо, но Visual Studio работает для предотвращения)

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

Исходное время компиляции решения может быть медленнее

И, наконец, одна из редко используемых функций в .NET заключается в том, что один .DLL может содержать несколько модулей (фактически это несколько сборок, разделяющих один набор метаданных). Я бы не предложил использовать это, но интересно узнать, как это работает: http://www.codeproject.com/Articles/9364/Merging-NET-assemblies-using-ILMerge

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

(Пример шаблона проектирования MVP)

  • BLL (бизнес)
  • DAL (Персистентность (сопоставления, условные обозначения и т.д.))
  • Веб
  • PL (Уровень презентации)
  • Тест (Разумеется, тесты должны проходить в отдельном проекте)

Структура каталогов является фундаментальной для вашего кода

«Как расскажет любой дизайнер, это первые шаги в дизайне процесс, который считается для большинства. Первые несколько штрихов, которые создают формы, нести в себе судьбу остальных». — Кристофер Александр

(Кристофер Александр — архитектор. программист, он повлиял на многих людей, которые много думают о программирование. Его ранняя книга A Pattern Language была оригинальной вдохновение для движения шаблонов проектирования. Он долго думал и тяжело о том, как строить красивые вещи, и эти размышления кажутся в основном применимы и к разработке программного обеспечения.)

В интервью радио CBC Александр рассказал следующую историю (перефразируя здесь): «Я работал с одним из моих учеников. с очень трудным временем что-то строить. Он просто не знал как действовать вообще. Поэтому я сидел с ним, и я сказал это:» Слушай, начните с выяснения, что самое главное. Получи прямо сначала. Получите это прямо в своем уме. Не торопитесь. не быть слишком поспешным. Подумайте об этом некоторое время. Когда вы чувствуете, что имеете нашел это, когда в вашем сознании нет сомнений, что это действительно самое главное, тогда идите вперед и сделайте это самое важное вещь. Когда вы сделаете это самое важное, спросите себя, если вы можете сделать его более красивым. Сократите дерьмо, просто получите его прямо в вашей голове, если вы можете сделать это лучше или нет. Когда это будет сделано, и вы чувствуете, что не можете сделать это лучше, затем найдите следующий важная вещь. «

Каковы первые штрихи в приложении, которые создают общий форме? Это структура каталогов. Структура каталогов — это самое первое, что встретил программист при просмотре источника код. Все вытекает из него. Все зависит от этого. это явно один из самых важных аспектов вашего исходного кода.

Рассмотрим различные реакции программиста при встрече различные структуры каталогов. Для стиля» по отдельности «мысли программиста приложения могут быть такими:

» Я вижу. В нем перечислены все функции верхнего уровня приложения за один раз. Ницца. — Давай посмотрим. Интересно, где находится этот пункт. О, вот он является. И все остальное, что мне понадобится, тоже здесь, все в то же место. Отлично «. Однако для поэтапного стиля, мысли программиста приложения могут быть примерно такими:» Эти каталоги ничего не говорят мне. Сколько функций в этом приложении? Ударь меня. Он выглядит точно так же, как и все остальные. Нет разницы вообще. Отлично. Здесь мы снова идем. — Хм. Интересно, где этот элемент. Я думаю, что его части на всем протяжении приложения, распространяются в все эти каталоги. У меня действительно есть все предметы, которые мне нужны? Я полагаю мы узнаем позже «.» Интересно, все ли соглашение об именовании после чего. Если нет, мне придется искать это в этом другом директории. «Ух ты, посмотри бы размер этого сингла каталог. sheesh.» Пакет по слоям в других доменах неэффективен

Поместить решение и проект в одном каталоге зачем

Как я могу создать новый проект и решение в том же существующем каталоге? Независимо от того, что я делаю, он продолжает создавать новый (подкаталог) для проекта и заполнять этот каталог вместо уже существующих. У меня снят флажок «Создать каталог для решения», поэтому он помещает решение как dproject в ту же папку, а не создает папку решения, но по-прежнему создает подпапку проекта.

Как я могу это исправить.

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

(Примечание: это VS2005, Team Edition для разработчиков программного обеспечения)

6 ответов

В Visual Studio, если у вас нет открытого решения, вы можете выбрать

Файл-> Создать-> Проект из существующего кода

Выберите тип проекта

Поместите каталог, в котором должны находиться решение и файл проекта, как поле «Расположение файла проекта».

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

Если параметр «Проект из существующего кода» недоступен

Создайте собственное сочетание клавиш, кнопку на панели инструментов или пункт меню с помощью функций настройки VS.

Нажмите кнопку «Клавиатура», чтобы добавить сочетание клавиш, или выберите вкладку «Команда», чтобы добавить кнопку на панели инструментов или пункт меню. Команда, которую вы ищете:

Файл-> Новый проект из существующего кода

Назначьте любое сочетание клавиш или перетащите значок в любое меню / панель инструментов, которое вы хотите.

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

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

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

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

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

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

  1. Откройте существующий проект. Если у вас его еще нет, создайте временный.
  2. Выберите «Файл»> «новый»> «Проект».
  3. Убедитесь, что выбрано «Создать новое решение».
  4. Выберите нужный вам тип проекта.
  5. Нажмите ОК, чтобы создать проект.

Если вы создали временный проект на первом шаге, вы можете удалить его сейчас

-> теперь вы создали проект, в котором файл решения находится внутри проекта.

Для чего в Visual Studio папка решения и содержимые в ней файлы и как получить доступ к этим данным из проектов?

Я создал в одном решении Visual Studio несколько проектов. Можно добавить папку решения и файлы в нее,насколько я понял,относящиеся ко всем проектам сразу. Но толи из за проблемы с namespace толи из за того,что я не знаю доступа- я не могу из файлов проекта получить значения из “общего для всех класса”.
Вообщем я хочу создать один общий статический класс в этой папке для всех проектов сразу и в нем хранить параметры и иметь к ним доступ со всех проектов данного решения.
Как такое сделать?

Классический вариант — выделите общие части ваших проектов в отдельный проект и поместите его в решение. А в целевых проектах добавьте на ссылку на этот общий проект и его публичные классы будут доступны обычным образом, по полному имени (с указанием пространства имен) или короткому, если пространство имен указано в первых директивах using.

Создать проект / решение в существующем каталоге?

Как я могу создать новый проект и решение в том же существующем каталоге? Независимо от того, что я делаю, он продолжает создавать новый (вложенный)каталог для проекта и заполнять этот каталог вместо того, который уже существует. У меня есть флажок» создать каталог для решения», чтобы он поместил решение dproject в ту же папку и не создавал папку решения, но он все равно продолжает делать подпапку проекта.

Как я могу исправить это.

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

(Примечание: это VS2005, Team Edition для разработчиков программного обеспечения)

5 ответов

из Visual Studio, Если у вас нет решения, можно выбрать

File->New — >Project Из Существующего Кода

выберите тип проекта

поместите каталог, в котором должны находиться решение и файл проекта, в поле «расположение файла проекта».

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

если «проект из существующего кода» не доступно

сделайте пользовательскую комбинацию клавиш, кнопку панели инструментов или пункт меню, используя функции настройки VS.

выберите кнопку «клавиатура», чтобы добавить сочетание клавиш, или вкладку» команда», чтобы добавить кнопку панели инструментов или пункт меню. Команда, которую вы ищете:

Файл — >Новый Проект Из Существующего Кода

назначьте любую комбинацию клавиш или перетащите значок в любое меню / Панель инструментов вы хотите.

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

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

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

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

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

Я бы предположил, что результирующие файлы проекта все же требует ручного труда, но вы должны быть в состоянии получить код, чтобы делать тяжелую работу за вас. И вы можете получить отличный инструмент для публикации в своем блоге.

  1. откройте существующий проект. Если у вас его еще нет, создайте временный.
  2. выберите «Файл» > «Создать» > «Проект»
  3. убедитесь, что выбрано» создать новое решение»
  4. выбрать тип проекта, который вы хотите.
  5. нажмите Ok, чтобы создать проект

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

— > теперь вы создали проект, в котором файл решения находится в пределах проект enter image description here

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *