.NET · C# · Windows Azure

UPGRADING TO windows AZURE 2.2 SDK AND THE WORKER ROLE STOPS WORKING

I have been working on a Windows Azure project that was started using the Windows Azure 2.0 SDK. After the upgrading to the Windows Azure 2.1 SDK we noticed that the Worker role was no longer work. Since development was being done only on the web role a decision was made to wait to look into why the worker role stopped working.

The project was recently upgraded to Windows Azure 2.2 SDK. It was time to figure out why the worker role stopped working. The problem was with the references were not getting updated and config files were referencing the the wrong version number. The simplest way to ensure that all the references were updated properly is to use Nuget to install and update Windows Azure Storage, Configuration, and Diagnostics.

That made the worker role start working again. While I was testing the system to make sure that web role could still get message to the worker role via the queue it quickly became obvious that something was still wrong.

Time to roll up my sleeves and figure out what was causing the web role to throw an error. The error I was getting is a FileLoadException when I try to get the cloud storage account.

Error message:

clip_image002

clip_image004

Let’s look at the details for this exception:

clip_image006

Notice that the error states that ‘Microsoft.WindowsAzure.Diagnostics’ version 2.1.0.0 couldn’t be found.  This is a problem as we as we are upgrading to version 2.2.0.0.

I proceeded to update the WindowsAzure Diagnostics to 2.2.0.0 using Nuget. But I continue to get the same/similar error message. OK so what didn’t Nuget update for me? By doing a search on all files in my solution for ‘2.1.0.0’ I discovered the that Microsoft.WindowsAzure.Diagnostics was referenced with the wrong version number in the Web Roles web.config file.

Solution:

In the web role’s web.config file change the version number to 2.2.0.0

<system.diagnostics>

<trace>

<listeners>

<add type=”Microsoft.WindowsAzure.Diagnostics.DiagnosticMonitorTraceListener, Microsoft.WindowsAzure.Diagnostics, Version=2.2.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35″ name=”AzureDiagnostics”>

<filter type=”” />

</add>

</listeners>

</trace>

</system.diagnostics>

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s