0
我正尝试在Visual Studio 2010中创建特定于环境的配置,并且无法获得其他任何内容都不会发生的转换App.config。这里是我的方案的一个例子:在VS-2010中创建特定于环境的配置文件
- 加在我的项目配置文件(例如CONFIGS \ Log4Net.config)。该文件被设置为 “内容” 和 “一直拷贝”
<log4net> <root> <appender-ref ref="EventLogAppender" /> <level value="DEBUG" /> </root> <appender name="EventLogAppender" type="log4net.Appender.EventLogAppender"> ... </appender> </log4net>
- 添加了一个转换配置文件(如CONFIGS \ Log4Net.Release.config)
<log4net xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform"> <root> <level value="WARN" xdt:Transform="SetAttributes" xdt:Locator="XPath(log4net/root/level[@value!='WARN'])" /> </root> </log4net>
- 修改了VS项目文件包括以下目标
<UsingTask TaskName="TransformXml" AssemblyFile="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\Web\Microsoft.Web.Publishing.Tasks.dll" /> <Target Name="AfterPublish" Condition="exists('Configs\Log4Net.$(Configuration).config')"> <TransformXml Source="Configs\Log4Net.config" Destination="$(OutputPath)\Configs\Log4Net.config" Transform="Configs\Log4Net.$(Configuration).config" /> </Target>
我是按照在app.config类似的模式和工作正常,但是这一次没有出现工作。我的期望是,当我执行版本构建时,日志级别应设置为WARN。