Debugging MVVMCross PCL in MonoAndroid projects (VS2010) - visual-studio-2010

I'm developing some apps using the MvvmCross framework, and I'm having some problems with the debug of PCL's when running "Droid" projects in VS2010.
I've downloaded the sample apps from GitHub/MvvmCross and tried to debug the PCL's through Droid projects. When the app his deployed in the device (emulator or physical), no break points are hitted inside the PCL code. If I use a WP7 project, I'm able to debbug through the PCL code.
I've got VS2010 and VS2010 installed. I've followed all the instructions in http://slodge.blogspot.co.uk/2012/09/mvvmcross-vnext-portable-class.html and http://jpobst.blogspot.co.uk/2012/04/mono-for-android-portable-libraries-in.html.
I've searched for post related to this issue, and I've found nothing related to PCL debugging in VS2010.
I know thas this is a fairly vague post, but I'm just trying to find someone else that had this same problem, and hopefully beeing able to help me.

In my experience, the MonoDroid debugger often breaks - and the PCL support is obviously also 'nascent' at best.
Developers can help you with advice like 'make sure fast deployment and shared (debug) SDK is selected' but fundamentally you'll need to ask Xamarin for a fix.
My advice - log and pursue the problems with Xamarin through their forums, through bugzilla and through any customer support contract you have.
In the meantime without MonoDroid debugger, then it's back to WinRT and WP (and MonoTouch on Mac) for debugging your PCLs
- or it's back to 'old skool' techniques like adding trace

Related

Can I create an Android app using Xamarin only

I'm a Windows developer and have written all sorts of windows client applications using C++ and C#. I wanted to write an Android app and put it on the Google Store, but I'm only equipped with Visual Studio.
I wanted to ask if it is realistic to think that I can create an app, from scratch, including engine and UI using Xamarin only. I saw there are a few Xamarin samples out there, but I didn't want to start only to find out that it's not enough for some reason.
Currently I'm struggling a bit in getting my environment right, but thought I'd throw this question here to you guys ... Maybe it's not even worth starting?
Thanks.
Yes, Xamarin can be used to develop Android apps from scratch. Xamarin has two main libraries that help with this.
Xamarin.Android will give you access to all the Android APIs directly from c#. Note that you still need to know the basic Android concepts like what is an Activity and an Intent.
The other library is Xamarin.Forms. It is a cross-platform library that will give you a basic set of UI controls and widgets that you declare usong an xml syntax, and program with C#. This library has a few limitations, but you can also use the features of Xamarin.Android alongside it to get at the missing features.
Some advice: if possible, develop and debug directly on an Android tablet. Android emulators are not that good and hard to configure. Hope this helps.
There are 2 types of Xamarin you can use.
Xamarin Forms : Which is the unified version that use XAML for the UI. It is very recommended to use this if you are building a simple application.
Xamarin Native : The "native" version of platform that are written in C#, if you want to create Android-only apps, I really recommend this, since it's very similar with the native Android code, but it's wrapped using C# (You can still using nuget package).

How to download a built package from Visual Studio Xamarin to Android Device?

Yes, I did Google this. And googled it. And googled it. And read two books on it. No answers found, and this should be in section one of every tutorial out there:
I've got my nice Xamarin forms app built and compiled in Microsoft Visual Studio 2015 and now I want install it on my Android tablet and telephone. There's nothing out there telling me how to do this. Build a package? Pray for a miracle? What do I do? I've looked at all the compiled output of a Release build in Visual Studio and there's nothing in there that looks like it can be moved to an Android device.
For the record, my Android devices have been placed in USB debug mode, are connecting easily to my Windows development machine, and I can see the 'droids as if they're external drives, so getting a package of some sort over to them should be a piece of cake.
I MUST be missing something obvious. Please, enlighten me?

MvvmCross as "Native" Libraries

I have a project which greatly depends on ServiceStack, unfortunately the V4 releases, which includes PCL release for most platforms(especially after forking out for a Xamarin Licence), is just way out of my price range as an ISV. I have cloned the MvvmCross code but before I start messing around I would like to know what pitfalls I could run into when attempting to create a Non PCL based version compatible with the platforms I target (Currently Xamarin.Android, WPF and WinRT). The idea would be to able to reuse the code for the WPF project to build Android and WinRT clients.
Does anyone have any pointers?
I don't think there is any problem or pitfall with what you are describing - and I don't think you'll need to fork the MvvmCross source.
You should be able to build your apps as native code, and should then be able to reference the MvvmCross PCL libraries directly from the native libraries you are building - you don't need to rebuild MvvmCross to do this. Plenty of people already use MvvmCross using "file linking" rather than PCLs - it's not the default setup encouraged by the Nuget packages, but it still works fine.

Xamarin: Unable to add HotTuna.StarterPack

I am trying to install the MVVMCross.HotTuna.StarterPack on my Xamarin (Mac) Solution using the NuGet, but i ain't successful. The package was installed in the Xamarin.Android project successfully but while i try the same to do with the iOS and PCL project, it doesn't add. Any Idea on whats going wrong? Thanks!
That nuget package requires nuget 2.5 which isn't yet finished/released for Xamarin Studio - track https://github.com/mrward/monodevelop-nuget-addin/issues/13 for updates
It will also probably require fixes from Xamarin - they've not yet released PCL support, but it is in development. You can ask their forum and/or support for updates on this.
In the meantime:
you can develop for MvvmCross using VS on the PC - see http://mvvmcross.wordpress.com/
you can develop using binaries (not nuget) on the Mac - see http://slodge.blogspot.com/2013/05/xamarin-studio-quick-run-through-for.html
For Xamarin.Mac/MonoMac support, there's no PCL support currently available - so the only way to get this working currently is to fork the MvvmCross solution and to compile the PCL libraries for the appropriate Mac project. For more on current .Mac issues, track and/or contribute to: http://forums.xamarin.com/discussion/3733/playing-with-pcls

Is it possible to build a Monotouch application in Visual Studio?

I would like to know if it is possible to compile a Monotouch project that does not have any reference to any UI library in Visual Studio. This project only use the Monotouch framework.
I have done some research and I read that, if the project don't have any reference to the Apple SDK , I should be able to build a MonoTouch project using Visual Studio. If I can, do i need some particular configuration to achive my goal.
Some related links:
How easy is it to develop an iPhone application using MonoTouch in Visual Studio?,
How can I develop for iPhone using a Windows development machine?,
iPhone development on Windows
Even if your project doesn't have any references to MonoTouch libraries, it is still a MonoTouch library project. Visual studio doesn't recognize that project type and because of that you can't really compile the code.
I wrote about this a while ago, and how you can change your project so you can actually use Visual Studio for development (although you won't be able to run the app) here:
http://escoz.com/blog/developing-with-monotouch-on-windows-and-visual-studio
Hope that helps.
There is a Visual Studio addin that may help. It hasn't been updated in a while though. Also, this would only help you write the code. To compile and run the code, you will still need MonoTouch and a Mac. https://github.com/follesoe/VSMonoTouch
Update : As of February, 2013 Xamarin includes Visual Studio support for developing iOS apps in their Business sku of Xamarin.iOS. You can fully develop on Windows + Visual Studio, but still need a Mac on your network to perform builds and run the simulator.
If you're talking about building a DLL or library in VS.NET that you could then use in a MonoTouch project, I believe the answer is NO. To be usable in MT, the code has to be compiled with MT.
The MonoDevAssist VS extension (search VS Extension Manager for "monotouch") seems to work perfectly. There are just a couple of easy steps to follow post-installation, which are documented here:
http://monodevassist.codeplex.com/documentation

Resources