Po How can I build a targetting pack for Portable Class Libraries? i porady w http://jpobst.blogspot.com/2012/04/mono-for-android-portable-libraries-in.html udało mi się zbudować kilka przykładowych programów monodroid, które używają przenośnych bibliotek klasy.Czy można użyć przenośnej biblioteki klas, która odwołuje się do System.Net w MonoDroid?
Jeśli jednak któryś z moich wprowadzonych plików PCL odwołuje się do zestawu System.Net, wówczas monodroid nie może spakować pliku apk - ponieważ narzeka na plik Nie znaleziono dla System.Net.dll.
Jak rozumiem (od http://docs.xamarin.com/android/about/assemblies), MonoDroid łączy wszystkie funkcje System.Net wewnątrz System.dll.
Czy istnieje sposób, w jaki mogę uzyskać MonoDroid do korzystania z tych PCL, które odwołują się do System.Net?
- Czy istnieje sposób, aby uzyskać pakowarkę monodroidów, aby zrozumieć ten System.net-> Przekierowanie systemu?
- A może jest jakiś krok przed pakietem, który mógłbym uruchomić, który "poprawił" odniesienie dla monodroidu?
- Lub inne sugestie?
Aktualizacja z informacji technicznych:
Proces pakowania jest obecnie upadającego na poziomie:
"C:\Projects\Misc\MVVMCROSS\Sample - Tutorial\Tutorial\Tutorial.UI.Droid\Tutorial.UI.Droid.csproj" (SignAndroidPackage target) (1) ->
(_ResolveAssemblies target) ->
C:\Program Files (x86)\MSBuild\Novell\Novell.MonoDroid.Common.targets(441,2): 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 Mono for Android profile? [C:\Projects\Misc\MVVMCROSS\Sample - Tutorial\Tutorial\Tutorial.UI.Droid\Tutorial.UI.Droid.csproj]
C:\Program Files (x86)\MSBuild\Novell\Novell.MonoDroid.Common.targets(441,2): error : File name: 'System.Net.dll' [C:\Projects\Misc\MVVMCROSS\Sample - Tutorial\Tutorial\Tutorial.UI.Droid\Tutorial.UI.Droid.csproj]
C:\Program Files (x86)\MSBuild\Novell\Novell.MonoDroid.Common.targets(441,2): error : at Monodroid.Tuner.MonoDroidResolver.Resolve(AssemblyNameReference reference, ReaderParameters parameters) [C:\Projects\Misc\MVVMCROSS\Sample - Tutorial\Tutorial\Tutorial.UI.Droid\Tutorial.UI.Droid.csproj]
C:\Program Files (x86)\MSBuild\Novell\Novell.MonoDroid.Common.targets(441,2): error : at Xamarin.Android.Tasks.ResolveAssemblies.AddAssemblyReferences(List`1 assemblies, AssemblyDefinition assembly) [C:\Projects\Misc\MVVMCROSS\Sample - Tutorial\Tutorial\Tutorial.UI.Droid\Tutorial.UI.Droid.csproj]
C:\Program Files (x86)\MSBuild\Novell\Novell.MonoDroid.Common.targets(441,2): error : at Xamarin.Android.Tasks.ResolveAssemblies.AddAssemblyReferences(List`1 assemblies, AssemblyDefinition assembly) [C:\Projects\Misc\MVVMCROSS\Sample - Tutorial\Tutorial\Tutorial.UI.Droid\Tutorial.UI.Droid.csproj]
C:\Program Files (x86)\MSBuild\Novell\Novell.MonoDroid.Common.targets(441,2): error : at Xamarin.Android.Tasks.ResolveAssemblies.AddAssemblyReferences(List`1 assemblies, AssemblyDefinition assembly) [C:\Projects\Misc\MVVMCROSS\Sample - Tutorial\Tutorial\Tutorial.UI.Droid\Tutorial.UI.Droid.csproj]
C:\Program Files (x86)\MSBuild\Novell\Novell.MonoDroid.Common.targets(441,2): error : at Xamarin.Android.Tasks.ResolveAssemblies.Execute() [C:\Projects\Misc\MVVMCROSS\Sample - Tutorial\Tutorial\Tutorial.UI.Droid\Tutorial.UI.Droid.csproj]
Dzieje się tak w ramach zadania MSBuild:
<!-- Find all the assemblies this app requires -->
<ResolveAssemblies
Assemblies="$(ProjectDir)$(OutDir)$(TargetFileName);@(ReferencePath)"
I18nAssemblies="$(MandroidI18n)"
LinkMode="$(AndroidLinkMode)"
ReferenceAssembliesDirectory="$(TargetFrameworkDirectory)">
<Output TaskParameter="ResolvedAssemblies" ItemName="ResolvedAssemblies" />
<Output TaskParameter="ResolvedUserAssemblies" ItemName="ResolvedUserAssemblies" />
<Output TaskParameter="ResolvedFrameworkAssemblies" ItemName="ResolvedFrameworkAssemblies" />
<Output TaskParameter="ResolvedSymbols" ItemName="ResolvedSymbols" />
</ResolveAssemblies>
importowane z:
<UsingTask TaskName="Xamarin.Android.Tasks.ResolveAssemblies" AssemblyFile="Novell.MonoDroid.Build.Tasks.dll" />
Hackowałem przez godzinę (również próbowałem i zawiodłem w niektórych hakach budujących MSBuild Xamarin) i ... mam trochę sukcesów! Dzięki. Przekaże więcej za pośrednictwem Twittera – Stuart
Napisałem kilka notatek na http://slodge.blogspot.co.uk/2012/04/using-portable-library-tools-for.html - popchnę do githubu, kiedy otrzymam monotouch też działa ... (problemy z monodevelop w chwili obecnej!) – Stuart