Я потратил пару дней на это, но не испытывал радости.
У меня есть проект с отложенной загрузкой, включенный методом прокси.Приложение работает, как и ожидалось, когда я запускаю его.Однако, когда я запускаю наш комплект интеграционных тестов, я получаю случайные сбои в тестах со следующей ошибкой:
Message: System.Reflection.ReflectionTypeLoadException : Unable to load one or more of the requested types.
Could not load type 'Castle.Proxies.ChangeLogProxy' from assembly 'DynamicProxyGenAssembly2, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'.
Вот трассировка стека
Result StackTrace:
at System.Reflection.RuntimeModule.GetTypes(RuntimeModule module)
at System.Reflection.RuntimeAssembly.get_DefinedTypes()
at System.Linq.Enumerable.SelectManySingleSelectorIterator`2.ToArray()
at System.Linq.Enumerable.ToArray[TSource](IEnumerable`1 source)
at AutoMapper.ServiceCollectionExtensions.AddAutoMapperClasses(IServiceCollection services, Action`1 additionalInitAction, IEnumerable`1 assembliesToScan) in C:\projects\automapper-extensions-microsoft-dependencyinjectio\src\AutoMapper.Extensions.Microsoft.DependencyInjection\ServiceCollectionExtensions.cs:line 69
at Web.Startup.ConfigureServices(IServiceCollection services) in C:\...\src\Web\Startup.cs:line 39
--- End of stack trace from previous location where exception was thrown ---
at Microsoft.AspNetCore.Hosting.ConventionBasedStartup.ConfigureServices(IServiceCollection services)
at Microsoft.AspNetCore.Hosting.Internal.WebHost.EnsureApplicationServices()
at Microsoft.AspNetCore.Hosting.Internal.WebHost.Initialize()
at Microsoft.AspNetCore.Hosting.WebHostBuilder.Build()
at Microsoft.AspNetCore.TestHost.TestServer..ctor(IWebHostBuilder builder, IFeatureCollection featureCollection)
at Web.IntegrationTests.Common.TestFixture`1..ctor(String relativeTargetProjectPatentDir) in C:\...\test\Web.IntegrationTests\Common\TestFixture.cs:line 111
at Web.IntegrationTests.Common.TestFixture`1..ctor() in C:\...\test\Web.IntegrationTests\Common\TestFixture.cs:line 68
at Web.IntegrationTests.MvcTests.StockProfileTests.StockProfilesControllerTests..ctor() in C:\...\test\Web.IntegrationTests\MvcTests\StockTests\StockControllerTests.cs:line 25
Если я перезапущуНабор тестов Я получу сбои в различных ранее пройденных тестах, а ранее пройденные тесты пройдут.Также, если я перезапущу отдельные тесты, которые не пройдены, они также пройдут.
Одна вещь, которую я заметил, - каждая трассировка стека включает в себя вызов AddAutoMapperClasses
.Я немного погуглил об этой ошибке и AutoMapper, но ничего не нашел.
Мой вопрос прост: кто-нибудь видел эту ошибку или какие-либо идеи о том, что может быть ее причиной?