看來,當我在Xamarin.iOS項目中引用AutoMapper V3.1.0,構建失敗,此錯誤消息:如何在我的Xamarin.iOS項目中使用AutoMapper?
Error MT2002: Failed to resolve "System.Linq.Expressions.Expression System.Linq.Expressions.ExpressionVisitor::Visit(System.Linq.Expressions.Expression)" reference from "System.Core, Version=2.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e" (MT2002)
當我回滾到之前,我加入本次的改版,這一切工作正常。
不幸的是,我已經在單元測試中使用AutoMapper完成了相當多的工作,現在刪除它會有問題。我想這是一個值得學習的教訓:僅僅因爲它在測試中工作並不意味着它在Xamarin.iOS中起作用。
如果有人有任何想法,我將非常感激。
編輯:我現在已經發現了AutoMapper包MonoTouch的目錄,但引用中發現的AutoMapper.dll
和AutoMapper.iOS.dll
s不解決問題。
編輯#2:此問題只出現在爲設備構建時 - 我猜想MSIL到原生轉換器出於某種原因不喜歡AutoMapper。我試圖找到一種方法來向編譯器「暗示」我們需要這些符號,這就是我認爲LinkerPleaseInclude.cs
文件的用途。
Jimmy Bogard似乎正在研究MonoTouch支持:http://lostechies.com/jimmybogard/2013/09/04/automapper-3-0-portable-class-libraries-and-platformnotsupportedexception/ –
版本AutoMapper我通過nuget引用了一個名爲'portable-windows8 + net40 + wp8 + sl5 + MonoAndroid + MonoTouch'的軟件包的目錄,所以它看起來像是用於MonoTouch。 –