如何使用设置部署uwp应用程序

时间:2016-02-09 10:27:13

标签: c# win-universal-app uwp

通常我使用位于app.config中的预定义配置发送我的应用程序。因此,我可以为客户A发布其他预定义设置,然后为客户B发布

如何在uwp中实现这一目标?

2 个答案:

答案 0 :(得分:1)

由于UWP应用程序旨在通过商店进行部署,因此不再需要app.config文件。如果您仍希望产生类似的行为,则必须使用编译器指令。

最简单的方法是创建一个与众所周知的app.config类似的文件:

<Config>
    <!-- key-value pairs go here -->
</Config>

为您拥有的每个客户创建配置文件......

  • Assets
    • CustomerA.config
    • CustomerB.config
    • CustomerC.config

...并通过编译器指令加载它:

public Config GetConfig()
{
    var configFileName = GetConfigName();
    // Load config...
}

private string GetConfigName()
{
#if CUSTA
    return "CustomerA.config";
#endif
#if CUSTB
    return "CustomerB.config";
#endif
#if CUSTC
    return "CustomerC.config";
#endif
    throw new NotSupportedException(
        "Assembly was compiled for a customer which config doesn't exist.");
}

注意:如果不同配置文件的数量可能增加到未知数量,您宁愿实施识别客户并提供配置的Web服务。

编辑: 在您的应用中使用单个配置文件也是可能的(这将阻止编译器指令),因此在不同版本中通过XSLT修改XML配置。
原则保持不变,但是你的代码中有令人讨厌的部分进入XSLT。

答案 1 :(得分:1)

使用此设置类https://github.com/joseangelmt/ObservableSettings。 有了它,您不需要创建一个xml文件,您可以通过属性的属性修饰来设置预定义值,也可以观察它。