Я использую файлы .json в качестве источника данных во время разработки. В проекте WP8. Действие сборки для этих файлов соответствует содержимому.
Когда я создаю производственный выпуск, я хотел бы исключить эти файлы из сгенерированного файла .xap по соображениям безопасности (так как это будет похоже на проект всех веб-сервисов).Как исключить файлы из .xap для конкретных конфигураций сборки
События до и после сборки бесполезны, поскольку файл .xap создается во время сборки. Поскольку xap технически является zip, я мог бы использовать событие post build с помощью специального инструмента, который извлекает, удаляет и повторно упаковывает его, но я бы хотел этого избежать.
Я мог бы также применить параметр Условия для каждого файла JSON в файле .csproj:
<Content Condition="'$(Configuration)' == 'Debug'" Include="DesignData\authentication\testservice.json">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
Но есть +100 файлов, это слишком похоже на неоптимальное решение без создания другого пользовательского инструмента выполнить работу и сохранить файл csproj обновлен.
я, наконец, обнаружил, что я могу выполнить цель прямо перед упаковкой XAP, но упаковка не может, когда я удалить каталог следующим образом:
<PropertyGroup>
<FilesToXapDependsOn>$(FilesToXapDependsOn);AfterFilesToXapDependsOn</FilesToXapDependsOn>
</PropertyGroup>
<Target Name="AfterFilesToXapDependsOn">
<RemoveDir Directories="$(TargetDir)/DesignData" />
</Target>
Как процесс сборки (или, как вы знаете), какие файлы вы хотите исключить? – Andrew
Я просто пытаюсь исключить все json-файлы из пакета в файл xap для релизов. Поэтому я хочу исключить либо всю папку, либо все файлы с расширением json. – Yves