情况:我有一个 Windows 桌面应用程序,它连接到各种服务(一次一个)以执行各种调用。无论连接到哪个服务,我的应用程序都以相同的方式工作。它应该随时连接到哪个服务在 application.config 文件中定义。
为了在服务之间切换,我创建了几个 Windows .bat 文件,每个文件都将现有的 .config 文件替换为要使用的新文件(服务端点)。
对于所有这些,我创建了一个安装程序(一个 MSI,使用 Visual Studio 2010 中的“安装项目”模板)。此安装程序还创建以下快捷方式:
- 应用程序本身
- 第一个 .bat 文件(将配置文件设置为“默认”服务端点)
- 第二个 .bat 文件。(将配置文件替换为替代文件)
问题:每次我通过快捷方式运行这些(应用程序或 bat 文件)中的任何一个时,它们似乎都会在实际运行目标之前“重新评估”已安装的文件。只要我使用默认的 .config 文件,这没有问题,因为它就是这样安装的。但是,如果我已经运行了第二个 .bat 文件,并且正在尝试运行应用程序以便它连接到第二个服务,那么通过快捷方式启动应用程序会导致 .config 文件被还原,并且我最终连接到而是第一个服务。
我可以手动为 .bat 文件和应用程序本身创建自己的快捷方式,而且它们工作正常。但是,我希望这会自动发生,而不会弄乱对其他文件的任何更改。
任何想法将不胜感激!在此先感谢,
-Kjartan