Ошибка конфигурации Log4Net, вызывающая сбой MSBuild

Я пытаюсь настроить среду CI на новом клиентском сайте, используя Team City и MSbuild, а также расширения сообщества MS build. Компиляция кода работает нормально. Однако, когда я запускаю свои модульные тесты, я получаю следующую ошибку из задачи NUnit:

log4net : error XmlConfigurator: Failed to find configuration section 'log4net' in the   application's .config file.

Я определил два тестовых проекта, вызывающих эту проблему. Тем не менее, я запускал тесты непосредственно из nunit-console и с помощью средства запуска тестов nunit resharper, и хотя я вижу предупреждение, тесты не терпят неудачу. Я не хочу ничего делать с файлом конфигурации Log4net или сборкой.cs в любом проекте. Все, что я хочу сделать, это заставить сценарий MSBuild вести себя как Visual Studio, который не считает ошибку log4net ошибкой.

Вот файл сборки

    <?xml version="1.0" encoding="utf-8"?>
    <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0"      DefaultTargets="Compile">
    <Import Project=".\MSBuild.Community.Tasks.Targets"/>

    <PropertyGroup>
        <Configuration Condition="'$(Configuration)' == ''"> Debug</Configuration>    
    </PropertyGroup>

  <ItemGroup>
    <BuildArtifacts Include=".\build_artifacts\"/>
    <SolutionFile Include ="..\Core.Services.sln"/>
    <NUnitPath Include="..\Packages\NUnit.2.5.10.11092\tools"/>          
  </ItemGroup>

  <Target Name="Clean">
    <RemoveDir Directories="@(BuildArtifacts)"/>
  </Target>

    <Target Name="Init" DependsOnTargets="Clean">
    <MakeDir Directories="@(BuildArtifacts)"/>
  </Target>

    <Target Name="Compile"  DependsOnTargets="Init">    
    <MSBuild            
    Projects="@(SolutionFile)"            
    Targets="Rebuild"
    Properties="OutDir=%(BuildArtifacts.FullPath)">      
    </MSBuild>    
    </Target>

    <Target Name="DevelopmentBuild" DependsOnTargets="Compile">
         <Message Text="Running Unit Tests from %(BuildArtifacts.FullPath)...."      ContinueOnError="true"></Message>

    <CreateItem Include="%(BuildArtifacts.FullPath)*.Tests.dll">
    <Output TaskParameter="Include" ItemName="TestAssembly" />
    </CreateItem>
    <NUnit Assemblies="@(TestAssembly)"
        ToolPath="@(NUnitPath)\"
        ContinueOnError="false"           
        OutputXmlFile="%(BuildArtifacts.FullPath)test-results.xml"
        DisableShadowCopy="true"/>    
      </Target>  
    </Project>

person dalcantara    schedule 01.02.2012    source источник
comment
Это выглядит так? stackoverflow.com/questions/1930083/   -  person KMoraz    schedule 01.02.2012
comment
Проверял эти вопросы раньше, но я думаю, что проблемы немного отличаются. Вы можете проверить мое редактирование и посмотреть, имеет ли смысл вопрос?   -  person dalcantara    schedule 01.02.2012
comment
Я бы проверил тестовый проект NUnit. Запускается ли сборка из места, где она может найти файлы app.config или log4net?   -  person KMoraz    schedule 01.02.2012
comment
В проекте NUnit нет app.config. Добавление одного решает проблему, но я стараюсь, чтобы UT не зависел от файла App.config. Я скорее изменяю скрипт сборки, чтобы игнорировать ошибку Log4Net, как это делают nunit-console и resharper.   -  person dalcantara    schedule 02.02.2012
comment
Затем вам нужно поделиться той частью скрипта сборки, которую вы хотите изменить.   -  person KMoraz    schedule 02.02.2012
comment
проверьте мое редактирование сейчас. Спасибо   -  person dalcantara    schedule 02.02.2012
comment
давайте продолжим это обсуждение в чате   -  person dalcantara    schedule 02.02.2012