鉴于一组需要在不同生产服务器上表现略有不同的代码,您可以在asp.net中使用不同的符号创建发布配置,以便编译器可以按所需方式在每个发布配置下编译代码。但是,每个生产部署的web.config文件可能需要相同或几乎相同。即便如此,web.config在部署到dev / QA / staging服务器时也会有所不同,这就是为什么我们具有基于发布配置文件(通常用于区分dev / QA / prod部署)的组合进行转换的原因。发布配置。
当我需要多个生产发布配置文件时,如何为所有生产发布配置文件使用相同的基本转换?在上面的示例中,我需要多个生产发布配置文件,因为即使web.config可能相同或非常相似,也需要为编译器部署不同的符号。如果不重复使用,最终会在每个不同的发行配置之间重复生产发布配置文件转换。
例如,假设我要设置一个网站,使其在网络内访问与从网络外部调用时的工作方式不同,并且我将使用两个单独的Web服务器来应对网站部署中的差异。在进行发布配置“调试和发布”之前,现在还有“内部调试”和“内部发布”。我有四个发布配置转换(Web.Debug.config,Web.Internal Debug.config等)。对于发布配置文件,我有ProductionExternal和ProductionInternal。到目前为止,一切似乎都还可以。但是,然后我还必须创建Web.ProductionExternal.config和Web.ProductionInternal.config,以建立到相同或可能几乎相同的数据库等的连接。相反,我宁愿能够在Web.ProductionInternal.config中使用Web.ProductionExternal.config中的所有内容以及XYZ修改,以便在我需要更新时,我只有一个地方可以更新。
当您跨开发/ QA部署或有更多类似的发布配置文件时,此问题会变得更加严重。
https://www.codeproject.com/Questions/553960/Chainedplus-2fplusNestedplusWeb-configplusTransfor似乎在描述我面临的相同问题,但从未得到答案。