Разница между версией инструментов в .vcxproj и .vcxproj.filters

У меня есть проект C ++ в VS 2017.
Версия инструментов в файле .vcxproj — 15.0, тогда как в .vcxproj.filters — 4.0.

Project.vcxproj: —

<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

Project.vcxproj.filters: —

<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

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

-1

Решение

ToolsetVersion Атрибут указывает версию набора инструментов MSBuild. Visual Studio 2010 и Visual Studio 2012 используют ToolsVersion версии 4.0. Visual Studio 2013 использует ToolsVersion версии 12.0. Visual Studio 2015 использует ToolsVersion версии 14.0. Visual Studio 2017 использует ToolsVersion версии 15.0.

MSBuild Toolset 15.0 находится по умолчанию здесь: C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\15.0

Атрибут ToolsVersion
Укажите набор инструментов в ToolsVersion
Атрибут элемента Project в файле проекта. Выше
пример указывает, что проект должен быть построен с использованием
Набор инструментов MSBuild 15.0.

Как работает атрибут ToolsVersion
Когда вы создаете проект в Visual Studio или обновляете существующий
проект, атрибут с именем ToolsVersion автоматически включается в
файл проекта и его значение соответствуют версии MSBuild
это входит в выпуск Visual Studio.

Когда значение ToolsVersion определено в файле проекта, MSBuild использует
это значение, чтобы определить значения свойств Toolset, которые
доступно для проекта. Одно свойство Toolset $(MSBuildToolsPath),
который указывает путь инструментов .NET Framework. Только это
Свойство набора инструментов (или $(MSBuildBinPath)), необходимо.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]