Problem adding a WebService in VS2010

So, I was using Visual Studio 2010 the other day to create a new web-service, when I was presented with the following error message…

Could not find file ‘c:\Program Files (x86)\ Microsoft Visual Studio 10.0\ Common7\ IDE\ ItemTemplatesCache\ CSharp\ Web\ 1033\ WebService.zip\ WebService.asmx’.

Could not find file c:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\ItemTemplatesCache\CSharp\Web\1033\WebService.zip\WebService.asmx

I tried adding the web-service a couple of times but every time I pressed the ‘Add’ button it would present the above error.

Add Web Service presents could not find file error

So, I looked at the location stated in the error message and sure enough, there was no WebService.asmx at that location…

Missing webservice.asmx

What I found interesting was that the path contained the word ‘cache’, which to me implied the master/install location containing the missing file would be somewhere else on the computer.

So, I had a quick search and found a WebService.Zip in the folder shown below.

Webservice.zip

I opened up the zip file – it contained the illusive WebService.asmx – so I copied it into the folder mentioned in the error message and hey-presto, it solved the problem!

Webservice.asmx

So, if you ever get this error message then try copying the file from the master/install zip file and see if it fixes your problem.  If it does then let me know!

iPaint

iPaint

So, we are a couple of months into 2012 so I thought it was time to post an update on developing with MonoDevelop and specifically using the open source MonoGame project to develop for the iPad.

Before I start writing ‘the next Angry Birds’ I decided to start with something much easier – a simple paint application – and so that is what this blog post is about!

If you just want to see the results then jump straight to the bottom of this page where you can watch a time lapse video of the application being used on an iPad simulator. Otherwise continue below for details of the code and my early thoughts on MonoGame…

iPaint screenshot

iPaint – The Manneporte near Étretat

MonoGame

For full details of MonoGame head over to CodePlex, however basically the idea is that you should be able to develop something that can run on multiple platforms without having to make too many changes to the code.

I am developing on the Mac, using MonoDevelop and targeting the iPad. To get started you need a copy of the MonoGame library, which can be forked/cloned from GitHub.

Fire up MonoDevelop, start a new MonoTouch project and add references to the MonoGame project.

Within a few minutes you should be able to get something very simple appearing on the iOS simulator…

  • Add a new class which derives from the MonoGame Game class.
  • Ensure a GraphicsDeviceManager is created.
  • Override the Draw method and insert your rendering code.

…and bish bash bosh, there you go – you have something appearing on screen in no time at all.
Ok, so if you don’t put any code in your Draw method then you just get a ‘nice’ magenta screen but what do you expect for approximately 10 lines of code!

To implement something like the iPaint app you will need to do a bit more however I’ve found using MonoGame relatively simple and pain free. The only ‘unknown’ at the moment is I don’t know what the licensing situation is – i.e. If (in the highly unlikely event) I develop ‘the next Angry Birds’ and became a billionaire would I owe some ‘MonoGame people’ lots of money?

Coming to an App Store near you – probably no time soon…

So, are you going to see iPaint in the app store – errr, no – well, not released by me you won’t. I don’t intend to pay $99 a year for my Apple developers license until I’ve written something more worthwhile – and of course on top of that is the $400 MonoDevelop license which is required in order to run the software on a real iPad and not a simulator. Plus, considering you can buy the most excellent InspirePro for less than a dollar I don’t think that my iPaint app is really going to compete!

So, what next?

So, what next, I hear you say. Well, the intention is still to develop a game for the iPad and publish it to the App Store – Development will be starting on that shortly. The question is do I want to use MonoGame or just use standard MonoTouch. This is something that I will need to look into further. Certainly the advantage of MonoGame is that it works very well and has been very easy to use – Also, in theory, porting any game I write to another platform (e.g. WP7) should be easy(ish) – If I want to do that. Are there any disadvantages? The fact it is open source might concern some people – however my experience so far is that it has been very stable – and certainly it has an active community updating it all the time. So, assuming licensing is to my liking I like the idea of using MonoGame – and if I can support the MonoGame community with updates then even better.

iPaint in Action

So, that just about rounds things up for this post. Details of where you can get the MonoGame source and indeed the iPaint source are detailed below.

Also here is a video (one hour condensed into one minute) showing the iPaint app running on the iOS simulator – and my attempt at reproducing Claude Monet’s ‘The Manneporte near Étretat’. Enjoy.

Resources

  • Details of MonoGame are on CodePlex.
  • The MonoGame source code is available on GitHub.
  • A copy of the iPaint source code is also on GitHub.
  • MonoDevelop can be found here

xamarin

2012 – What will the year hold….

It’s the beginning of a new year so I thought I’d write down my plans and thoughts for the upcoming 12 months – then review them this time next year to see what I’ve actually achieved!

I read somewhere that as a developer you should expect to have to re-learn every 10 years or so.  Well, it was approximately 10 years ago that I started to learn c# and although I don’t see .net disappearing from my day to day development, I do anticipate having to learn some ‘new stuff’ this year – exciting times at work in fact!

However, I’m going to concentrate on what I want to achieve using MonoDevelop (outside of work) this year…

Over the years I’ve started to write many games – starting on the ZX Spectrum in 1985 – The Amiga in 89/90’ish – and the good ol’ Win PC in the years that followed.  However, either priorities change, or boredom creeps in, I get bogged down with the sprite design or whatever; and invariably I rarely finish the game.  But this year is going to be different!  Why?  Because I intend to write a game for the iPad and submit it to the Apple App Store – so the incentive is that maybe someone other than myself might play it.

So early days at the moment, however I have MonoDevelop installed on the Mac, MonoGame cloned from GitHub and a load of ideas buzzing round my head.  Possibly have a friend interested in creating some graphics and sounds for me too, however he was rather drunk when he expressed his interest so he may not recall it 😉