我正在寻找一种简单而优雅的方法来根据不同的环境在 web.config 中更改我的 appsettings
我有 (dev/qa/test/stage/prod) 并且我是手动的更改 appsettings
非常繁琐且耗时,我有大约几十个设置....对于这种情况最好的方法是什么?我知道一种使用 Environment variables
的解决方案,但想听听最佳实践?
最佳答案
我更喜欢使用 web.config 的外部化部分,如下所示:
<appSettings configSource="appsettings.config" />
那么 appsettings.config 看起来像这样:
<appSettings>
<add key ...>
</appSettings>
这允许我将应用程序设置保存在不会更改的单独文件中,同时仍然允许我编辑主 web.conifig 以获取实际配置部分。 您可以对其他部分执行相同的操作 - 连接字符串、system.net(用于电子邮件配置)等。
我其实不认为VS2010的方式很好,因为它需要重新构建只是为了改变配置。以我的方式,它完全可以在没有 VS 的情况下使用,所以我可以轻松地手动修改我的所有环境。
关于asp.net - 使用 asp.net 根据不同的服务器更新 web.config,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4350931/