使用configSource转换包含的配置文件
这个问题有点像两个人。 在VS2015中,我的MVC项目有多种不同的构建配置,Test,UAT,Live等。使用我的web.config
我只需右键单击它并选择Add Config Transform即可为每个构建配置创建转换文件。
如果我有一个外部配置文件,例如Log4Net.config
,我如何配置它以具有web.config
等依赖转换? 这是通过编辑project.csproj
文件手动完成的吗?
其次,我有一个web.config
文件:
...
当我构建项目时, web.config
自动通过project.csproj
文件中的以下AfterBuild目标进行转换:
如何使用相同的配置转换转换包含的Log4Net.config
文件? 我意识到我可以将另一个TransformXml
放入AfterBuild目标中,但这是进行此转换的正确方法,还是我错过了什么?
我选择使用基本Log4Net.config
文件,每个构建配置的Log4Net.XXX.config
文件以及AfterBuild
目标中的其他TransformXml
任务的AfterBuild
:
- Log4Net.config
- Log4Net.Debug.config
- Log4Net.Release.config
- Log4Net.Test.config
- Log4Net.UAT.config
project.csproj
文件现在看起来像这样:
Always Log4Net.config Log4Net.config Log4Net.config Log4Net.config ....
一个示例Log4Net.Test.config
看起来像这样(我使用转换来更改连接字符串和Log4Net的日志记录级别):
这会成功转换输出路径中的Log4Net.config
文件。 它使用与转换web.config
文件相同的方法,因此任何其他开发人员都可以轻松理解它。
虽然这有效并且已经生产了一段时间,但我仍然在寻找一些确认,这是对包含的配置文件进行转换的正确方法。