Visual studio 2013 自动映射测试在TeamCity构建中的隐式加宽转换失败,但在本地测试失败

Visual studio 2013 自动映射测试在TeamCity构建中的隐式加宽转换失败,但在本地测试失败,visual-studio-2013,teamcity,automapper,Visual Studio 2013,Teamcity,Automapper,我有以下自动映射配置: Mapper.CreateMap<Source, Dest>() .ForMember(dest => dest.InitiatorUserAccountUID, opt => opt.UseValue(0)); Mapper.CreateMap() .FormMember(dest=>dest.InitiatorUserAccountUID,opt=>opt.UseValue(0));

我有以下自动映射配置:

Mapper.CreateMap<Source, Dest>()                
            .ForMember(dest => dest.InitiatorUserAccountUID, opt => opt.UseValue(0));
Mapper.CreateMap()
.FormMember(dest=>dest.InitiatorUserAccountUID,opt=>opt.UseValue(0));
InitiatorUserAccountUID
的类型为
long
Mapper.assertconfigurationsvalid()
单元测试在本地通过,但在TeamCity上失败,出现以下错误:

AutoMapper.AutoMapperConfigurationException:上的以下属性 无法映射System.Int64: InitiatorUserAccountUID

当我在配置中显式地将0转换为long时,测试在两个位置都通过。这是什么原因造成的

团队城市构建信息:

  • 跑步者类型:Visual Studio(sln)
  • Visual Studio:Microsoft Visual Studio 2013工作室
  • 测试步骤的流道类型:MSTest
  • MSTest.exe的路径:MSTest 2013

解决方案是向测试类添加
[DeploymentItem(“AutoMapper.Net4.dll”)]
。现在一切正常。

这是automapper令人恼火的问题。另一种方法是在测试项目的某处引用
AutoMapper.Net4.dll
中的类,例如
var type=typeof(NullableConverterFactory)//表示将引用AutoMapper.Net4.dll并将其复制到输出测试文件夹。
有关详细信息,请参阅