我开发了适用于Windows 8.1 / Windows Phone 8.1的通用应用程序。
此应用程序必须默认提供给主要客户,但其他客户必须能够通过提供自己的名称,自己的资产(图标,启动画面,...)和自己的UI颜色来自定义它。我寻找一个允许我这样做的解决方案。
因此我想创建多个文件“ appxmanifest ”:
=>但我不知道如何指定在编译时使用的不同“appxmanifest”:是否可能?
此外,UI颜色在xaml文件中定义,该文件使用“ MergedDictionaries ”与“ App.xaml ”文件合并。
=>有没有办法做到这一点?
答案 0 :(得分:1)
您可以结合build configuration和pre-build事件来执行此操作。
@setlocal enableextensions enabledelayedexpansion
@echo off
set buildconfig=%1
set projectdir=%~2
if %buildconfig% == "Customer1" goto CopyCustomerFiles
if %buildconfig% == "Customer2" goto CopyCustomerFiles
goto End
:CopyCustomerFiles
xcopy "%projectdir%\customers\%buildconfig%" "%projectdir%" /I/Y/R/S
goto End
:End
endlocal
"$(ProjectDir)prebuild.bat" "$(ConfigurationName)" "$(ProjectDir)"
批处理文件会将客户特定文件夹的全部内容复制到项目中,其中包括appxmanifest和xaml文件。 这假设所有客户特定文件都位于Windows Phone项目的customers / [customer of customer]文件夹中。