我正在构建一个由几个不同客户使用的应用程序.每个客户都有相当数量的自定义业务逻辑,我已经巧妙地将其重构为一个在运行时加载的程序集.该程序集的名称以及许多其他客户特定的设置存储在应用程序的配置文件中.
现在,这是为了调试客户foo的应用程序我必须做的事情:
转到项目目录中的文件系统并删除 app.config
复制app.config.foo
到app.config.foo - Copy
.
重命名app.config.foo - Copy
为app.config
.
告诉Windows是的,我想更改文件的扩展名.
切换回Visual Studio.
打开Settings.settings
我项目中的项目.
如果我想使用已更改的新设置,请点击"是"13或14次,如果我想要使用已更改的新设置app.config
.
关闭Settings.settings
.
好的!现在我准备调试了!
在我看来,打开的rigamarole Settings.settings
是,或者应该是不必要的:我不需要Settings.cs
重新生成默认值,因为我不使用它们.但这是我知道的唯一方法,让VS知道app.config
文件已更改的事实,以便构建将其复制到输出目录.
必须有一种更简单的方法来做到这一点.它是什么?
您还可以让Visual Studio通过以下方式自动化Robert的方法:
为每个客户端定义构建配置
在post build事件中,只需将xcopy app.config.xxx添加到bin文件夹即可.其中XXX是VS中可访问的Build Config的名称.类似于:xcopy app.config.$(ConfigurationName)$(OutDir)/app.config
VS将在单独的文件夹中为您的客户端删除不同的版本,并使用正确的配置文件.bin/Client1/bin/Client2 /