Windows Universal App“品牌重塑”:一个应用程序,但多个包

时间:2015-03-26 16:50:45

标签: windows-phone customization win-universal-app appxmanifest

我开发了适用于Windows 8.1 / Windows Phone 8.1的通用应用程序。

此应用程序必须默认提供给主要客户,但其他客户必须能够通过提供自己的名称,自己的资产(图标,启动画面,...)和自己的UI颜色来自定义它。我寻找一个允许我这样做的解决方案。

因此我想创建多个文件“ appxmanifest ”:

  • 默认为“ Package.appxmanifest
  • 每个客户一个“ Customer1.appxmanifest ”,“ Customer2.appxmanifest ”,...

=>但我不知道如何指定在编译时使用的不同“appxmanifest”:是否可能?

此外,UI颜色在xaml文件中定义,该文件使用“ MergedDictionaries ”与“ App.xaml ”文件合并。

=>有没有办法做到这一点?

1 个答案:

答案 0 :(得分:1)

您可以结合build configurationpre-build事件来执行此操作。

  1. 为每个客户创建一个名称为
  2. 的构建配置
  3. 在项目目录中创建一个prebuild.bat文件,该文件将正确客户的文件复制到项目目录中。
  4. @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  
    
    1. 像这样添加预构建事件:
      "$(ProjectDir)prebuild.bat" "$(ConfigurationName)" "$(ProjectDir)"
    2. 批处理文件会将客户特定文件夹的全部内容复制到项目中,其中包括appxmanifest和xaml文件。 这假设所有客户特定文件都位于Windows Phone项目的customers / [customer of customer]文件夹中。