Как отключить «предупреждение MSB8051: Поддержка таргетинга Windows XP устарела» в VS2017? - PullRequest
0 голосов
/ 19 декабря 2018

Начиная с одного из последних обновлений Visual Studio 2017, я начал получать следующее предупреждение во время сборки моего проекта MFC:

1> C: \ Program Files (x86) \ Microsoft VisualStudio \ 2017 \ Community \ Common7 \ IDE \ VC \ VCTargets \ Platforms \ x64 \ PlatformToolsets \ v141_xp \ Toolset.targets (39,5): предупреждение MSB8051: Поддержка таргетинга на Windows XP устарела и не будет присутствовать в будущих выпускахVisual Studio.Пожалуйста, смотрите https://go.microsoft.com/fwlink/?linkid=2023588 для получения дополнительной информации.

Как отключить это предупреждение?

Вот конфигурация проекта:

enter image description here

Ответы [ 2 ]

0 голосов
/ 02 сентября 2019

Для тех, кто использует отдельные листы свойств (можно найти в View -> Other Windows -> Property Manager) для объединения свойств из нескольких проектов в один файл, где у меня есть AllCommon.props, я смог добавить заменить нуль<PropertyGroup /> с

 <PropertyGroup>
   <XPDeprecationWarning>false</XPDeprecationWarning>
 </PropertyGroup>

Таким образом, весь файл свойств теперь выглядит так:

<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <ImportGroup Label="PropertySheets" />
  <PropertyGroup Label="UserMacros" />
  <PropertyGroup>
    <XPDeprecationWarning>false</XPDeprecationWarning>
  </PropertyGroup>
  <ItemDefinitionGroup>
    <ClCompile>
      <WarningLevel>Level4</WarningLevel>
      <AdditionalIncludeDirectories>..\MyCommonLibrary</AdditionalIncludeDirectories>
      <CallingConvention>StdCall</CallingConvention>
      <TreatWarningAsError>true</TreatWarningAsError>
    </ClCompile>
  </ItemDefinitionGroup>
  <ItemGroup />
</Project>

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

0 голосов
/ 29 декабря 2018

Добавьте это в свой файл .vcxproj либо в существующую группу PropertyGroup, либо в свою собственную.

<PropertyGroup>
    <XPDeprecationWarning>false</XPDeprecationWarning>
</PropertyGroup>

или через командную строку

msbuild [project file] /p:XPDeprecationWarning=false

Другая возможность - перейти к вашемуОкно Property Manager и «Добавить новую страницу свойств ...» в ваш проект.Щелкните правой кнопкой мыши на новом листе и выберите «Общие свойства» -> «Макросы пользователя» -> «Добавить макрос» и используйте имя XPDeprecationWarning и значение false.К сожалению, вы не можете просто сделать это в своем проекте, поскольку Visual Studio не позволяет использовать графический интерфейс пользователя для редактирования UserMacros в корневом файле проекта (мне всегда было интересно, почему, поскольку узел находится в файле).

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

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