1

我想創建3個平臺(ios,android,wp7.5)的簡單DataAccess可移植類庫。 我只需要創建webrequests,轉換數據並將其返回到每個平臺的UI。簡單的DataAccess PCL庫的Monotouch/Android/WindowsPhone

我能夠在Mac OS X Xamarin Studio下創建類似這樣的庫(便攜式),並在iPhone應用程序中成功使用它。 但是後來我在Visual Studio下打開了這個解決方案(爲了添加Windows Phone UI項目),它給我帶來了描述的構建錯誤,它找不到System.Net命名空間。 當我檢查我很驚訝便攜類指標看甚至有XBOX選擇: enter image description here

當我選擇了正確的目標(MonoDroid的/ MonoTouch的/ WindowsPhone7.5)我是能夠編譯,但是當我啓動應用程序,我收到出現以下錯誤:

"c:\Downloads\Noname.CrossXam\Noname.CrossXam\Noname.CrossXam.iPhone\Noname.CrossXam.iPhone.csproj" (_RemoteBuild target) (1) -> (_ResolveAssemblies target) ->
C:\Program Files (x86)\MSBuild\Xamarin\iOS\Xamarin.MonoTouch.Common.targets(68,3): error : Exception while loading assemblies: System.IO.FileNotFoundException: Could not load assembly 'System.Net, Version=2.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e'. Perhaps it doesn't exist in the MonoTouch profile? ...

0 Warning(s) 
1 Error(s) 

相同的代碼(相同的解決方案)在Mac OS X和Xamarin Studio下工作得很好。 樣品溶液在這裏: https://dl.dropboxusercontent.com/u/19503836/Noname.CrossXam.zip

請指教。

回答

1

問題出在System.Net.dll程序集中,MonoTouch & MonoAndroid配置文件中不存在該程序集。但是這些類在System.dll下的這些配置文件中實現,並使其工作,您需要TypeForwardedToAttribute。

所有該類型轉發配置存在於MVVMCross NuGet包,我能只安裝更新的NuGet(從這篇文章最後評論:http://slodge.blogspot.com/2013/04/my-current-pcl-setup-in-visual-studio.html)後

所以出現了兩個問題:1。 老NuGet包manager(需要更新) 2. TypeForwardedToAttribute配置(存在於MvvmCross)

希望它對某人有用。

0

您是否嘗試將目標框架更改爲.Net 4.5?您應該在.csproj文件中看到Profile104

+0

謝謝你的回答。不幸的是它沒有幫助。 –