在我的 VS 2010 解决方案中,我有四个 Web 项目。
第一个项目是开发项目。其他三个仅用于发布第一个项目页面的不同子集。其他三个项目中的几乎所有文件都是指向第一个项目的文件的链接。
所有项目共享相同的 web.config(从第一个项目链接)。
我想要实现的是根据正在发布的项目对 web.config 进行不同的 xml 转换。“添加配置转换”选项仅适用于文件实际所在的第一个项目。您似乎无法为链接的 web.config 添加配置转换。添加了转换,但它们似乎没有引用链接的 web.config 并且它们似乎没有被执行。
我试图手动弄乱 *.csproj 文件,以便我可以使这些转换引用链接的文件,但我无法使其工作。
有没有办法为链接的 web.config 进行 xml 配置转换?
解决方法
我刚刚使用了以下解决方法:
我为每个项目创建了普通的 web.config 文件(没有指向第一个项目的 web.config 的链接)。我在每个项目的 web.config 中添加了我想要的转换。然后,在每个项目中,我添加了一个 Before Build 事件,它将第一个项目的 web.config 复制并覆盖到当前项目的 web.config。这样,转换将在新覆盖的配置文件上执行,并发布正确的配置。
我的问题仍然有效。