我正在构建一个供多个不同客户使用的应用程序。每个客户都有相当数量的自定义业务逻辑,我已经巧妙地将其重构为一个在运行时加载的程序集。该程序集的名称以及许多其他客户特定的设置存储在应用程序的配置文件中。
现在,为了调试客户 foo 的应用程序,我必须执行以下操作:
- 转到我的项目目录中的文件系统并删除
app.config
- 将
app.config.foo
复制到app.config.foo - Copy
。 - 将
app.config.foo - Copy
重命名为app.config
。 - 告诉 Windows 是的,我想更改文件的扩展名。
- 切换回 Visual Studio。
- 在我的项目中打开
Settings.settings
项。 - 当 VS 询问我是否要使用已在
app.config
中更改的新设置时,单击"is"13 或 14 次。 - 关闭
Settings.settings
。
好的!现在我准备调试了!
在我看来,打开 Settings.settings
的繁琐操作是或者应该是不必要的:我不需要 Settings.cs
中的默认值重新生成,因为我不使用它们。但这是我所知道的让 VS 知道 app.config
文件已更改这一事实的唯一方法,以便构建将其复制到输出目录。
必须有一种更简单的方法来做到这一点。这是什么?
最佳答案
您还可以让 Visual Studio 通过以下方式自动执行 Robert 的方法:
- 为每个客户定义构建配置
- 在后期构建事件中,只需将 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/