05 Mar 2013

Cannot connect to LocalDB from .NET

imageYou are trying something simple – just open a connection to a LocalDB instance from .NET but it is failing with a SqlException which has the following message:

A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server)

You know LocalDB is working, since you copied the connection string from within Visual Studio, but it just doesn’t work!

The cause of this issue is the connection string, however it may not be obvious at first glance:

var sqlConnection = new SqlConnection("Data Source=(localdb)\v11.0;Initial Catalog=Astronauts;Integrated Security=True;Connect Timeout=5");

image

The root cause is the Data Source and the \v in it – normally when you have a \ it complains unless it is a valid escape sequence like \r or \t and since it is not complaining here, it must be a valid escape sequence, just maybe one you are not familiar with, as \v is for a vertical tab.

The solution is easy when you realise that the escape sequence is messing with you, just add another slash:

var sqlConnection = new SqlConnection("Data Source=(localdb)\\v11.0;Initial Catalog=Astronauts;Integrated Security=True;Connect Timeout=5");

05 Mar 2013

Visual Studio 2012 - LightSwitch: The selected project was created by a newer version of this application and cannot be opened.

imageYou may have run into this annoying dialog when creating an HTML application with Visual Studio 2012 LightSwitch after installing Update 2 CTP 4. The issue does not appear when creating a “normal” application.

The cause of this is a conflict between the old bits that came with the Office Dev tools update and the new bits that came in the Visual Studio update.

Prevent it in future!

You can prevent this by following these steps [source]:

Before installing CTP 4 you must uninstall HTML Client Preview 2 and clear the Application Manifest cache:

  1. Open Add\Remove Programs.
  2. Select the entry for Microsoft LightSwitch HTML Client Preview 2 for Visual Studio 2012.
  3. Right-click the entry and select Uninstall.
  4. Select the entry for Windows Azure Tools for LightSwitch HTML Client Preview 2 for Visual Studio 2012 – June 2012 SP1.
  5. Right-click the entry and select Uninstall.
  6. Clear your application manifest cache by deleting the following folders:
    • %localappdata%\Microsoft\MSBuild\VSLS\11.3
    • %localappdata%\Microsoft\VisualStudio\11.3

How do I fix it?

While the above is useful information ahead of time, it is is not helpful after the fact. So how do you fix your Visual Studio to be able to get into the fantastic new LightSwitch bits?

works-on-my-machine-starburstYour mileage may vary with this since this is been found with a bit of trial and error as I fixed on my machine.

First shutdown Visual Studio and then follow the steps above. Once done, run the CTP 4 installer again and chose the uninstall option. Once it is completely uninstalled you then reinstall the CTP.

Finally make sure you may want to make double sure you have cleaned the manifest cache (step 6 above) – it won’t hurt to do it again either. Just make sure Visual Studio is close when you do it.

Do not try a repair

You may think a repair is as good as an uninstall/reinstall of the CTP. It isn’t, since it gives you this lovely fun:

image

26 Feb 2013

Visual Studio Extension Guide

Version: 1 – Feb 26 2013 – Current Count: 24

This page is meant to provide a one stop shop for the Visual Studio Extensions that are available for Visual Studio 2012. Included here will be only extensions from Microsoft that are available on the Visual Studio Gallery. Some maybe betas, CTPs etc…  If you think I have missed any please contact me!

Bing Maps SDK for Windows Store apps

Color Printing

EnterpriseLibrary.Config

GAT 2010 for Visual Studio 2012

  • The Guidance Automation Toolkit (GAT) is a Visual Studio extension that helps build guidance packages, which empower software teams to automate key development tasks (like custom templates, wizards, and code generation) inside Visual Studio.
  • More information
  • Download

GAX 2010 For Visual Studio 2012

  • The Guidance Automation Extensions (GAX) enables Visual Studio to run guidance packages, such as those included in Software Factories, which empower software teams to automate key development tasks inside Visual Studio.
  • More information
  • Download

Highlight all occurrences of selected word

  • This extends the editor to highlight all occurrences of a selected word and place a glyph on the left margin (VS2012 version).
  • More information
  • Download

HTML Spell Checker

LightSwitch Cosmopolitan Shell and Theme

  • A LightSwitch shell and theme with modern and clean UI, inspired by the Silverlight Cosmopolitan theme.
  • More information
  • Download

LightSwitch Metro Theme

Microsoft ASP.NET Scaffolding

Microsoft Parallel Visualization Pack

  • A set of visualizers that allow users to view graphical representations of the data in the Parallel Watch Window.
  • More information
  • Download

Microsoft PlayReady Client SDK for Windows Store apps

Microsoft Visual Studio 2012 Feedback Tool

  • Microsoft Visual Studio 2012 Feedback Tool allows users to submit feedback about Microsoft Visual Studio 2012
  • More information
  • Download

Microsoft Visual Studio 2012 SDK

  • The Microsoft Visual Studio 2012 SDK includes project templates, tools, tests, and reference assemblies that are required to build extensions for Visual Studio 2012.
  • More information
  • Download

Microsoft Visual Studio Team Foundation Server 2012 Build Extensions

  • The Team Foundation Server Build Extensions provide the ability to execute Ant or Maven builds from Team Foundation Server and publish the results of the build along with any associated JUnit test results back to Team Foundation Server.
  • More information
  • Download

Microsoft Visual Studio Team Foundation Server 2012 Update 1 Power Tools

  • Power Tools are a set of enhancements, tools, and command-line utilities that increase productivity of Team Foundation Server scenarios.
  • More information
  • Download

NuGet Package Manager

  • A collection of tools to automate the process of downloading, installing, upgrading, configuring, and removing packages from a VS Project.
  • More information
  • Download

PowerCommands for Visual Studio 2010

Productivity Power Tools 2012

  • A set of extensions to Visual Studio 2012 Professional (and above) which improves developer productivity.
  • More information
  • Download

Smooth Streaming Client SDK

Storyboard Shapes Authoring Tool - RC Version

  • This tool helps you make storyboard shapes that can be used with PowerPoint Storyboarding (available with Visual Studio 2012).
  • More information
  • Download

Team Foundation Server Integration Tools (March 2012 Release)

  • The TFS Integration Tools is a project developed by the Team Foundation Server (TFS) product group and the Visual Studio ALM Rangers to integrate Team Foundation Server with third party systems for migration and synchronization of data.
  • More information
  • Download

Visual Source Safe Upgrade Tool for Team Foundation Server

  • The official upgrade tool to move your Visual Source Safe repositories into Team Foundation Server
  • More information
  • Download

Visual Studio Tools for Git

  • An extension for Team Explorer to provide source control integration for Git. Enables integration with local Git repositories and provides tools to work with remote repositories.
  • More information
  • Download

image

Download the timeline in Excel: here.

Download the source code for the tool that I used to produce the HTML & data for this post: here.

25 Feb 2013

Visual Studio 2012 Update Guide

Version: 2 – March 4 2013

This page is meant to provide a one stop shop for the updates that are available for Visual Studio 2012. Included here will be only updates from Microsoft. Some maybe betas, CTPs etc. If you think I have missed any please contact me!

VS_Purp256_rgb (1)Visual Studio Update 1

VS_Purp256_rgb (1)Visual Studio Update 2 CTP 4(NEW/UPDATED!)

Git-Icon-1788CGit Tooling for Visual Studio

VS_Purp256_rgb (1)Productivity Power Tools 2012

NuGet_project_logo_svgNuGet

web essentialsWeb Essentials 2012

AzureVS2012_LogoASP.NET and Web Tools 2012.2

AzureVS2012_LogoWindows Azure SDK for .NET (VS 2012) 1.8.1 - February 2013

VS_Purp256_rgb (1)Microsoft Office Developer Tools For Visual Studio (NEW/UPDATED!)

WFM-128pxWorkflow Manager Tools for Visual Studio 2012

expressWindows Phone SDK 8.0

sql-option-aSQL Server Data Tools for VS 2012 December Update

odatalogoWCF Data Services 5.0 for OData v3

Want more extensions for Visual Studio? Check out the 31 extensions created by Microsoft for Visual Studio 2012 on the Visual Studio Gallery

Timeline (out of date)

Since I like to visualise these things here is a timeline of the updates:

image

Download timeline in Excel

04 Feb 2013

Is the event log (fast) enough for me?

imageIn a recent project I was required to come up with a suggestion for logging and while the existing view of using a text file is used by many popular applications and is well understood it felt like re-inventing the wheel.

In the past I have used the great libraries of Enterprise Library or Log4Net to ensure I didn’t need to re-invent the wheel but really only to ever write to a log file. I began to question should I use the Windows Event Log rather, since it offers a lot of other features, especially around the viewer.

The viewer can not only provide a simple view, but offers ordering, filtering, exporting, remote connections (you can open the event logs on other machines), monitoring (through tools like System Center Operations Manager) and forwarding.

The big question for me has always been, can it cope with the load I want to throw at it? So to test this I wrote a small application, which is available for you to grab or comment on at Bitbucket. The application spins up a few threads (on my machine 4 is the magic number – above that there is no major improvements) and just writes as much data as quickly as possible to an event log.

Every time I have run it I have managed to get close to 40 000 writes per second! Monitoring CPU at the time, it averages between 30% to 50%, so not minor load but considering how much is happening, understandable.

image

There isn’t much I have that needs that sort of speed, and if I do there is ETW, so help me chant DEATH TO THE TEXT FILE, LONG LIVE THE EVENT LOG!

01 Feb 2013

Free one hour async training!

Join me on Feb 6th as I present a one hour session on the new async feature of .NET 4.5. You can expect the full run through of how to use it, limitations and pitfalls. Since many people aren’t able to move to .NET 4.5 yet, I will also be covering what you should be doing now to make sure that you can easily take advantage of it in the future.

Async allows you to write code that runs across multiple threads in intelligent ways without the pains commonly associated with it!

  • Date: Feb 6th 2013
  • Time: 9am to 10am (South African time - so GMT +2)
  • Where: Available over YouTube
  • Audience: Anyone with .NET experience

Thanks and I hope to see your (virtually) on the 6th! Please follow me on Twitter for updates and links for this session!

20 Jan 2013

Dealing with off by x issues when using the TextBox

image

Introduction

One of the toughest problems I faced when I built Notepad Classic was an issue where many functions like Go To & Find were always off a few characters. After a bit of experimenting I noticed a pattern, it was off by the number of characters equal to the line number (0 based).

i.e.: no issues on the first line (line index 0); Off by one on the second line (line index 1); Off by two on the third line (line index 2); Off by three on the forth line etc…

Problem

It turned out that the way the string functions count a line break (i.e. \r\n) as two characters, and rightly so – it is two characters a \r & a \n. However the TextBox functions like Select treat \r\n as a single character because that is what is displayed visually – a line break is one character visually. So there is a difference between the two scenarios and thus the “off by one x line count” error I found.

Solution

The solution I used is to compensate for it by working out the number of lines to the point (i.e. count all the line breaks before the point) and adjusting the results (adding +1 for each \r\n) as needed.

Sample application to show this problem and the solution can be found at: https://bitbucket.org/rmaclean/off-by-one-x-sample-code

17 Jan 2013

How to update git-tf?

I love Git – it lets me work the way I want and where ever I may be. I love TFS – it has everything companies need for development projects. This is why I love Git-tf, it gives me git but with all the professional tooling from TFS serious development needs. However I have found that upgrading Git-tf isn’t obvious and in fact you may get it wrong without knowing!

I was doing it wrong

Since it is just a file copy deploy (i.e. drop files in a folder), I had assumed that you could just do a file replace of those files when a new version – however I noticed recently the version numbers after an “upgrade” didn’t match up.

image

Solution

The solution is to delete all the files in the folder FIRST – then you copy the files into that folder. Once you do that it just works!

image

It is odd to me, but it works and that is what matters.

Special thanks to Richard Banks for pointing out this solution to me Smile

Pages