The blogs of Black Marble staff

Where is Solution User Options (.SUO) file for Visual Studio 11 Beta?

Quick Answer: It has a hidden file attribute applied. Changing the folder options to ‘Show Hidden Files and Folder’ revealed the SUO file adjacent to the solution file .

When you open a Visual Studio Solution file, i.e. MySolution.sln,   a corresponding MySolution.suo file is generated. This file is constantly updated with the current state of Visual Studio (i.e. which windows you have open). When you close and reopen Visual Studio, the previous state is reloaded from this file.

Unfortunately from time to time this can lead to problems. For example, It is common for Visual Studio to crash when too many designer files are opened simultaneously. Because the state is remembered in the SUO file ; it can then become impossible to re-open the Visual Studio solution because it will result in a re-occurring crash. When this occurs I usually just delete the SUO file; and Visual Studio will re-open a solution afresh; without any retained state.

However in Visual Studio 11 Beta I could not find the SUO file? Its normally would be found in the directory adjacent the solution file; yet I could not see it. I ran a search for SUO files on my C: drive and found none.

Thoroughly confused I opened ProcMon.exe and watched what files Visual Studio was loading as I opened my solution. A quick search found the suo file where I had expected it; adjacent to the solution. However the file had a hidden attribute applied to it so I couldn’t see it with the default folder options in Windows 8.

Changing the folder options to ‘Show Hidden Files and Folder’ revealed the SUO file.

Solution to “We couldn't get your developer Licence for Windows 8 Consumer Preview” on Win8 Server beta

Whilst preparing for the Black Marble Windows 8 event tomorrow (still places available for this free event) I hit problem with VS11Beta and Metro projects.

I was sorting out a demonstration of remote debugging, I had a Samsung tablet PC running WIn8CP  and intended to use a WIn8Server CP running inside a VirtualBox VM on Windows 7 PC.

  1. I installed VS11 Ultimate 11 Beta on both devices
  2. On the Win8 Tablet I loaded the VS11 remote debugger monitor
  3. On the Win8 Server I loaded VS11
  4. I created a new Metro application project
  5. I set the project properties to point use remote debugging and target my tablet

  6. I pressed F5 to debug
  7. And got the error "We couldn't get your developer Licence for Windows 8 Consumer Preview. Please check your internet connection and try again."

I had a good look around for a solution, most posts pointing to issues with upgrading Win7 to Win8, talk of hotfix, patches and waiting 2 days for licenses to expire. Turns out it was none of these. I eventually found the answer on the MSDN forums, you just can’t do this at present with Win8Server beta. Seems it did work with the build conference release, but not now. You have to use the desktop build of Win8CP for remote debugging.

So I created another VM using the desktop Win8CP, followed  same process and it was all fine. When I got to the place I was getting a warning dialog it asked for a LiveID and all proceeded as expect. I can now do a nice remote debugging demo.

On the panel at Tech.Days: Visual Studio 11 Online Event

A while ago I recorded a video Visual Studio Team Foundation for Everyone, this forms part of Tech.Days: Visual Studio 11 Online Event, 28th June 2012, 1pm to 3pm. To lift the agenda from the MSDN site

This event will cover the key new features and capabilities that Visual Studio 11 offers software development teams, and the opportunity to ask questions to the UK Developer Tools team and partners. There’ll be something for almost anyone involved in software development, from Project Managers & Scrum Masters to developers and testers.

So if you have any questions on TEE or any of the new features VS/TFS11 why not register?

Skydrive pushes me over my broadband usage

I got back from a trip away to find an unexpected bill for broadband  through the letterbox. I have paid about the same each quarter for broadband for a good while now, I don’t see much variation as I rarely use my home phone, then again who does?

This bill was nearly double, why?

I think it was mostly due to setting up Skydrive to mirror my family photos and video as a backup, though this can’t explain it all, but then again my son as found Roblox. In each month I went over my usage it was costing me £5 a 5Gb block. It adds up fast.

On calling BT I found I could upgrade my package to a larger allowance and it worked out less than £1 more. The most irritating thing was they had been emailing me about my usage on my BT provided email address, an address I have never used.

So the top tip is make sure your usage notifications go to an address you actually get .

Tweaking my Lenovo x220 Tablet and running Windows 8

A short while ago I replaced my trusted by heavy Acer laptop with a Lenovo x220 tablet. After a couple of months running windows 8 I’m ready to put my thoughts into words.

If you’ve landed on this post looking for notes on Windows 8 drivers for the x220, skip to the end.

A painful purchase

Nothing could have prepared me for the deeply unpleasant experience of actually purchasing my new tablet. The Lenovo UK site is shockingly bad at providing the information and options you need. Examples include (some of which bit me!):

  • Confusing information about specification and options. I still don’t actually know whether I have USB 3 or not – the product page suggests yes; the lack of identified hardware suggests not.
  • Appalling lack of detail on options and accessories. I ordered the docking base – there was only one choice. Nowhere did it say that I could have one with an optical drive. If I want to get a DVD now, it’s another £130!
  • Confusing information on critical choices. I still don’t understand the screen choices. I think I messed up on this – all the notes said five-point multitouch but Windows reckons I have only two-point. I got the standard screen because nothing I read said I needed anything but that. This is the one that might well bite me, so be careful!

However, on the plus side I was lucky enough to get a honking great discount off the final price thanks to lucky timing. The discount more than covered the cost of the extras I added post-purchase.

A solid platform

What I did manage to do was some research before my purchase. Lenovo will only ship the x220 with up to 8Gb of RAM. If that had been the maximum I could stuff into the system, I would have walked away. In fact, it will work quite happily with 16Gb, installed in the form of two 8Gb SODIMMS. Mine are Corsair, from my local supplier, and it works just great. Coupled with the dual core with hyper-threading Core-i7 option I chose from Lenovo, this thing is quick and great for VMs.

Less useful was the discovery that the x220 can only take 7mm drives. I had a 750Gb hybrid drive in the Acer that I wanted to use, so I order the x220 with the basic 320Gb drive. When I tried to fit the hybrid drive I found that I couldn’t.

It turns out that 7mm drives are actually quite hard to find in reasonable capacities, and I quickly learned that the 320 was definitely not fast enough and not really big enough. Step forward my second addition to basic spec – a 512Gb Crucial M4 solid state drive. That actually took some digging as well – the Crucial UK site denied the existence of any 7mm SSDs in their range. I got mine from Amazon in the end. What did we ever do before internet search engines?

The end result is a shockingly quick, light and flexible laptop that gives me over six hours of battery life and can comfortably run the battery of virtual machines I use for demo, customer work and testing.

Would I recommend the x220?

In a word, definitely. Would I recommend the Lenovo web site to purchase it from? Probably not. If you can reach out to a product specialist for advice I would strongly suggest you do so. Not only that, but I type this the week after the x230 was announced, with Ivy Bridge and other new-tech goodies. Am I disappointed to have bought ‘too soon’? A little bit, but you can wait forever in this business – something shinier is always around the corner, and I needed something pretty urgently when I bought the x220.

Overall, it’s good kit. It’s light, with a small, light power charger. It’s quick enough for development and running VMs – something I do a lot of. The convertible design means its ready for Windows 8 but doesn’t sacrifice that wonderful Lenovo keyboard for when I need to write documentation. The screen is bright and crisp, and whilst I would love more pixels (it’s only 1366x768) I’ve not been frustrated by lack of screen real estate.

Running Windows 8 on the x220

My first install of Windows 8 was before Lenovo released their suite of beta drivers. More on those in a while. I started with a clean disk and installed Windows 8 Consumer Preview. Not unexpectedly, the bulk of the devices were located and installed by the OS – display, networking etc. However, the WWAN, bluetooth, tablet buttons and a few others were not found.

I had to work through the drivers from Lenovo, installing pretty much everything including software. It’s irritating that there is no way to change the state of the wireless radios other than software. There’s a ‘flight-mode’ button on the x220 but everything else is controlled by the Lenovo apps. That means installing pretty much all the battery of crapware Lenovo ship in order to merely use the stuff the laptop ships with.

However, once it was all installed I was very happy. The arsenal of Lenovo stuff meant that startup was slow, but once up it was quick. Hyper-V installed with no problems and the Windows 8 UI was lovely to use with the touch screen.

With hindsight, I should have left it like that. Except Lenovo released their beta drivers, and I decided to install them.

True to form, disaster struck when I was on the other side of the world, in California. The fault manifested as a corrupted hard drive. The OS was beyond repair, so I had to salvage what data I could onto a pod that thankfully I always carry. With the help of others around me I managed to get a USB stick with Windows 8 CP on to rebuild. That night I spent a while in my hotel room fiddling with drivers again.

It ran, but it was flaky after that, so this week I decided to methodically rebuild and be sparing with the software.

x220 driver step-by-step

I now have a solid, quick, tidy install of Windows 8 on my laptop. I only installed two pieces of Lenovo software in addition to the beta hardware drivers (and you could argue that one of those is a driver as well).

  • Install the OS clean. Don’t mess around with upgrades – take off and nuke the site from orbit; it’s the only way to be sure!
  • Get all the Windows Updates done first. You should find that takes care of the Conexant Audio driver and the Lenovo monitor driver.
  • Download the drivers from the Lenovo Windows 8 beta drivers page that list the x220.
  • Start with the Intel Rapid Storage driver and the chipset drivers, then install the rest. The Tablet Button drivers are important if you want to be able to rotate the screen.
  • Download the latest version of Lenovo ThinkVantage Access Connections from the x220 support page. That’s the only way I’ve found to manage the wireless connections (especially my Ericsson WWAN card, for which there seems no other way to establish a 3G mobile data connection).

What doesn’t work after this lot? Just the bluetooth, which refuses to install the drivers because it’s not enabled, but without the software won’t enable. Ah well. I can live with that for now.

Notice that I avoided the Lenovo Power Management, tablet menu, active protection and many other software utilities. My experience has been that they add very little whilst significantly slowing boot time.

DDD South West session on Unit testing in VS11

Thanks to everyone who attended my session at DDDSW today. The session was completely demo driven so no slides to share, but the contents of the session is covered in the blog posts

Importing namespaces in Xaml for .Net for Metro Style

Importing namespaces in XAML is different in .Net Metro applications compared with WPF. The difference is subtle and caught me unawares…

In WPF, one imports a namespace using.

<Grid xmlns:Core="clr-namespace:Namespace;Assembly=AssemblyName"

This has changed to :


Note the ‘using:‘ rather than ‘clr-namespace:’

So its similar to syntax of import statements in c# code behind. The bonus is that you no longer need to specify the assembly name ( it is handled for you automatically).

Upgrading our blog server from BlogEngine 2.5 to 2.6

A week ago version 2.6 of was released. This has plenty of new features such as a new file manager  and image tools, but for us the most important was site aggregation.

As I posted about previously, we moved to BlogEngine from Community Server because we need multi blog hosting, but with BlogEngine 2.5 we had to write our own basic site aggregation by creating a custom theme that managed some RSS feed merging behind the scenes. Now with BlogEngine 2.6 this type of feature available out the box.

The upgrade process was OK, replace the contents of the IIS site folder with the new bits, set the SQL connection string, copy in our App_data and custom Themes and run an upgrade SQL script.

The only issue I had was that in this process it seemed I lost all our user accounts. A quick check showed the issue was our 2.5 setup was using the blogs\[blogname]\users.xml file to hold the user IDs for each blog, 2.6 was using the be_users SQL table. Now I think this was a by-product of our import process from Community Server.

The fix was not too bad

  • Complete the BlogEngine 2.5-2.6 upgrade
  • I now had a be_users table with a row for each blogs admin user, but no password set
  • Selecting a blog I opened the [IISroot]\App_data\blogs\[blogname]\users.xml file to find a couple of entries, one for the admin account and one for the blog’s owner

        <LastLoginTime>2007-12-05 20:46:40</LastLoginTime>
        <LastLoginTime>2011-12-05 14:37:59</LastLoginTime>
  • Firstly you need to login to the blogs using the default admin account (password admin). It is of course a good idea to reset your admin password and contact  email at this point.
  • Next go to the blog’s control panel users section and add a user matching the missing account, in my case an admin user called  Richard , you can also set the email address and the password if you know what you want, and the job is done.
    However in my case, though I knew what to set the admin user’s password to for the blog, I don’t know the blog owners old passwords. However setting these back is easy as all I had to do was copy the password hash block from the XML file and pasted it into the be_users password column newly created user account.

Once this was done we could all login with our existing accounts.

Renting the Microsoft Surface for your Events

Black Marble has made several Samsung SUR40s (Microsoft Surface 2) available for Rent throughout the UK and Ireland!

So if you want an SUR40 for a one-off occasion such as a corporate event or tradeshow, either internal or external, please get in touch. The SUR40 is v2.0 of the Microsoft Surface, and Black Marble is a Surface Premier Partner
Black Marble can create bespoke applications for your organisation and event, plus we have a set of existing applications that can be configured to meet your needs – please call for a competitive quotation.

For details on our Rental Service please contact Katy on +44 1274 300175 or +353 1 901 4625