Tag Archive: Silverlight


Getting a development machine set up is a fine art of patience and a good memory. I personally recommend Ninite which is frankly awesome, followed by Visual Studio in its various flavours, followed by the Web Platform Installer.

However, with so many tools, frameworks, patches and add-ons to install it can be easy to miss something.

Even more frustrating, sometimes it can even be easy to install things in the wrong order.

Silverlight debugging: Get the right Tools

Specifically for Silverlight, it can appear as if you have all the necessary pre-requisites to create and debug Silverlight applications in Visual Studio 2008 SP1, but in fact your breakpoints are never hit.

You have the Silverlight project templates installed, you’re happily mixing and matching Visual Studio and Expression access to your project tree, but when compiling and running your project, Visual Studio either flatly ignores your breakpoints or reports that the symbols haven’t been loaded and that the breakpoints won’t be hit.

Some standard solutions

A lot of Googling takes you to answers around the following, none of which have actually applied to me recently:

  • Ensure you are running from a http:// address rather than a file:// address
    • In summary, do this by creating a separate Web application in your solution and then adding a link from it to your Silverlight project to ensure VS launches your browser pointing at a web server rather than the filesystem.
    • Debugging is disabled by default when going to local filesystem-based URLs.
  • Ensure “Silverlight” debugging option in your website project Properties > Web tab is checked
    • Some solutions even point to unchecking, then rechecking the option in order to kick VS into recognising the breakpoints.
  • Manually attach to the browser process, since VS may have attached to the wrong instance.
    • This especially seems to hit IE8 users where Silverlight apps are reputedly launched in a separate process to the main HTML.
  • Ensure you have “Silverlight” attachment type listed in the “Attach to process…” dialog box and that it is selected.
    • For example, attaching to iexplore.exe but selecting “T-SQL” as your attachment type will obviously not let you hit any Silverlight breakpoints.

One other solution: install Silverlight Tools for Visual Studio 2008 SP1 (again)

For me, the biggest single problem is flatly ensuring you have installed the Silverlight Tools installed after everything else.

With all the various installers, it’s actually possible to end-up with a fully functional Silverlight development environment, including all the GUI clues, but with debugging being an impossibility. How to diagnose it? Check if you have the Silverlight option in the debugging types:

Without this type listed in the “Attach to process…” dialog, Visual Studio will give you no other clue that it won’t be able to hit breakpoints – even if you have “Silverlight” listed as a debugging option in the website properties.

Installing the Silverlight Tools for Visual Studio SP1 ensures this is in place. Then you can go back through the other items in the checklist ;)

Some useful related links:

  • Silverlight Tools for Visual Studio SP1 mentioned above (http://go.microsoft.com/fwlink/?LinkID=143571)
    • Alternatively you can download the standalone Silverlight SDK from http://go.microsoft.com/fwlink/?LinkID=157102.
  • Silverlight Toolkit (http://silverlight.codeplex.com)
    • Not to be confused with the required developer tools, this is an awesome open-source set of examples to get your started with Silverlight.
  • Silverlight + WCF RIA Services (http://www.silverlight.net/riaservices/)
  • The “Getting Started” page from Microsoft (http://www.silverlight.net/getstarted/)
Visual Studio early screenshotExpected Beta 1: End March 2010

Today Pete and I reached a milestone with a project we’ve been working on in our spare time for a while. Within the last week we’ve decided to go public and will be spreading the word far and wide over the next month.

We got the CodePlex project sorted, and first checkin batch done for our open-source digital asset management system called MimeCloud.

The link to it on CodePlex is at mimecloud.codeplex.com, the mimecloud.com domains redirect there for now.

It’s not finishet yet; we’ve a fair few weeks to go until the first Beta, and we’re just starting to invite collaborators now that the core architecture is formed. But it’s going to be awesome, and I hope a lot of people will benefit from it. For a start, we’re going to a build a package so you can use it in Umbraco CMS :)

Here are a few snippets from the project homepage:

What is MimeCloud?
  • MimeCloud is an open-source media asset library built for lightning speed and scalability
  • You can use MimeCloud to:
    • Manage the images and video on your blog or website (Wordpress or Umbraco? No problem!)
    • Replace the image management module of your website’s CMS with something more powerful, extensible, and easier to use
    • Manage usage rights information on your digital media archive (publishers? Hello!)
    • Attach metadata in multiple languages to the same image, video or asset
    • Quickly upload 1 or 1000 assets in a batch, with resizing and thumbnail generation on the fly
  • The project was founded by Alex Norcliffe and Peter Miller
What platform does MimeCloud use?
  • MimeCloud builds against Microsoft .NET 3.5SP1, and consists of the following pillars:
    • Robust datalayer built on Microsoft SQL Server and Lucene.net
    • Extensible API in both WCF and RESTful forms exposed using IIS
    • Several clients including a full-featured Silverlight image manipulation and batch upload tool, and an ASP.NET MVC administration tool for basic upload and library searching
    • Storage of assets can be via FTP, HTTP upload, Amazon S3, Microsoft Azure – whatever you prefer
What’s a Media Library? Is this Digital Asset Management? I just want to upload images to my site
  • No worries – just because MimeCloud can cope with millions of images and videos doesn’t mean it’s difficult to use, or resource intensive.
  • You can have MimeCloud installed on a simple blog in minutes, and use it every now and then, and it will still have cost you nothing (unless you want to donate)
Does it only handle images?
  • Not at all! We called it MimeCloud for a reason – the entire system is pluggable and supports anything describable by a MIME type. Out of the box we have support for images, videos, PDFs, Microsoft Office, and if there is a filetype you need that isn’t yet supported you can write a provider to tell MimeCloud how to handle it.