2011-08-31 103 views
1

基础:AutoMapper和Windows Phone 7个

  • Visual Studio 2010中
  • WP7 SDK 7.1 RC
  • AutoMapper添加通过的NuGet
  • 项目要求更多!

问题:

我发现了下面的错误在运行时: 无法从组件加载类型 'AutoMapper.Mapper'“AutoMapper,版本= 1.1.0.188文化=中性公钥= BE96CD2C38EF1005 ”。

似乎有一个open issue about this @ CodePlex,但我想我会问是否有人找到任何解决方案?

像往常一样,我很乐意提供所需的任何额外的信息更多!

回答

1

AutoMapper使用Castle Dynamic Proxy,它需要Reflection.Emit,而手机不支持。

如果你想要这个,你会需要看看自己建立这一切。为了避免缺少reflection.Emit(如果你真的需要它),那么你应该看看使用Mono.Cecil来提供这个缺失的功能。

+0

谢谢你的解释! – juarola

0

似乎自动映射器正在工作silverlight edition所以很快WP7/WP8兼容。

同时还有一个简单的映射器库,您可以使用它。这是非常基本的,但可能符合WP7应用程序的大部分要求。

// Configure LazyMapper 
Mapper.Create<SampleClass, SampleClassDto>(); 

// Perform mapping 
var dto = Mapper.Map<SampleClass, SampleClassDto>(new SampleClass { 
    StringVal = "String1"}); 

Assert.AreEqual("String1",dto.StringVal); 

下载在http://lazycowprojects.tumblr.com/LazyMapper