在我的VS 2010解决方案中,我有四个Web项目。Xml Transformation for linked web.config
第一个项目是开发项目。其他三个仅用于发布第一个项目页面的不同子集。几乎其他三个项目中的所有文件都是第一个项目文件的链接。
所有项目共享相同的web.config(从第一个项目链接)。
我想实现的是根据正在发布的项目对web.config进行不同的xml转换。 “添加配置变换”选项只有在文件实际存在的第一个项目中才能正常工作。看来你不能为链接的web.config添加配置转换。转换被添加,但他们似乎没有引用链接的web.config,他们似乎并没有得到执行。
我试图手动篡改* .csproj文件,以便我可以使这些转换引用链接的文件,但我无法使其工作。
有没有办法让xml config变换链接的web.config?
替代方法
我只是用以下解决方法:
我创建了正常的web.config文件中的每个项目(没有链接到第一个项目的web.config)。我在每个项目的web.config中添加了我想要的转换。然后,在每个项目中,我添加了一个Before Build事件,它将复制第一个项目的web.config并覆盖当前项目的web.config。这样,新的覆盖配置文件将执行转换,并发布正确的配置。
虽然我的问题仍然有效。
web.config的哪些部分不同?我把我的结构在appsettings中保存在一个单独的配置文件中,并使用configSource属性进行链接。也许你可以做这样的事情,并在每个项目中有不同的部分,但在第一个项目 – 2014-09-22 18:03:58
@matt_lethargic中的主web.config我还没有看过configSource属性。我会看看它,谢谢! – 2014-09-23 13:44:19