Я управляю сборкой проекта C# с помощью NuGet для получения Common.Logging.Log4Net. Все модульные тесты проходят без ошибок при запуске из Visual Studio 2010, но когда я запускаю из командной строки с помощью MSTest (и, следовательно, когда TeamCity делает то же самое), я получаю сбои, когда модульный тест выявляет класс, который делает это:
private static readonly ILog Log = LogManager.GetCurrentClassLogger();
и ошибка:
Метод тестирования MyProject.Tests.Unit.BusinessDateBuilderTest.CreateElementalTest выдал исключение: System.TypeInitializationException: Инициализатор типа для MyProject.Common.Library выдал исключение. ---> System.TypeInitializationException: Инициализатор типа для MyProject.Common.Initialization.Impl.InitializationLoaderImpl вызвал исключение. ---> Common.Logging.ConfigurationException: не удалось получить конфигурацию для Common.Logging из раздела конфигурации «common/logging». ---> System.Configuration.ConfigurationErrorsException: Произошла ошибка при создании обработчика раздела конфигурации для общего/ведения журнала: невозможно создать тип «Common.Logging.Log4Net.Log4NetLoggerFactoryAdapter, Common.Logging.Log4net» (C:\Subversion\Project\ MyProject.Tests.Unit\bin\Debug\TestResults\rac_DWM300619 2012-10-30 11_58_34\Out\MyProject.Tests.Unit.dll.config строка 168) ---> Common.Logging.ConfigurationException: невозможно создать тип «Общий .Logging.Log4Net.Log4NetLoggerFactoryAdapter, Common.Logging.Log4net' ---> System.IO.FileNotFoundException: не удалось загрузить файл или сборку Common.Logging.Log4net или одну из ее зависимостей. Система не может найти указанный файл.
Я использую следующие зависимости NuGet:
Common.Logging.2.1.1 (версия DLL 2.1.1.0) Common.Logging.Log4Net.2.0.1 (версия DLL 2.0.0.0) log4net.1.2.10 (версия DLL 1.2.10)
Я заметил, что Common.Logging.Log4net.dll не копируется в выходную папку testresults - в этом проблема? Если да, то как мне это решить?
Common.Logging.Log4net
скопирована в каталог, в котором выполняется тест. - person Steven   schedule 30.10.2012