2016-05-04 5 views
0

В локальной конфигурации отладки я хочу войти в txt-файл. Это работает. Вход в Azure Blob Storage тоже прекрасен. Но я хочу настроить вторую для работы только в конфигурации «Azure debug».Преобразование Web.config с log4net

Я создал простой tranformation в web.debug.azure.config.

-> Web.config

<log4net debug="true"> 
<root> 
    <level value="Info" /> 
    <appender-ref ref="Appender"/> 
</root> 
<appender name="Appender" type="log4net.Appender.RollingFileAppender" > 
// Configuration stuff 
</appender> 

И это установлено для "отладки" построить конфигурацию. В то время как построить для «Azure отладки» Я хочу, чтобы заменить «» с ним: -> Web.Debug.Azure.config

<appender xdt:Transform="Replace" xdt:Locator="Match(name)" name="Appender" type="log4net.Appender.AzureAppendBlobAppender, log4net.Appender.Azure"> 
// Configuration stuff 
</appender> 

И когда я это делаю. Первый по-прежнему работает, а второй нет. Зачем? Как это сделать?

+0

Что означает _ «Первая, еще работающая, а вторая нет» _ означает точно? Понимаете ли вы, что веб-сайт работает из вашего исходного каталога в web.config, представленном там, а не в преобразованном? – CodeCaster

+0

Я знаю, поэтому я хочу преобразовать раздел log4net. – Nerf

+0

Да, эта часть ясно из вашего вопроса. Неясно, что это или не работает. Вы знаете, что [преобразование конфигурации применяется только при развертывании, а не при отладке) (http://stackoverflow.com/questions/3305096/how-can-i-use-web-debug-config-in-the-built -в-зрительно-студия-отладчик-сервер)? – CodeCaster

ответ

0

Выгрузите # Project C и изменить файл csproj для добавления AfterBuild задачи, так что ваш Web.Debug.Config превращается в Web.Azure.Debug.Config

Изменение визуального студийной версии, если это необходимо в поле ниже импорта путь проекта - Microsoft \ VisualStudio * v14.0 \ WebApplications \ Microsoft.WebApplication.targets *

Примечание: Возможно, вам потребуется использовать Slow Cheetah или аналогичный, если вы хотите сделать это на сервере CI, если не имеет экземпляра Visual Studio, поскольку проект поставляется с Visual Studio.

<PropertyGroup> 

     <TransformInputFile>Web.config</TransformInputFile> 
     <TransformFile>Web.Debug.config</TransformFile> 
     <TransformOutputFile>Web.Debug.Azure.config</TransformOutputFile>  
     </PropertyGroup> 

<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v14.0\WebApplications\Microsoft.WebApplication.targets" /> 

<Target Name="AfterBuild"> 
     <Message Text="=== Transform to Azure Debug ===" /> 
     <TransformXml Source="$(TransformInputFile)" Transform="$(TransformFile)" Destination="$(TransformOutputFile)" /> 
     </Target> 
Смежные вопросы