0

我们正在开发一个业务线 Windows 应用商店应用程序 (8.1),我们正在通过旁加载过程部署该应用程序 - 但我们需要包含一个“系统范围”设置(在这种情况下,数据库服务器的地址作为URI)

我们不希望最终用户通过应用程序进行设置(因为这需要在用户特定的本地或漫游设置中) - 理想情况下,我们希望在应用程序部署到机器时进行设置,因为产品的不同安装将需要不同的数据库字符串。

在 Windows-Forms 世界中,我们会在应用程序的程序文件夹中使用 app.config,但据我从 MSDN 中可以看出,在 Windows 应用商店的沙箱中没有类似的东西,因为应用程序安装在\Users\[username] 文件夹结构下的结构

我们虽然有一些东西有点笨拙......

  • 硬编码地址并为每个客户部署进行新构建
  • 硬编码地址并使用 DNS 重新映射来指向真实的服务器名称(如果我们需要更改端口号则无法应对)
  • 允许最终用户通过设置魅力访问设置并按用户存储

有没有其他人解决了这个问题,并想出了一种在部署期间进行设置的方法,或者通过另一种机制将设置放入每个用户沙箱安装的 Windows 8 应用程序中。

4

1 回答 1

0

试图自己弄清楚这样的场景。我想我不会使用分支方法,而是使用 msbuild 进行客户构建。您运行 msbuild/p:customer=customer1并在您的项目文件中有一个

<ItemGroup Include='%(customer).config'> <Link>app.config</Link> </ItemGroup> 然后在您的应用程序中包含一个 app.config 文件,其中包含每个客户配置的内容。如果您有一个新客户,您只需添加另一个newcustomer.config文件并使用它构建应用程序,msbuild projecfile /p:customer=newcustomer或者使用一个聪明的批处理 msbuild 来查找所有 *.config 文件并为它们构建项目。

于 2015-03-11T09:42:46.920 回答