加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net – 使用Web部署参数时,使用web.config中的默认值

发布时间:2020-12-16 07:40:57 所属栏目:asp.Net 来源:网络整理
导读:我试图通过尝试限制使用多个环境的开销来改善我们公司的开发和部署体验.我们目前有3个环境:Debug,Test,Release.这意味着我有多个配置文件:web.Debug.config,web.Test.config,web.Release.config. 我们正在使用NuGet包来部署内部开发的库.库本身负责它使用
我试图通过尝试限制使用多个环境的开销来改善我们公司的开发和部署体验.我们目前有3个环境:Debug,Test,Release.这意味着我有多个配置文件:web.Debug.config,web.Test.config,web.Release.config.

我们正在使用NuGet包来部署内部开发的库.库本身负责它使用的配置值.这可以通过NuGet transformation files轻松完成.因此,在向项目添加包时,正确的环境转换文件将应用于正确的.config文件.使用SlowCheetah和对csproj文件的一些手动修改,这非常有效.在开发期间切换构建配置时,使用正确的.config文件;在创建部署包时,它还使用正确的.config文件.

当我想使用parameters.xml文件允许发布管理器在部署时更改配置值时,会出现问题. (How to: Use Web Deploy Parameters in a Web Deployment Package)他有时想要建立一个单独的环境来测试某些东西,同时不会干扰现有的测试环境.

理论上,使用参数文件是完美的解决方案.实际上,当没有传递任何值时,参数文件似乎无法使用相应配置文件中的配置值.这意味着,当我们提供参数文件时,我们必须为每个可能的替换值定义实际默认值.当然,这使事情变得复杂,因为它们只是所有配置的一个参数文件.始终在部署时指定每个配置值也不是首选,因为这意味着,当配置值发生更改时,我们必须在两个位置更改它:NuGet包和部署到默认环境的部署脚本.

解决问题的最简单方法是什么?如果没有填写任何值,我们如何告诉Web部署向导使用创建部署包时生成的.config文件中的默认值?

解决方法

我一直在努力解决这个问题,我能想到的最好的解决方案是通过.pubxml文件为每个部署添加参数,这意味着重复工作不幸(当然有人有更好的方法吗?)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读