.net ClickOnce应用程序的不同app.config
我们在两个不同的地方部署了ClickOnce部署的应用程序。 两者都需要在app.config中进行一些不同的设置(除devel环境外) 现在生成这些安装的过程是由某人从VisualStudio手动更改这些设置并重新生成。这当然是一种痛苦 有人建议我们在解决方案中创建一个附加项目,该项目几乎只包含app.settings,而只在另一个项目中运行主窗体 人们是如何处理的.net ClickOnce应用程序的不同app.config,.net,configuration,clickonce,.net,Configuration,Clickonce,我们在两个不同的地方部署了ClickOnce部署的应用程序。 两者都需要在app.config中进行一些不同的设置(除devel环境外) 现在生成这些安装的过程是由某人从VisualStudio手动更改这些设置并重新生成。这当然是一种痛苦 有人建议我们在解决方案中创建一个附加项目,该项目几乎只包含app.settings,而只在另一个项目中运行主窗体 人们是如何处理的 (我正在寻找具体的解决方案/示例,“使用自动生成系统”可能是目标,但不是很具体。我会将这些设置移出app.config。在Cli
(我正在寻找具体的解决方案/示例,“使用自动生成系统”可能是目标,但不是很具体。我会将这些设置移出app.config。在ClickOnce更新期间,我们在维护配置设置值方面遇到了很多问题,我不再信任它。我会将这些设置移动到一个轻量级数据库中,如SqlLite或SqlCe,并将其与应用程序一起分发。然后,维护设置只是在数据库中填充不同的值。我认为有两种解决方案:
- 正如你所说的,创建一个多项目的模型。该项目基本上表示正确的app.config、正确的deploment配置等。否则,它只是将代码流委托给“真实”项目
- 另一种可能是创建多个app.config文件。比如app-develope.config=>developer Version,app-productive.config=>productive Version,app other thing.config。。。现在,您将向MSBuild文件(.csproj)添加一个附加任务,该任务将正确的app-*.config复制到app.config文件。我们在我们的日志配置中做了类似的事情,它工作得很好
让我知道您对解决方案的看法…好或坏:-)然后如何配置数据库中的值如何根据环境设置?例如,您的数据库如何知道(或被告知)它位于开发环境中而不是测试/生产环境中?一些相关信息。