当前位置:  开发笔记 > 编程语言 > 正文

如何在Visual Studio中为自定义配置文件添加配置转换?

如何解决《如何在VisualStudio中为自定义配置文件添加配置转换?》经验,为你挑选了2个好方法。

我正在处理的项目涉及从配置文件中读取许多服务端点(url).由于列表非常大,我决定将它们保存在自定义配置文件中,以保持web.config干净小巧.我将自定义部分包含在我的网站中,如下所示:


我工作得很好.

但是在将项目部署到不同环境期间出现了转换问题.我有三个web.config文件:

Web.config文件

Web.Uat.config

Web.Release.config

转换web.config工作时,自定义配置文件的转换在部署时失败.

有没有办法在部署期间转换自定义配置文件?



1> Michael..:

默认情况下,Visual Studio仅转换web.config文件.

如果您需要为DEV,UAT,PROD等环境进行转换的自定义配置文件,请尝试

    使用Visual Studio的自定义扩展,如SlowCheetah -用于配置转换预览功能的XML转换.

    从Nuget SlowCheetah添加项目以提供构建转换.

一点点细节:

从扩展和更新中添加VS Extension SlowCheetah 扩展和更新的屏幕

右键单击myconfig.config并选择add transorm: 扩展和更新的屏幕

在每个定义的配置内插入您自己的转换规则:


  
    
  

希望它有所帮助


它解决了问题,但我必须将其添加为nuget程序包。VS扩展能够显示“预览转换”,但在发布时尚未转换。

2> spyder1329..:

我将稍微介绍一下Andoni Ripoll Jarauta的答案。

我们面临着类似的问题。我想将连接字符串从web.config文件中拉出以限制合并冲突。我还想在发布时创建一个包含静态信息的“发布”配置。

...足够简单 创建一个自定义配置文件webdb.config,并更新web.config文件。

例如 web.config


wedbdb.config(转换需要xml version =“ 1.0”)




接下来添加webdb.config的转换文件

WebDB.Debug.config示例:




    
    

WebDB.Release.config示例:




    
    

接下来,我们需要添加一个构建后事件。这是通过简单地编辑CSPROJ文件创建的。



    

现在,当我在本地运行时,我将获得WebDB.Debug.config,并且在发布代码时,只需确保选择“ Release”作为配置源。在这两种情况下,构建时都会使用相应的文件更新WebDB.config文件。

注意:确保将“复制到输出目录”选项中的webdb.config,webdb.debug.config和webdb.release.config设置为“请勿复制”。

希望这可以帮助!

推荐阅读
臭小子
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有