C# 使用xunit2时出现自动映射异常
我完全不知道为什么会出现映射异常。我已经创建了一个singleton来加载我的所有配置文件。我通过从程序集获取类型,然后使用Activator.CreateInstance实例化配置文件来加载配置文件。有时一些测试用例通过,有时同样的测试用例失败。从我所能推断的情况来看,这是一种种族状况,它导致了这个根本不应该发生的问题,我是否错过了其他的东西?我也遇到了类型初始化异常C# 使用xunit2时出现自动映射异常,c#,.net,automapper,xunit2,C#,.net,Automapper,Xunit2,我完全不知道为什么会出现映射异常。我已经创建了一个singleton来加载我的所有配置文件。我通过从程序集获取类型,然后使用Activator.CreateInstance实例化配置文件来加载配置文件。有时一些测试用例通过,有时同样的测试用例失败。从我所能推断的情况来看,这是一种种族状况,它导致了这个根本不应该发生的问题,我是否错过了其他的东西?我也遇到了类型初始化异常 public static class AutoMapperRestConfiguration { priva
public static class AutoMapperRestConfiguration
{
private static readonly object Sync = new object();
private static bool isInitialized = false;
public static void Configure()
{
lock (Sync)
{
if (!isInitialized)
{
Trace.Listeners.Add(new ConsoleTraceListener());
Trace.WriteLine("Automapper initialized");
Mapper.Initialize(cfg =>
{
Mapper.Initialize(x => GetConfiguration(Mapper.Configuration));
});
Mapper.AssertConfigurationIsValid();
isInitialized = true;
}
}
}
private static void GetConfiguration(IConfiguration configuration)
{
var assemblies = new List<Assembly>();
assemblies.Add(typeof(SomeProfile).Assembly);
// assemblies.Add(typeof(SomeProfile2).Assembly);
assemblies.Add(typeof(SomeProfile3).Assembly);
foreach (var assembly in assemblies)
{
var profiles = assembly.GetTypes().Where(x => typeof(Profile).IsAssignableFrom(x));
foreach (var profile in profiles)
{
configuration.AddProfile((Profile)Activator.CreateInstance(profile));
}
}
}
}
公共静态类AutoMapperRestConfiguration
{
私有静态只读对象同步=新对象();
私有静态布尔值初始化=false;
公共静态void Configure()
{
锁定(同步)
{
如果(!i初始化)
{
添加(新的ConsoleTraceListener());
Trace.WriteLine(“自动映射初始化”);
Mapper.Initialize(cfg=>
{
初始化(x=>GetConfiguration(Mapper.Configuration));
});
assertConfigurationsValid();
isInitialized=true;
}
}
}
专用静态配置(IConfiguration配置)
{
var assemblies=新列表();
添加(typeof(SomeProfile).Assembly);
//Add(typeof(SomeProfile2.Assembly);
添加(typeof(SomeProfile3.Assembly);
foreach(程序集中的变量程序集)
{
var profiles=assembly.GetTypes()。其中(x=>typeof(Profile).IsAssignableFrom(x));
foreach(配置文件中的var配置文件)
{
configuration.AddProfile((Profile)Activator.CreateInstance(Profile));
}
}
}
}
我必须说,我以前从未见过:)您可能想阅读。您以前读过,但仍然找不到问题您使用的是哪个版本的Automapper?我必须说,我以前从未见过:)您可能想阅读。您以前读过,但是仍然找不到问题你使用哪个版本的Automapper?我使用的是3.2.1