c# - 在开发期间管理多个应用程序配置文件

标签 c# .net visual-studio app-config

我正在构建一个供多个不同客户使用的应用程序。每个客户都有相当数量的自定义业务逻辑,我已经巧妙地将其重构为一个在运行时加载的程序集。该程序集的名称以及许多其他客户特定的设置存储在应用程序的配置文件中。

现在,为了调试客户 foo 的应用程序,我必须执行以下操作:

  1. 转到我的项目目录中的文件系统并删除 app.config
  2. app.config.foo 复制到 app.config.foo - Copy
  3. app.config.foo - Copy 重命名为 app.config
  4. 告诉 Windows 是的,我想更改文件的扩展名。
  5. 切换回 Visual Studio。
  6. 在我的项目中打开 Settings.settings 项。
  7. 当 VS 询问我是否要使用已在 app.config 中更改的新设置时,单击"is"13 或 14 次。
  8. 关闭 Settings.settings

好的!现在我准备调试了!

在我看来,打开 Settings.settings 的繁琐操作是或者应该是不必要的:我不需要 Settings.cs 中的默认值重新生成,因为我不使用它们。但这是我所知道的让 VS 知道 app.config 文件已更改这一事实的唯一方法,以便构建将其复制到输出目录。

必须有一种更简单的方法来做到这一点。这是什么?

最佳答案

您还可以让 Visual Studio 通过以下方式自动执行 Robert 的方法:

  1. 为每个客户定义构建配置
  2. 在后期构建事件中,只需将 app.config.xxx xcopy 到您的 bin 文件夹即可。其中 XXX 是 VS 中可访问的构建配置的名称。类似于:xcopy app.config.$(ConfigurationName) $(OutDir)/app.config

VS 将在单独的文件夹中为您的客户端生成一个独特的构建,以及正确的配置文件。 bin/Client1/ bin/Client2/

关于c# - 在开发期间管理多个应用程序配置文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/176061/

相关文章:

c# - Autofac:如何加载引用但未直接使用的程序集

c# - 在一次调用中获取特定实体

visual-studio - Visual Studio 扩展 : Access VS Options from arbitrary DLL

visual-studio - 如何从 Visual Studio 向 GitHub 正确注册我的用户名

c# - SNS - JSON 消息正文解析失败

c# - 将两个 PHP 函数转换为 C#

.net - 谓词序列化

c# - 为什么 'stackalloc' 关键字不适用于属性?

c# - 带有对象列表的 Entity Framework 类

visual-studio - 更改 Visual Studio.Net 2008 IDE 背景图像