Возможно ли изменить выходной путь проекта Visual Studio через переменную
Возможно ли изменить путь к папке, куда будет компилироваться проект в Visual Studio? В свойствах проекта я знаю как это сделать, но мне нужно изменить путь через код на C++. И я знаю что это можно очень легко сделать с помощью CMake, но я к сожалению использую IDE и урезать ее функционал до обычного текстового редактора используя CMake как-то не очень хочется. А также дополнительный вопрос: возможно ли запустить сборку проекта из runtime’а другого проекта. Через CMake я предполагаю что это можно сделать вызвав в C++ коде .bat файл или другой работающий с консолью файл. А вот как быть с сборщиком Visual Studio? Или там тоже можно через консоль скомпилировать проект?
Отслеживать
задан 16 авг в 17:52
51 8 8 бронзовых знаков
Студийные проекты компилируются из консоли вызовом devenv.exe солюшн /Build (или что-то в этом духе).
16 авг в 18:01
О опять ты, привет). Спасибо. А на основной вопрос не знаешь ответа? Вроде я в MSDN видел что такое возможно сделать, но там Visual Basic использовался, а c++ я не нашел
16 авг в 18:03
«нужно изменить путь через код на C++» — ¿но зачем? И тут не понятно, о чем идет речь, о настройке пути для сборки этого файла С++, или о просто вызове сборки других проектов при выполнении кода С++. А вообще да, все можно собрать через консоль, причем как с nmake / msbuild, так и с прямым вызовом компилятора и прочих инструментов.
16 авг в 18:06
Про это не знаю. Может просто скопировать результаты билжения в нужное место? Еще, мне кажется, msbuild и формат студийных проектов — вселенское зло (хотя CMake тоже, но в меньшей степени), и я бы от студийных проектов избавился. «урезать ее функционал до обычного текстового редактора» А что урезается? Подсказки по коду работают, дебаггер тоже. Флаги нельзя из гуи менять? По мне это мелочи.
Как поменять папку проекта в vs?
Файл проекта .csproj в формате xml. Легко правиться как нужно.
Ответ написан более трёх лет назад
Комментировать
Нравится 1 Комментировать
Ваш ответ на вопрос
Войдите, чтобы написать ответ

- C#
Почему программа выводит нули?
- 1 подписчик
- 21 минуту назад
- 14 просмотров

- C#
- +2 ещё
Возможно ли получить tcp-сокет в C#-приложении? Или как узнать IP?
- 1 подписчик
- вчера
- 79 просмотров
Change path to project Microsoft Visual Studio
I am working on a website on visual studio, I am a little new to visual studio and I am trying to move my whole directory for my website to my google drive so I can work on it on multiple computers. How would I go about changing the source files located in the project file for visual studios. Or is there an easier way?
- visual-studio-2010
- visual-studio
- visual-studio-2012
asked Jan 21, 2015 at 5:38
Joshua Hester Joshua Hester
127 1 1 silver badge 8 8 bronze badges
Tried copying everything including the solution folder?
Jan 21, 2015 at 5:41
An alternative you may consider is simply adding your solution’s source files to a cloud version control system — e.g. GitHub or BitBucket. But in general, VS projects will store relative paths, so as long as you keep the folder structure across the solution, and the solution sln file at the root, it should load from any root folder.
Jan 21, 2015 at 5:41
Yah I have everything copied into google drive, the problem is the visual studio project file won’t recognize the new path. How do I go about changing the path for the sln file?
Jan 21, 2015 at 5:44
1 Answer 1
Easiest way is to Remove the project in Visual Studio and then Add Existing Project and point to your new location.


You could alternatively use a text editor to edit the .sln file. The top of the file defines Project elements:
Project("") = "SignalR.Backplane", "SignalR.Backplane\SignalR.Backplane.csproj", "" EndProject
The second property is the path (relative or absolute) to the csproj file representing the project.
Ссылка на сведения о миграции и обновлении проекта для Visual Studio
Область применения:
Visual Studio Visual Studio для Mac
Visual Studio Code ![]()
Каждая новая версия Visual Studio поддерживает большую часть типов проектов, файлов и других ресурсов. С ними можно работать как обычно, при условии, что вы не зависите от новых функций.
Если вы ищете сведения о следующем выпуске, см. версию этой страницы для Visual Studio 2022.
Мы стараемся сохранить обратную совместимость с предыдущими версиями, такими как Visual Studio 2017, Visual Studio 2015, Visual Studio 2013 и Visual Studio 2012. Однако поддержка некоторых типов проектов также со временем меняется. Новейшая версия Visual Studio может не поддерживать некоторые проекты или же потребовать обновить проект так, что он больше не будет обратно совместимым.
Текущее состояние проблем с миграцией см. в сообществе разработчиков Visual Studio. Просмотрите заметки о выпуске, чтобы узнать, какие функции к какой версии Visual Studio относятся.
Некоторые типы проектов требуют конкретных рабочих нагрузок. При отсутствии установленной рабочей нагрузки Visual Studio сообщает о неизвестном или несовместимом типе проекта. В этом случае проверьте параметры установки в Visual Studio Installer и повторите попытку. Дополнительные сведения о поддержке проектов в Visual Studio 2019 см. в статье Целевая платформа и совместимость для Visual Studio 2019.
Типы проекта
В следующем списке описывается поддержка проектов Visual Studio 2019, созданных в более ранних версиях.
Если здесь отсутствует проект или тип файла, который должен быть, проверьте версию Visual Studio 2017 в этом разделе. Чтобы привести детали проекта воспользуйтесь кнопкой Отправить отзыв о>эта страница в нижней части страницы. (Если вы используете анонимный элемент управления «Была ли эта страница полезной?», мы не сможем ответить на ваши отзывы.)
Visual Studio 2017: формат xproj не поддерживается, кроме переноса в формат csproj. При открытии XPROJ-файла вам будет предложено перенести файл в формат CSPROJ в стиле SDK. (Создается резервная копия xproj-файла.) Проекты csproj в стиле ПАКЕТА SDK не поддерживаются в Visual Studio 2015 и более ранних версиях.
- Visual Studio 2010 с пакетом обновления 1 (SP1) поддерживает MVC 2 и MVC 3. Поддержка MVC 4 добавляется с помощью скачивания ASP.NET 4 MVC 4 для Visual Studio 2010 с пакетом обновления 1 (SP1).
- Visual Studio 2012 поддерживает только MVC 3 и MVC 4.
- Visual Studio 2013 поддерживает только MVC 4 и MVC 5
- Visual Studio 2019, Visual Studio 2017 и Visual Studio 2015 поддерживают MVC 4 (можно открывать существующие проекты, но не создавать новые) и MVC 5
- Сведения об автоматическом обновлении MVC 2 до MVC 3 см. в разделе Средство обновления приложения MVC 3 ASP.NET.
- Сведения об обновлении MVC 2 до MVC 3 вручную см. в разделе Обновление проекта ASP.NET MVC 2 до обновления инструментов ASP.NET MVC 3.
- Сведения об обновлении MVC3 до MVC 4 вручную см. в разделе Обновление проекта ASP.NET MVC 3 до ASP.NET MVC 4. Если проект ориентирован на платформу .NET Framework 3.5 с пакетом обновления 1 (SP1), необходимо переориентировать его на .NET Framework 4.
- Сведения об обновлении MVC 4 до MVC 5 вручную см. в статье Обновление проекта ASP.NET MVC 4 и веб-API до ASP.NET MVC 5 и веб-API 2.
- Теперь проекты моделирования называются в меню и шаблонах проектами проверки зависимостей.
- UML-схемы больше не поддерживаются в Visual Studio 2017 и Visual Studio 2019. UML-файлы указываются в обозревателе решений, как и ранее, но открываются как XML-файлы. Для просмотра, создания или изменения UML-схем следует использовать Visual Studio 2015.
- В Visual Studio 2019 проверка архитектурных зависимостей больше не выполняется при сборке проекта моделирования. Вместо этого проверка осуществляется при сборке каждого проекта кода. Это изменение не влияет на проект моделирования, но требует изменений в проверяемых проектах кода. Visual Studio 2019 автоматически вносит необходимые изменения в проекты кода.
Из установщика Visual Studio 2019 были исключены версии пакетов SDK Windows 10, предшествующие обновлению Windows 10 Fall Creators Update (сборка 16299). Вы можете вручную скачать старые версии таких пакетов SDK или использовать их более новые версии.
Универсальные проекты Windows с помощью project.json не поддерживаются. Рекомендуется обновить эти проекты так, чтобы в них использовались ссылки на пакеты. Кроме того, вы можете добавить ссылку на файл Microsoft.NET.Test.Sdk версии 16.0.0.0 в файл project.json.
Перенос проекта
Хотя мы пытаемся сохранить совместимость с предыдущими версиями, существуют изменения, из-за которых некоторые типы проектов могут больше не поддерживаться. (См. раздел Назначение платформы и совместимость , для которых типы проектов поддерживаются в Visual Studio 2019.) В этом случае более новая версия Visual Studio не загружает проект или предлагает путь миграции. С этим проектом необходимо будет работать в предыдущей версии Visual Studio.
Иногда проект может открываться в более новой версии Visual Studio, но он должен быть обновлен или перенесен, из-за чего может стать несовместимым с предыдущими версиями. Visual Studio использует следующие критерии, чтобы определить, требуется ли такая миграция:
- совместимость с целевыми версиями платформ вплоть до Visual Studio 2013 RTM;
- совместимость ресурсов времени разработки с предыдущими версиями Visual Studio (в частности, с различными каналами Visual Studio 2019, Visual Studio 2017; Visual Studio 2015 RTM и с обновлением 3, Visual Studio 2013 RTM и с обновлением 5, Visual Studio 2012 с обновлением 4, Visual Studio 2010 с пакетом обновления 1 (SP1)); в случае использования нерекомендуемых ресурсов времени разработки в Visual Studio 2019 предпринимается попытка выполнить корректный отказ, не повреждая их, чтобы проект по-прежнему мог открываться в предыдущих версиях;
- произойдет ли нарушение совместимости с предыдущими версиями вплоть до Visual Studio 2013 RTM и с обновлением 5 из-за новых ресурсов времени разработки.
Группа разработчиков проекта оценивает эти критерии и создает запрос, если есть необходимость в поддержке, обеспечении совместимости и миграции. Мы пытаемся обеспечивать совместимость между версиями Visual Studio, чтобы проекты, создаваемые в одной версии Visual Studio, могли работать и в других версиях.
Иногда такая совместимость невозможна. Тогда в Visual Studio открывается мастер обновления для внесения необходимых односторонних изменений. Одним из этих односторонних изменений может быть изменение свойства ToolsVersion в файле проекта. Оно указывает, какая именно версия MSBuild может преобразовывать исходный код проекта в требуемые выполняемые и развертываемые артефакты.
То, что отрисовывает проект, несовместимый с предыдущими версиями Visual Studio, не является версией Visual Studio , но версией MSBuild , как определено ToolsVersion . Если ваша версия Visual Studio включает в себя цепочку инструментов MSBuild, соответствующую значению свойства ToolsVersion в проекте, то она может вызывать эту цепочку инструментов для сборки проекта.
С целью обеспечения совместимости с проектами, созданными в предыдущих версиях, Visual Studio 2019 включает в себя необходимые цепочки инструментов MSBuild для поддержки значений ToolsVersion 15, 14, 12 и 4. Сборка проектов, в которых используется любое из этих значений ToolsVersion , должна выполняться успешно. (При этом необходимо учитывать, поддерживает ли Visual Studio 2019 данный тип проекта, как описано в статье Целевая платформа и совместимость для Visual Studio 2019.)
Вы можете вручную обновить или перенести проект на более новую версию ToolsVersion . Такое изменение не является обязательным и, скорее всего, приведет ко множеству ошибок и предупреждений, которые потребуется исправить, чтобы сборка проекта снова стала возможной. Кроме того, если в Visual Studio перестанет поддерживаться определенная версия ToolsVersion , при открытии проекта будет запущен процесс его миграции, так как значение ToolsVersion должно быть изменено.
Следующие шаги
Дополнительные сведения см. в следующих статьях:
- Руководство по ToolsVersion
- Руководство по нацеливанию на платформы
См. также
- Ссылка на сведения о миграции и обновлении проекта Visual Studio 2017
- Жизненный цикл и обслуживание продуктов Visual Studio
Каждая новая версия Visual Studio поддерживает большую часть типов проектов, файлов и других ресурсов. С ними можно работать как обычно, при условии, что вы не зависите от новых функций.
Мы стараемся сохранить обратную совместимость с предыдущими версиями, такими как Visual Studio 2019, Visual Studio 2017, Visual Studio 2015, Visual Studio 2013 и Visual Studio 2012. Однако поддержка некоторых типов проектов также со временем меняется. Новейшая версия Visual Studio может не поддерживать некоторые проекты или же потребовать обновить проект так, что он больше не будет обратно совместимым.
Текущее состояние проблем с миграцией см. в сообществе разработчиков Visual Studio. Просмотрите заметки о выпуске, чтобы узнать, какие функции к какой версии Visual Studio относятся.
Некоторые типы проектов требуют конкретных рабочих нагрузок. При отсутствии установленной рабочей нагрузки Visual Studio сообщает о неизвестном или несовместимом типе проекта. В этом случае проверьте параметры установки в Visual Studio Installer и повторите попытку. Дополнительные сведения о поддержке проектов в Visual Studio 2022 см. в статье Целевая платформа и совместимость.
Типы проекта
В следующем списке описывается поддержка проектов Visual Studio 2022, созданных в более ранних версиях.
Если здесь отсутствует проект или тип файла, который должен быть, проверьте версию Visual Studio 2019 в этом разделе. Чтобы привести детали проекта воспользуйтесь кнопкой Отправить отзыв о>эта страница в нижней части страницы. (Если вы используете анонимный элемент управления «Была ли эта страница полезной?», мы не сможем ответить на ваши отзывы.)
Visual Studio 2017: формат xproj не поддерживается, кроме переноса в формат csproj. При открытии XPROJ-файла вам будет предложено перенести файл в формат CSPROJ в стиле SDK. (Создается резервная копия xproj-файла.) Проекты csproj в стиле ПАКЕТА SDK не поддерживаются в Visual Studio 2015 и более ранних версиях.
- Visual Studio 2010 с пакетом обновления 1 (SP1) поддерживает MVC 2 и MVC 3. Поддержка MVC 4 добавляется с помощью скачивания ASP.NET 4 MVC 4 для Visual Studio 2010 с пакетом обновления 1 (SP1).
- Visual Studio 2012 поддерживает только MVC 3 и MVC 4.
- Visual Studio 2013 поддерживает только MVC 4 и MVC 5
- Visual Studio 2019, Visual Studio 2017 и Visual Studio 2015 поддерживают MVC 4 (можно открывать существующие проекты, но не создавать новые) и MVC 5
- Сведения об автоматическом обновлении MVC 2 до MVC 3 см. в разделе Средство обновления приложения MVC 3 ASP.NET.
- Сведения об обновлении MVC 2 до MVC 3 вручную см. в разделе Обновление проекта ASP.NET MVC 2 до обновления инструментов ASP.NET MVC 3.
- Сведения об обновлении MVC3 до MVC 4 вручную см. в разделе Обновление проекта ASP.NET MVC 3 до ASP.NET MVC 4. Если проект ориентирован на платформу .NET Framework 3.5 с пакетом обновления 1 (SP1), необходимо переориентировать его на .NET Framework 4.
- Сведения об обновлении MVC 4 до MVC 5 вручную см. в статье Обновление проекта ASP.NET MVC 4 и веб-API до ASP.NET MVC 5 и веб-API 2.
- Теперь проекты моделирования называются в меню и шаблонах проектами проверки зависимостей.
- UML-схемы больше не поддерживаются в Visual Studio 2017 и Visual Studio 2019. UML-файлы указываются в обозревателе решений, как и ранее, но открываются как XML-файлы. Для просмотра, создания или изменения UML-схем следует использовать Visual Studio 2015.
- В Visual Studio 2019 проверка архитектурных зависимостей больше не выполняется при сборке проекта моделирования. Вместо этого проверка осуществляется при сборке каждого проекта кода. Это изменение не влияет на проект моделирования, но требует изменений в проверяемых проектах кода. Visual Studio 2019 автоматически вносит необходимые изменения в проекты кода.
Из установщика Visual Studio 2019 были исключены версии пакетов SDK Windows 10, предшествующие обновлению Windows 10 Fall Creators Update (сборка 16299). Вы можете вручную скачать старые версии таких пакетов SDK или использовать их более новые версии.
Универсальные проекты Windows с помощью project.json не поддерживаются. Рекомендуется обновить эти проекты так, чтобы в них использовались ссылки на пакеты. Кроме того, вы можете добавить ссылку на файл Microsoft.NET.Test.Sdk версии 16.0.0.0 в файл project.json.
Перенос проекта
Хотя мы пытаемся сохранить совместимость с предыдущими версиями, существуют изменения, из-за которых некоторые типы проектов могут больше не поддерживаться. В таких случаях в более новой версии Visual Studio не будет загружаться проект или предлагаться путь миграции. С этим проектом необходимо будет работать в предыдущей версии Visual Studio. Дополнительные сведения о типах проектов, поддерживаемых в Visual Studio 2022, см. на странице «Назначение платформы и совместимость «.
Иногда более новая версия Visual Studio может открывать проект, но она должна обновлять или переносить проект таким образом, что может отрисовка несовместима с предыдущими версиями. Visual Studio использует следующие критерии, чтобы определить, требуется ли такая миграция:
- совместимость с целевыми версиями платформ вплоть до Visual Studio 2013 RTM;
- совместимость ресурсов времени разработки с предыдущими версиями Visual Studio (в частности, с различными каналами Visual Studio 2022, Visual Studio 2019; Visual Studio 2017, Visual Studio 2015 RTM и с обновлением 3, Visual Studio 2013 RTM и с обновлением 5, Visual Studio 2012 и с обновлением 4 и Visual Studio 2010 с пакетом обновления 1 (SP1)); в случае использования нерекомендуемых ресурсов времени разработки в Visual Studio 2022 предпринимается попытка выполнить корректный отказ, не повреждая их, чтобы проект по-прежнему мог открываться в предыдущих версиях;
- произойдет ли нарушение совместимости с предыдущими версиями вплоть до Visual Studio 2013 RTM и с обновлением 5 из-за новых ресурсов времени разработки.
Группа разработчиков проекта оценивает эти критерии и создает запрос, если есть необходимость в поддержке, обеспечении совместимости и миграции. Мы пытаемся обеспечивать совместимость между версиями Visual Studio, чтобы проекты, создаваемые в одной версии Visual Studio, могли работать и в других версиях.
Иногда такая совместимость невозможна. Тогда в Visual Studio открывается мастер обновления для внесения необходимых односторонних изменений. Одним из этих односторонних изменений может быть изменение свойства ToolsVersion в файле проекта. Оно указывает, какая именно версия MSBuild может преобразовывать исходный код проекта в требуемые выполняемые и развертываемые артефакты.
То, что отрисовывает проект, несовместимый с предыдущими версиями Visual Studio, не является версией Visual Studio , но версией MSBuild , как определено ToolsVersion . Если ваша версия Visual Studio включает в себя цепочку инструментов MSBuild, соответствующую значению свойства ToolsVersion в проекте, то она может вызывать эту цепочку инструментов для сборки проекта.
Для обеспечения совместимости с проектами, созданными в предыдущих версиях, Visual Studio 2022 включает необходимые цепочки инструментов MSBuild для поддержки ToolsVersion 15, 14, 12 и 4. Сборка проектов, в которых используется любое из этих значений ToolsVersion , должна выполняться успешно. (Тема, опять же, о том, поддерживает ли Visual Studio 2022 тип проекта, как описано ниже. Целевая платформа и совместимость.)
Вы можете вручную обновить или перенести проект на более новую версию ToolsVersion . Такое изменение не является обязательным и, скорее всего, приведет ко множеству ошибок и предупреждений, которые потребуется исправить, чтобы сборка проекта снова стала возможной. Кроме того, если в Visual Studio перестанет поддерживаться определенная версия ToolsVersion , при открытии проекта будет запущен процесс его миграции, так как значение ToolsVersion должно быть изменено.
Следующие шаги
Дополнительные сведения см. в следующих статьях:
- Руководство по ToolsVersion
- Руководство по нацеливанию на платформы
См. также
- Ссылка на сведения о миграции и обновлении проекта Visual Studio 2019
- Поддержка старых версий Visual Studio
