Я пытаюсь настроить среду CI на новом клиентском сайте, используя Team City, MSbuild и расширения сообщества сборки MS. Компиляция кода, кажется, работает нормально. Однако, когда я запускаю свои модульные тесты, я получаю следующую ошибку из задачи NUnit:
log4net : error XmlConfigurator: Failed to find configuration section 'log4net' in the application's .config file.
Я определил два тестовых проекта, которые вызывают эту проблему. Тем не менее, я запускал тесты непосредственно из nunit-console и из reharper nunit test runner, и хотя я вижу предупреждение, тесты не терпят неудачу. Я не хочу ничего делать с файлом конфигурации Log4net или assembly.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>