Moving our BlogEngine.NET server to Azure

As part of our IT refresh we have decided to move this BlogEngine.NET server from a Hyper-V VM in our office to an Azure website. BlogEngine.NET is now a gallery item for Azure website, so a few clicks and your should be up and running. However, if you want to use SQL as opposed to XML as the datastore you need to do a bit more work. This process is well documented in the video ‘Set BlogEngine.NET to use SQL provider in Azure’, but we found we needed to perform some extra steps due to where our DB was coming from. ...

September 16, 2014 · 4 min · Richard Fennell

Publishing more than one Azure Cloud Service as part of a TFS build

Using the process in my previous post you can get a TFS build to create the .CSCFG and .CSPKG files needed to publish a Cloud Service. However, you hit a problem if your solution contains more that one Cloud Service project; as opposed to a single cloud service project with multiple roles, which is not a problem. The method outlined in the previous post drops the two files into a Packages folder under the drops location. The .CSPKG files are fine, as they have unique names. However there is only one ServiceConfiguration.cscfg, whichever one was created last. ...

September 10, 2014 · 2 min · Richard Fennell

Getting the correct path and name for a project to pass as an MSBuild argument in TFS Build

I have been sorting out some builds for use with Release Management that include Azure Cloud Solutions. To get the correct packages built by TFS I have followed the process in my past blog post. The problem was I kept getting the build error The target "Azure PackagesBlackMarble.Win8AppBuilder.AzureApi" does not exist in the project. The issue was I could not get the solution folder/project name right for the MSBUILD target parameter. Was it the spaces in the folder? I just did not know. ...

September 10, 2014 · 2 min · Richard Fennell

Deploying a Windows service with Release Management

 recently needed to deploy a Windows service as part of a Release Management pipeline. In the past, our internal systems I have only need to deploy DB (via SSDT Dacpacs) and Websites (via MSDeploy), so a new experience. WIX Contents The first step to to create an MSI installer for the service. This was done using WIX, with all the fun that usually entails. The key part was a component to do the actual registration and starting of the service ...

September 9, 2014 · 6 min · Richard Fennell

PowerShell Summit Europe 2014

I find I am spending more time with PowerShell these days, as we aim to automated more of our releases and specifically with DSC in PowerShell 4, as I am sure many of us are Give that fact, the PowerShell Summit Europe 2014 at the end of the month looks interesting. I only found out about it too late and I have diary clashes but might be of interest to some of you. Looks like a really good hands event. ...

September 8, 2014 · 1 min · Richard Fennell

Got around to updating my Nokia 820 to WP81 Update 1

I had been suffering with the 0x80188308 error when I tried to update my Nokia 820 to the WP81 Update 1 because I had the developer preview installed. I had been putting off what appeared to be the only solution of doing a reset as discussed in the forums as it seem a bit drastic, thought I would wait for Microsoft to sort out the process. I got bored waiting.. Turns out as long as you do the backup first it is fairly painless, took about an hour of uploads and downloads over WiFi ...

September 3, 2014 · 1 min · Richard Fennell

Getting ‘… is not a valid URL’ when using Git TF Clone

I have been attempting to use the Git TF technique to migrate some content between TFS servers. I needed to move a folder structure that contains spaces in folder names from a TPC that also contains spaces in its name. So I thought my command line would be git tf clone “http://tfsserver1:8080/tfs/My Tpc” “$/My Folder”’ oldrepo --deep But this gave the error git-tf: “http://tfsserver1:8080/tfs/My Tpc” is not a valid URL At first I suspected it was the quotes I was using, as I had had problems here before, but swapping from ‘ to “ made no difference. ...

September 2, 2014 · 1 min · Richard Fennell

Build failing post TFS 2013.3 upgrade with ‘Stack empty. (type InvalidOperationException)’

Just started seeing build error on a build that was working until we upgraded the build agent to TFS 2013.3 Exception Message: Stack empty. (type InvalidOperationException) Exception Stack Trace: at Microsoft.VisualStudio.TestImpact.Analysis.LanguageSignatureParser.NotifyEndType() at Microsoft.VisualStudio.TestImpact.Analysis.SigParser.ParseType() at Microsoft.VisualStudio.TestImpact.Analysis.SigParser.ParseRetType() at Microsoft.VisualStudio.TestImpact.Analysis.SigParser.ParseMethod(Byte num1) at Microsoft.VisualStudio.TestImpact.Analysis.SigParser.Parse(Byte\* blob, UInt32 len) at Microsoft.VisualStudio.TestImpact.Analysis.LanguageSignatureParser.ParseMethodName(MethodProps methodProps, String& typeName, String& fullName) at Microsoft.VisualStudio.TestImpact.Analysis.AssemblyMethodComparer.AddChangeToList(DateTime now, List\`1 changes, CodeChangeReason reason, MethodInfo methodInfo, MetadataReader metadataReader, Guid assemblyIdentifier, SymbolReader symbolsReader, UInt32 sourceToken, LanguageSignatureParser& languageParser) at Microsoft.VisualStudio.TestImpact.Analysis.AssemblyMethodComparer.CompareAssemblies(String firstPath, String secondPath, Boolean lookupSourceFiles) at Microsoft.TeamFoundation.TestImpact.BuildIntegration.BuildActivities.GetImpactedTests.CompareBinary(CodeActivityContext context, String sharePath, String assembly, IList\`1 codeChanges) at Microsoft.TeamFoundation.TestImpact.BuildIntegration.BuildActivities.GetImpactedTests.CompareBuildBinaries(CodeActivityContext context, IBuildDefinition definition, IList\`1 codeChanges) at Microsoft.TeamFoundation.TestImpact.BuildIntegration.BuildActivities.GetImpactedTests.Execute(CodeActivityContext context) at System.Activities.CodeActivity.InternalExecute(ActivityInstance instance, ActivityExecutor executor, BookmarkManager bookmarkManager) at System.Activities.Runtime.ActivityExecutor.ExecuteActivityWorkItem.ExecuteBody(ActivityExecutor executor, BookmarkManager bookmarkManager, Location resultLocation) I assume the issue is a DLL mismatch between what is installed in as part of the build agent and something in the 2012 generation build process template in use. ...

September 1, 2014 · 1 min · Richard Fennell

DDDNorth - agenda published - registration opens - and it is full

This morning DDDNorth’s agenda was published, registration opened and it was full. All within a couple of hours. Looks like a good event if you managed to get a ticket. Glad I can get in as a speaker, else this mornings meetings would have left me on the waiting list

September 1, 2014 · 1 min · Richard Fennell

My DDDnorth session has been accepted

My DDDNorth session “What is Desired State Configuration and how does it help me?” has been accepted, looking forward to it

August 31, 2014 · 1 min · Richard Fennell