Попытка настроить параметры конфигурации c файлов ресурсов .resw в моем проекте, чтобы у меня могли быть разные значения строки ресурса в Debug и в Release (и в других конфигурациях).
В VS есть стандартные средства для условного включения или исключения файлов из сборки в зависимости от выбранной Конфигурации. Для файла, который должен быть включен в конфигурацию, заданы свойства файла: «Содержимое = Да» и «Исключено из сборки» = «Нет», а для другого файла - наоборот.
Варианты отображаются так, как ожидается в IDE - активна только одна соответствующая текущая конфигурация, а другая отображается с Content = False в представлении Properties и с красным значком в списке файлов. Vcxproj также содержит правильные узлы PRIResource для файлов .resw с установленными DeploymentContent и ExcludedFromBuild:
<ItemGroup>
<PRIResource Include="Debug\Strings.resw">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</ExcludedFromBuild>
<DeploymentContent Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</DeploymentContent>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">false</ExcludedFromBuild>
<DeploymentContent...
Однако сборка этого проекта завершается с ошибкой
Ошибка PRI277: 0xdef00532 - Конфликтующие значения для ресурса 'resw name / имя ресурса'
Изучение промежуточных файлов показывает, что оба варианта .resw перечислены в resources.resfiles, которые затем передаются в MakePri.exe. Параметр ExcludedFromBuild, похоже, игнорируется.
Как мне заставить это работать? Есть ли особый способ контролировать включение файлов resw? Может быть, другой подход к наличию строковых вариантов вообще?