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

标签 c# win-universal-app uwp

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

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

最佳答案

由于 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.");
}

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

编辑: 也可以在您的应用中使用单个配置文件(这会阻止编译器指令),因此在不同的构建中通过 XSLT 修改 XML配置。
原理保持不变,但您将代码中烦人的部分移到了 XSLT 中。

关于c# - 如何使用设置部署 uwp 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35289583/

相关文章:

c# - Entity Framework 适合大量实体吗?

c# - 尝试从 UWP 访问 OneDrive 根目录时出错

c# - UWP 网格过渡

c# - 无法创建新 View ,因为尚未创建主窗口

c# - C# 不同数据库的MySQL数据同步

c# - SQL SMO - 检查用户是否是服务器管理员

c# - 异常 服务器违反了协议(protocol)。部分=响应状态行

c# - 将所有系统颜色绑定(bind)到列表框

c# - UWP 中应用程序范围内可访问的浮出控件

javascript - 在 Razor View 中覆盖变量