2014-10-27 170 views
0

我目前正在爲FieldService應用程序開發一個Xamarin.Android項目。我研究了數據訪問層的標準Xamarin SQLite.NET組件,但它不符合我的需求。 (例如,我不能創建具有多個字段的PK)。Xamarin使用Dapper(或其他NuGet包)Android

我試圖使用Dapper框架,因爲我有更多的經驗,我覺得它非常棒。

無法讓它與Xamarin.Android一起使用。我在Visual Studio 2013中使用了Xamarin。任何人都知道如何做到這一點?

我試過3種方式:

  1. 添加小巧玲瓏的Xamarin.Android類庫。 - 沒有錯誤,但Dapper不在解決方案資源管理器中的References組下,我無法使用名稱空間Dapper

  2. 將Dapper添加到「常規」.net類庫。 - 一切正常,我能夠添加它,我可以使用Dapper命名空間和Query方法等,但是有一個錯誤引用Xamarin.Android主應用程序項目的項目。 (不同的目標框架)

  3. 將Dapper添加到面向.NET Framework 4.5和Xamarin.Android的可移植類庫。 - 添加NuGet包時出錯。

簡要問題:如何將Dapper(或其他NuGet包)添加到Xamarin.Android?
在此先感謝。

+0

您應該在發佈問題時提供詳細信息。 – thumbmunkeys 2014-10-27 09:44:48

回答

1

短小精悍的NuGet包中包含靶組件:

  1. .NET 3.5
  2. .NET 4.0
  3. .NET 4.5

所以,你將無法在NuGet包與Xamarin Android項目,因爲這個項目將針對MonoAndroid。

如果可能的話,需要針對MonoAndroid目標框架重新編譯Dapper。否則,你需要看看其他的選擇。

看着Dapper GitHub站點NuGet包中的所有可用類都來自一個SqlMapper.cs file,它似乎在Android項目中編譯。

+0

感謝您的回答!欣賞它。通過關於SqlMapper.cs的事情,你的意思是我可以下載.cs文件並手動將其包含在我的項目中?我想唯一的缺點是我不會得到自動更新通知。也許這是一個很好的做法。如果我認爲它符合我的需求,我會研究它並接受您的答案。再次感謝。 – avb 2014-10-27 12:23:47

+0

是下載文件並將其添加到您的項目。理想情況下,Dapper NuGet包的所有者可以針對MonoAndroid構建它,並將程序集包含在NuGet包中。 – 2014-10-27 12:36:58

+0

安裝NuGet包並手動引用下載的.dll也一樣,但是我最終使用了你的方法,並將'SqlMapper.cs'文件包含到我的項目中。謝謝! – avb 2014-10-27 14:19:55

相關問題