<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Rfennells on Black Marble</title><link>https://blogs.blackmarble.co.uk/rfennell/</link><description>Recent content in Rfennells on Black Marble</description><generator>Hugo -- gohugo.io</generator><language>en</language><copyright>Copyright © Black Marble; all rights reserved.</copyright><lastBuildDate>Thu, 14 May 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://blogs.blackmarble.co.uk/rfennell/feed.xml" rel="self" type="application/rss+xml"/><item><title>Duplicated IP addresses give strange error when deploying Hyper-V environments</title><link>https://blogs.blackmarble.co.uk/rfennell/duplicated-ip-addresses-give-strange-error/</link><pubDate>Thu, 23 Apr 2026 00:00:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/duplicated-ip-addresses-give-strange-error/</guid><description>
&lt;h1 id="background">Background&lt;/h1>
&lt;p>I have posted in the past on &lt;a href="https://blog.richardfennell.net/posts/new-problem-when-generating-build-agents-using-packer/">how we manage Azure DevOps Pipeline Agents with Packer and Lability&lt;/a>. Whilst deploying a new agent I hit a interesting problem, the issue was completely a &amp;lsquo;UTS&amp;rsquo; (user too stupid) error, but the way it was surfaced was I think interesting.&lt;/p>
&lt;h1 id="the-problem">The Problem&lt;/h1>
&lt;p>My script built and deployed a new Hyper-V VM, setting up the OS, adding disks and installing the Azure DevOps Pipeline agent. However, the agent did not get registered with Azure DevOps. On checking, I could see that the new VM had a configured network adaptor, but no network connection&lt;/p></description></item><item><title>Fixing Ribble CGR-Ale (Mahle X35 based) ebike with intermittent power</title><link>https://blogs.blackmarble.co.uk/rfennell/fixing-mahle-x35-ebike-with-intermittant-power/</link><pubDate>Mon, 20 Apr 2026 00:00:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/fixing-mahle-x35-ebike-with-intermittant-power/</guid><description>
&lt;h1 id="background">Background&lt;/h1>
&lt;p>My post-op chemotherapy treatment for &lt;a href="https://blog.richardfennell.net/posts/my-cancer-story-thus-far/">my adrenal cancer&lt;/a> meant I was struggling to get any fitness, so in 2019 I bought a &lt;a href="https://www.ribblecycles.co.uk/ribble-cgr-e-al-v3">Ribble CGR-ALe&lt;/a> ebike based around the &lt;a href="https://mahle-smartbike.com/x35/">Mahle X35 system&lt;/a>. It was in fact pre-ordered prior to the bike&amp;rsquo;s initial release by Ribble.&lt;/p>
&lt;p>This bike served me well, getting me out and about before any fitness returned. Since getting fit again, it has also proved useful for my 20KM each-way commute. Allowing me to avoid the traffic jams but still get to work without getting too hot and sweaty.&lt;/p></description></item><item><title>Migrating Azure WebApps from Docker Compose to Sidecar</title><link>https://blogs.blackmarble.co.uk/rfennell/migrating-azure-webapps-fromdockercompose-to-sidecar/</link><pubDate>Thu, 16 Apr 2026 00:00:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/migrating-azure-webapps-fromdockercompose-to-sidecar/</guid><description>
&lt;h1 id="background">Background&lt;/h1>
&lt;p>We have a few non-critical systems running as single instance Docker containers hosted on Azure WebApps. On these systems we have started to see the warning&lt;/p>
&lt;blockquote>
&lt;p>Your app is configured with Docker Compose, which is set to retire on March 31, 2027. For multi-container support, please update your app to support sidecar containers.&lt;/p>&lt;/blockquote>
&lt;p>So, best to get ahead of the game &lt;a href="https://azure.github.io/AppService/2025/04/01/Docker-compose-migration.html">I looked into how to update them&lt;/a>, factoring in that ours are all BICEP defined and deployed with Azure DevOps Pipelines&lt;/p></description></item><item><title>Why has my BizTalk CI/CD build just stopped working?</title><link>https://blogs.blackmarble.co.uk/rfennell/why-has-my-biztalk-build-just-stopped-working/</link><pubDate>Mon, 16 Mar 2026 00:00:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/why-has-my-biztalk-build-just-stopped-working/</guid><description>
&lt;h2 id="the-problem">The Problem&lt;/h2>
&lt;p>I recently had a customer who&amp;rsquo;s Azure DevOps Pipelines BizTalk 2020 build had suddenly started to fail. They said they had not altered their BizTalk solution, or their build process.&lt;/p>
&lt;h2 id="the-analysis">The Analysis&lt;/h2>
&lt;p>Turns out the issue was that the operating system on the VM that hosts their self-hosted Azure DevOps agent had had a update. This update it seems had updated the version of MSBUILD shipped with Windows. Making it the newest version, newer than the one shipped with Visual Studio 2019.&lt;/p></description></item><item><title>PostSharp assembly error upgrading Delinea Secret Server</title><link>https://blogs.blackmarble.co.uk/rfennell/postsharp-assembly-error-upgrading-secret-server/</link><pubDate>Fri, 13 Mar 2026 01:00:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/postsharp-assembly-error-upgrading-secret-server/</guid><description>
&lt;h2 id="the-problem">The Problem&lt;/h2>
&lt;p>Today I was upgrading our self hosted &lt;a href="https://docs.delinea.com/online-help/secret-server/start.htm">Delinea Secret Server&lt;/a> from 11.9.x to 12.0.x. These upgrades are usually an easy process, all achieved within the Secret Server web UI, but not today.&lt;/p>
&lt;p>The upgrade proceeded as normal, downloading the new package, updating the DB schema and updating the binaries, but then it stopped. It did not move onto the next step.&lt;/p>
&lt;h2 id="the-analysis">The Analysis&lt;/h2>
&lt;p>I remoted onto our Windows server hosting our Secret Server instance and via Internet Information Service Manager launched the Secret Server instance via the URL http://localhost. This showed the error&lt;/p></description></item><item><title>Another new problem when generating build agents using Packer</title><link>https://blogs.blackmarble.co.uk/rfennell/new-problem-when-generating-build-agents-using-packer-mar-2026/</link><pubDate>Fri, 13 Mar 2026 00:00:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/new-problem-when-generating-build-agents-using-packer-mar-2026/</guid><description>
&lt;h2 id="the-problem">The Problem&lt;/h2>
&lt;p>I have been using Packer to generate our Azure DevOps Build agent disk images for a while now. The advantage of &lt;a href="https://blog.richardfennell.net/posts/building-private-vsts-build-agents-using-the-microsoft-packer-based-agent-image-creation-model/">this process&lt;/a> is that our Azure DevOps self-hosted agents have the same installed software, and hence capabilities, as the Microsoft hosted ones. So it is trival to move a build pipeline from self-host agents to either Microsoft hosted agents or Managed DevOps Pools.&lt;/p>
&lt;p>However, the generation process for these agent VM images has been the gift that keeps giving and has generated a few blog posts &amp;hellip;&lt;/p></description></item><item><title>Options for Migrating DevOps Toolsets</title><link>https://blogs.blackmarble.co.uk/rfennell/options-migrating-devops-toolsets/</link><pubDate>Tue, 03 Mar 2026 00:00:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/options-migrating-devops-toolsets/</guid><description>
&lt;p>Whilst presenting on &amp;lsquo;Migrating DevOps Toolsets&amp;rsquo; at &lt;a href="https://www.dddnorth.co.uk/">DDDNorth 2026&lt;/a> last weekend, I mentioned a &lt;a href="https://tinyurl.com/azdomig">blog post &amp;amp; flowchart&lt;/a> I had created a few years ago to guide people through their options when migrating from what was then called TFS (Azure DevOps Server) to what was then called VSTS (Azure DevOps Services)&lt;/p>
&lt;p>When I got home, I thought that this old post &amp;amp; flowchart were worth bringing up to date. So, I also took the chance to make them a little more generic, making them more useful as a guide for a wider range of DevOps toolset migrations, not just Azure DevOps.&lt;/p></description></item><item><title>Unexpected 'task is dependent on a Node version that is end-of-life' warning with Azure DevOps Pipelines</title><link>https://blogs.blackmarble.co.uk/rfennell/unexpected-is-dependent-on-a-node-version-that-is-end-of-life-error/</link><pubDate>Wed, 18 Feb 2026 00:00:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/unexpected-is-dependent-on-a-node-version-that-is-end-of-life-error/</guid><description>
&lt;h1 id="background">Background&lt;/h1>
&lt;p>I have been doing the regular maintenance in our Azure DevOps Pipelines of updating the versions of tasks. This usually means you perform one of the following actions&lt;/p>
&lt;ul>
&lt;li>Just increment the major version number in the YAML e.g &lt;code>task: MyTask@1&lt;/code> to &lt;code>task: MyTask@2&lt;/code> when there is a newer version of a task available.&lt;/li>
&lt;li>If the task is out of support and abandoned, swap to a different task, one that is still being supported, that does the same action.&lt;/li>
&lt;li>Fork the out of date task, and perform the updates to bring it back into support.&lt;/li>
&lt;li>Swap to a PowerShell/Bash script that wrappers a CLI tool to do the same action - increasingly my go to solution.&lt;/li>
&lt;/ul>
&lt;p>It is a shame the first option is often not possible, but &lt;a href="https://jessehouwing.net/security-state-of-the-azure-devops-marketplace/">don&amp;rsquo;t get me, or other MVPs on the long running subject of abandoned insecure Azure DevOps extensions&lt;/a>&lt;/p></description></item><item><title>Caught out again by the cache in a build pipeline</title><link>https://blogs.blackmarble.co.uk/rfennell/caught-out-again-by-a-cache-in-a-build-pipeline/</link><pubDate>Mon, 16 Feb 2026 00:00:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/caught-out-again-by-a-cache-in-a-build-pipeline/</guid><description>
&lt;p>I have &lt;a href="https://blog.richardfennell.net/posts/interesting-side-effect-with-azdo-cache/">posted in the past&lt;/a> about the issues a misconfigured cache can have in Azure DevOps Pipelines, or GitHub Actions. Well it caught me out again today, wasting a few hours of my time.&lt;/p>
&lt;p>Today, I had a failing integration test in a CI/CD pipeline, but all the tests passed locally. The failing test was looking for a certain number of rows returned from a API with known seed test data. I had revised the seed data and my test, but in my CI/CD pipeline my test was failing as it was still looking for the old number of rows.&lt;/p></description></item><item><title>Cannot create a new Azure DevOps Agent Pool on an Azure DevOps Server</title><link>https://blogs.blackmarble.co.uk/rfennell/cannot-create-azdo-agent-pool/</link><pubDate>Wed, 21 Jan 2026 01:00:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/cannot-create-azdo-agent-pool/</guid><description>
&lt;h2 id="the-issue">The Issue&lt;/h2>
&lt;p>I recently had an issue trying to add a new Azure DevOps Pipeline Agent Pool to an existing Azure DevOps 2022 Server via the Team Project Collection Settings UI.&lt;/p>
&lt;p>When tried to add the agent pool I got the error&lt;/p>
&lt;blockquote>
&lt;p>Access denied &lt;user name> needs Manage permissions to perform this action. For more information, contact the Azure DevOps Server administrator&lt;/p>&lt;/blockquote>
&lt;p>The problem was that I was the Azure DevOps Server administrator&lt;/p></description></item><item><title>Issues parsing xUnit Test Coverage data into SonarQube</title><link>https://blogs.blackmarble.co.uk/rfennell/errors-getting-test-coverage-into-sonarqube/</link><pubDate>Wed, 21 Jan 2026 00:00:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/errors-getting-test-coverage-into-sonarqube/</guid><description>
&lt;h1 id="the-issue">The Issue&lt;/h1>
&lt;p>I have been chasing what it turned out to be a non-existent fault when trying to ingest test code coverage data into our SonarQube instance.&lt;/p>
&lt;p>I saw my &amp;lsquo;problem&amp;rsquo; in a .NET 8.0 solution with XUnit v3 based unit tests, this solution was being built using this Azure DevOps Pipelines YAML&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-yaml" data-lang="yaml">&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>- &lt;span class="nt">task&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="l">SonarQubePrepare@7&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">inputs&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">SonarQube&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="s2">&amp;#34;SonarQube&amp;#34;&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">scannerMode&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="s2">&amp;#34;dotnet&amp;#34;&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">jdkversion&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="s2">&amp;#34;JAVA_HOME_17_X64&amp;#34;&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">projectKey&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="s2">&amp;#34;${&lt;wbr>{ parameters.sonarQubeProjectKey }}&amp;#34;&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">projectName&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="s2">&amp;#34;${&lt;wbr>{ parameters.sonarQubeProjectName }}&amp;#34;&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">projectVersion&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="s2">&amp;#34;$(GitVersion_Major).$(GitVersion_Minor)&amp;#34;&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">extraProperties&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="p">|&lt;/span>&lt;span class="sd">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="sd"> # Additional properties that will be passed to the scanner,
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="sd"> # Put one key=value per line, example:
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="sd"> sonar.cpd.exclusions=**/AssemblyInfo.cs,**/*.g.cs
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="sd"> # Ingest the test results and coverage data
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="sd"> sonar.cs.vscoveragexml.reportsPaths=$(Agent.TempDirectory)/**/*.coveragexml
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="sd"> sonar.cs.vstest.reportsPaths=$(Agent.TempDirectory)/**/*.trx&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>- &lt;span class="nt">task&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="l">DotNetCoreCLI@2&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">displayName&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="s2">&amp;#34;.NET Build&amp;#34;&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">inputs&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">command&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="s2">&amp;#34;build&amp;#34;&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">arguments&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="p">&amp;gt;&lt;/span>&lt;span class="sd">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="sd"> --configuration ${&lt;wbr>{ parameters.buildConfiguration }}
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="sd"> --no-restore&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">projects&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="s2">&amp;#34;$(Build.SourcesDirectory)/src/MySolution.sln&amp;#34;&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>- &lt;span class="nt">task&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="l">DotNetCoreCLI@2&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">displayName&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="s2">&amp;#34;.NET Test&amp;#34;&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">inputs&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">command&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="s2">&amp;#34;test&amp;#34;&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">projects&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="s2">&amp;#34;$(Build.SourcesDirectory)/src/MySolution.sln&amp;#34;&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">arguments&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="p">&amp;gt;&lt;/span>&lt;span class="sd">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="sd"> --configuration ${&lt;wbr>{ parameters.buildConfiguration }}
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="sd"> --collect &amp;#34;Code coverage&amp;#34;
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="sd"> --no-restore
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="sd"> --no-build&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>- &lt;span class="nt">task&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="l">SonarQubeAnalyze@7&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">displayName&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="s1">&amp;#39;Complete the SonarQube analysis&amp;#39;&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">inputs&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">jdkversion&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="s2">&amp;#34;JAVA_HOME_17_X64&amp;#34;&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>- &lt;span class="nt">task&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="l">SonarQubePublish@7&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">displayName&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="s1">&amp;#39;Publish Quality Gate Result&amp;#39;&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">inputs&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">pollingTimeoutSec&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="s2">&amp;#34;300&amp;#34;&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>At the start of the &lt;code>SonarQubeAnalyze@7&lt;/code> task log I could see that the &lt;code>.coverage&lt;/code> file was found and converted into a &lt;code>.coveragexml&lt;/code> file. However, there were multiple &amp;lsquo;The device is not ready&amp;rsquo; errors when parsing this file later in the process.&lt;/p></description></item><item><title>Updating powerBI connections after a SQL migration</title><link>https://blogs.blackmarble.co.uk/rfennell/updating-powerbi-db-connections/</link><pubDate>Thu, 15 Jan 2026 00:00:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/updating-powerbi-db-connections/</guid><description>
&lt;h1 id="the-issue">The Issue&lt;/h1>
&lt;p>I have some long standing PowerBI reports that I use for summarizing project data. They use a variety of data sources, including Azure hosted SQL instances. I recently moved the Azure hosted SQL databases to a new instance as part of a major tidy up of my Azure resources. This of course caused my reports to break.&lt;/p>
&lt;p>I thought swapping the SQL connection details in PowerBI would be easy, and I guess it was, but it took me too long to work out how.&lt;/p></description></item><item><title>Updating a project's SonarQube and OWASP Dependency Checker Plugin Configuration</title><link>https://blogs.blackmarble.co.uk/rfennell/updating-our-sonarqube-configuration/</link><pubDate>Thu, 08 Jan 2026 00:00:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/updating-our-sonarqube-configuration/</guid><description>
&lt;h1 id="the-issue">The Issue&lt;/h1>
&lt;p>We have used &lt;a href="https://www.sonarsource.com/products/sonarqube/">SonarQube&lt;/a> and the &lt;a href="https://github.com/dependency-check/dependency-check-sonar-plugin">OWASP Dependency Checker Plugin&lt;/a> for many years to perform analysis and vulnerability checking within our Azure DevOps Pipelines.&lt;/p>
&lt;p>Recently, whilst picking up an old project for a new phase of development, I came across a couple of problems due to changes in both tools since the project CI/CD pipelines were last run.&lt;/p>
&lt;ul>
&lt;li>The OWASP Dependency Checker vulnerabilities were not appearing in SonarQube as issues&lt;/li>
&lt;li>The OWASP Dependency Checker HTML report could not (always) be loaded in SonarQube&lt;/li>
&lt;/ul>
&lt;p>The issues were just down to changes in both tools over time. It just goes to show that you can&amp;rsquo;t just setup a CI/CD system and expect it work forever, changes are always being introduced in cloud based tools.&lt;/p></description></item><item><title>Grey Matter Podcast 'Secure by design: The DevSecOps mindset'</title><link>https://blogs.blackmarble.co.uk/rfennell/grey-matter-nov25-podcast/</link><pubDate>Fri, 28 Nov 2025 00:00:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/grey-matter-nov25-podcast/</guid><description>
&lt;p>Another podcast I recently recorded with our friends at &lt;a href="https://greymatter.com/">Grey Matter&lt;/a> has just been published &lt;a href="https://shows.acast.com/the-grey-matter-podcast/episodes/secure-by-design-the-devsecops-mindset">Secure by design: The DevSecOps mindset&lt;/a>&lt;/p>
&lt;p>&lt;a href="https://shows.acast.com/the-grey-matter-podcast/episodes/secure-by-design-the-devsecops-mindset">&lt;img alt="Podcast image" loading="lazy" src="https://open-images.acast.com/shows/65b7c372124cd20018028989/1764241771965-f008e476-919a-4f4d-ba50-fe2b4cc4601d.jpeg?height=750">&lt;/a>&lt;/p>
&lt;p>&lt;strong>For the original version of this post see Richard Fennell's personal blog at &lt;a href="https://blog.richardfennell.net/posts/grey-matter-nov25-podcast/">Grey Matter Podcast 'Secure by design: The DevSecOps mindset'&lt;/a>&lt;/strong>&lt;/p></description></item><item><title>Interesting side effect with the Azure DevOps cache if misconfigured</title><link>https://blogs.blackmarble.co.uk/rfennell/interesting-side-effect-with-azdo-cache/</link><pubDate>Fri, 31 Oct 2025 00:00:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/interesting-side-effect-with-azdo-cache/</guid><description>
&lt;p>I recently came across an interesting side effect with the Azure DevOps cache task if its settings are not correctly configured. One that caused me to get somewhat confused before I realised what had occurred.&lt;/p>
&lt;h1 id="the-problem">The Problem&lt;/h1>
&lt;p>I had a working pipeline that as part of its build process ran the &lt;a href="https://marketplace.visualstudio.com/items?itemName=dependency-check.dependencycheck">OWASP Dependency Checker task&lt;/a>. This can be slow to run as it has to download the current vulnerability database. To try to speed my builds I have been using the &lt;a href="https://learn.microsoft.com/en-us/azure/devops/pipelines/tasks/reference/cache-v2?view=azure-pipelines">cache task&lt;/a> to cache the current pipeline run&amp;rsquo;s downloaded vulnerability database, so on the next run the vast majority of the database is already downloaded.&lt;/p></description></item><item><title>Getting a Surface Hub v1 Working with a Replacement PC</title><link>https://blogs.blackmarble.co.uk/rfennell/getting_a_surfacehub_working_with_a_replacement_pc/</link><pubDate>Tue, 28 Oct 2025 00:00:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/getting_a_surfacehub_working_with_a_replacement_pc/</guid><description>
&lt;blockquote>
&lt;p>&lt;strong>Updated 30-Oct-2025&lt;/strong> Added more details on Screen Refresh Rate and Teams Room App&lt;/p>&lt;/blockquote>
&lt;h1 id="the-problem">The Problem&lt;/h1>
&lt;p>We have owned a Surface Hub v1 for a number of years, and it has served us well. However, with Microsoft ending support for Windows 10 it was in danger of becoming a large piece of sculpture in the office. This is not just because we did not want to run a Windows 10 device when security patches were not available, but that the embedded version of Teams would not even load.&lt;/p></description></item><item><title>Changing mySql SSL Certificates when running SnipeIT in Azure</title><link>https://blogs.blackmarble.co.uk/rfennell/mysql-cert-changes-and-snipeit-in-azure/</link><pubDate>Mon, 22 Sep 2025 00:00:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/mysql-cert-changes-and-snipeit-in-azure/</guid><description>
&lt;h1 id="the-issue">The Issue&lt;/h1>
&lt;p>I have previously &lt;a href="https://blogs.blackmarble.co.uk/rfennell/setting-up-snipe-it-on-azure">posted&lt;/a> about settings up &lt;a href="https://github.com/grokability/snipe-it">Snipe IT&lt;/a> on Azure using a Docker container running in an Azure WebApp with a MySQL DB.&lt;/p>
&lt;p>I recently had to revisit my setup as the site was failing to load with a DB connection failure. The issue was that the SSL certificate chain used by Microsoft for their hosted MySQL service had changed and my settings needed to be updated&lt;/p>
&lt;h1 id="the-solution">The Solution&lt;/h1>
&lt;ol>
&lt;li>In te Azure Portal find your MySQL instance and select the networking blade, click the &amp;lsquo;Download SSL Certificate&amp;rsquo; link, you are taken to &lt;a href="https://learn.microsoft.com/en-us/azure/mysql/flexible-server/.how-to-connect-tls-ssl#download-the-public-ssl-certificate">learn.microsoft.com&lt;/a>
. Download the &lt;a href="https://cacerts.digicert.com/DigiCertGlobalRootG2.crt.pem">DigiCert Global Root G2 certificate&lt;/a> and the &lt;a href="https://www.microsoft.com/pkiops/certs/Microsoft%20RSA%20Root%20Certificate%20Authority%202017.crt">Microsoft RSA Root Certificate Authority 2017 certificate&lt;/a>&lt;/li>
&lt;li>You &lt;a href="https://learn.microsoft.com/en-us/azure/mysql/flexible-server/concepts-root-certificate-rotation#steps">need to combine these certificates&lt;/a> i.e. put the base64 coded versions of each in a single text file.&lt;/li>
&lt;/ol>
&lt;blockquote>
&lt;pre tabindex="0">&lt;code>-----BEGIN CERTIFICATE-----
(Content from DigiCertGlobalRootCA.crt.pem)
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
(Content from DigiCertGlobalRootG2.crt.pem)
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
(Content from MicrosoftRSARootCertificateAuthority2017.crt.pem)
-----END CERTIFICATE-----
&lt;/code>&lt;/pre>&lt;/blockquote>
&lt;ol start="3">
&lt;li>SO, I downloaded the &lt;code>DigiCertGlobalRootCA.crt.pem&lt;/code> file I was using previously from my Snipe IT&amp;rsquo;s Azure File Storage and opened it in a text editor (the first block)&lt;/li>
&lt;li>I then appended the contents of &lt;code>DigiCertGlobalRootG2.crt.pem&lt;/code> to this file (the second block)&lt;/li>
&lt;li>Before I could do the same with the &lt;code>Microsoft RSA Root Certificate Authority 2017.crt&lt;/code> file I had to import the .CRT file onto my local Windows machine, then export it is a Base64 encoded file. Once this was done, this too could be add to the &lt;code>DigiCertGlobalRootCA.crt.pem&lt;/code> file (the third block)&lt;/li>
&lt;li>Once all the edits were made I save the edited file and uploaded it into the Azure Storage to overwrite the old version. This avoid the need to edit any other configuration settings that referenced the certificate file name.&lt;/li>
&lt;/ol>
&lt;p>Once this was done my Snipe IT instance loaded as expected.&lt;/p></description></item><item><title>Another confusing Azure DevOps Pipelines YAML error message using StringList parameters</title><link>https://blogs.blackmarble.co.uk/rfennell/another-confusing-ado-pipelines-yaml-error-message/</link><pubDate>Tue, 02 Sep 2025 00:00:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/another-confusing-ado-pipelines-yaml-error-message/</guid><description>
&lt;h1 id="introduction">Introduction&lt;/h1>
&lt;p>The recent addition to Azure DevOps of the &lt;a href="https://learn.microsoft.com/en-us/azure/devops/release-notes/2025/sprint-257-update#stringlist-parameter-type">&lt;code>StringList&lt;/code> parameter type&lt;/a> can be really useful to dynamically create parallel stages or jobs in an Azure DevOps YAML pipeline.&lt;/p>
&lt;p>A &lt;code>StringList&lt;/code> parameter can be used to present a list of values to the user queuing a pipeline run, thus allowing the selection of one or more values that can be accessed using a YAML expression loop.&lt;/p>
&lt;p>This can be combined with YAML templates, where the &lt;code>StringList&lt;/code> is passed into a template as an &lt;code>Object&lt;/code>. Noting that you can&amp;rsquo;t use the &lt;code>StringList&lt;/code> type for a parameter type in the template definition. However, this is not a problem as there is a dynamic conversion from &lt;code>StringList&lt;/code> to &lt;code>Object&lt;/code> e.g.&lt;/p></description></item><item><title>Finally I have working SONOFF SNZB-02P sensors with Home Assistant</title><link>https://blogs.blackmarble.co.uk/rfennell/finally-have-working-temperature-sensors-with-ha/</link><pubDate>Fri, 22 Aug 2025 00:00:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/finally-have-working-temperature-sensors-with-ha/</guid><description>
&lt;p>&lt;img alt="SONOFF Sensors" loading="lazy" src="https://blog.richardfennell.net/images/rfennell/ha-sensors.png">&lt;/p>
&lt;p>A while ago I &lt;a href="https://blog.richardfennell.net/posts/late-to-the-game-with-homeassistant/">posted about starting to use Home Assistant&lt;/a>. This has been working well for monitoring our &lt;a href="https://github.com/binsentsu/home-assistant-solaredge-modbus/wiki/Using-Templated-Sensors-to-Calculate-Power-Flow-and-Energy">SolarEdge PV and Battery system&lt;/a>, controlling if we should charge the battery with cheap overnight power if there has not been enough sun to fully charge the battery.&lt;/p>
&lt;p>Bitten by the Home Assistant bug, I decided I wanted to add more sensors to the systems, so bought some cheap Zigbee equipment from AliExpress&lt;/p></description></item><item><title>Your out of support DevOps tooling is hurting you</title><link>https://blogs.blackmarble.co.uk/rfennell/your-out-of-support-devops-tooling-is-hurting-you/</link><pubDate>Mon, 18 Aug 2025 00:00:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/your-out-of-support-devops-tooling-is-hurting-you/</guid><description>
&lt;blockquote>
&lt;p>&lt;em>Note that this is a repost of my &lt;a href="https://www.linkedin.com/pulse/your-out-support-devops-tooling-hurting-you-richard-fennell-z8wme/">LinkedIn article&lt;/a> of the same name&lt;/em>&lt;/p>&lt;/blockquote>
&lt;h1 id="the-changing-face-of-devops">The changing face of DevOps&lt;/h1>
&lt;p>Over the years the style of DevOps consultancy I have done has changed, along with its name. Changing from the simple &amp;lsquo;source control&amp;rsquo;, to SDLC, then ALM to now DevOps.&lt;/p>
&lt;p>Back in the days of Team Foundation Server (TFS), I used to do a lot of on-premise installs and upgrades. Getting our customers up and running, and helping them improve their adoption of the tools.&lt;/p></description></item><item><title>Recent Grey Matter Events</title><link>https://blogs.blackmarble.co.uk/rfennell/grey-matter-events/</link><pubDate>Tue, 12 Aug 2025 00:00:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/grey-matter-events/</guid><description>
&lt;p>&lt;img alt="Grey Matter logo" loading="lazy" src="https://greymatter.com/wp-content/uploads/2025/01/greymatter-logo-25.svg">&lt;/p>
&lt;p>I have recently done a couple of streamable events with our friends at &lt;a href="https://greymatter.com/">Grey Matter&lt;/a>. Both are now available to enjoy on demand:&lt;/p>
&lt;ul>
&lt;li>&lt;a href="https://shows.acast.com/the-grey-matter-podcast/episodes/inside-github">Grey Matter Talks Tech podcast &amp;lsquo;Inside GitHub: The Platform Powering Open Sources&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://event.on24.com/eventRegistration/console/apollox/mainEvent?&amp;amp;eventid=4997493&amp;amp;sessionid=1&amp;amp;username=&amp;amp;partnerref=&amp;amp;format=fhvideo1&amp;amp;mobile=&amp;amp;flashsupportedmobiledevice=&amp;amp;helpcenter=&amp;amp;key=925FBA53595C0B90D262F5B1A9C917B3&amp;amp;newConsole=true&amp;amp;nxChe=true&amp;amp;newTabCon=true&amp;amp;consoleEarEventConsole=true&amp;amp;consoleEarCloudApi=false&amp;amp;text_language_id=en&amp;amp;playerwidth=748&amp;amp;playerheight=526&amp;amp;eventuserid=770896916&amp;amp;contenttype=A&amp;amp;mediametricsessionid=662933860&amp;amp;mediametricid=7020330&amp;amp;usercd=770896916&amp;amp;mode=launch">Grey Matter&amp;rsquo;s on-demand Webinar &amp;lsquo;Inside the Developer&amp;rsquo;s Toolkit&amp;rsquo;&lt;/a> with &lt;a href="https://www.jetbrains.com/">JetBrains&lt;/a> and &lt;a href="https://smartbear.com/">SmartBear&lt;/a>&lt;/li>
&lt;/ul>
&lt;p>If these sort of subjects are on interest, why not come to an in person event?&lt;/p>
&lt;p>I am speaking, as may other great speakers including my colleague &lt;a href="https://blogs.blackmarble.co.uk/awilson/">Andrew Wilson&lt;/a>, at &lt;a href="https://greymatter.com/grey-matter-tech-summit/">Grey Matter&amp;rsquo;s Tech Summit&lt;/a> in London on the 24th of September, and best news of all it is free.&lt;/p></description></item><item><title>Why can't I see my Lenovo Thunderbolt 3 Dock?</title><link>https://blogs.blackmarble.co.uk/rfennell/why-cant-i-see-my-thunderbolt-dock/</link><pubDate>Thu, 31 Jul 2025 00:00:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/why-cant-i-see-my-thunderbolt-dock/</guid><description>
&lt;h1 id="the-problem">The Problem&lt;/h1>
&lt;p>I recently rebuild my trusty Lenovo X1 Carbon laptop. As you usually find, a fresh install of Windows 11 meant a leap in performance.&lt;/p>
&lt;p>All was good for a couple of weeks, until I started to get problems. It still was working to supply power and the HDMI connection to my external monitor worked, but the USB devices could not be seen.&lt;/p>
&lt;p>I also checked with the &lt;a href="https://support.lenovo.com/us/en/solutions/nvid500262-lenovo-dock-manager-overview">Lenovo Dock Manager&lt;/a> and it could now no longer see the dock.&lt;/p></description></item><item><title>Creating a GitHub App based Azure DevOps Pipelines Service Connection</title><link>https://blogs.blackmarble.co.uk/rfennell/setting-up-github-app-ado-service-connection-on-another-org/</link><pubDate>Wed, 30 Jul 2025 00:00:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/setting-up-github-app-ado-service-connection-on-another-org/</guid><description>
&lt;h1 id="the-problem">The Problem&lt;/h1>
&lt;p>The &lt;a href="https://github.com/marketplace/azure-pipelines">GitHub &amp;lsquo;Azure Pipelines&amp;rsquo; App&lt;/a> enables some really interesting &amp;lsquo;better together&amp;rsquo; scenarios mixing the usage of Azure DevOps Pipelines for CI/CD processes while your source is stored on GitHub. It is particularly useful if an enterprise is migrating towards GitHub Enterprise over a period of time, maybe using &lt;a href="https://docs.github.com/en/enterprise-cloud@latest/migrations/using-github-enterprise-importer/migrating-from-azure-devops-to-github-enterprise-cloud/migrating-repositories-from-azure-devops-to-github-enterprise-cloud">GitHub Enterprise Importer (GEI)&lt;/a> to do the migration.&lt;/p>
&lt;p>I was recently working on such a migration for a client that involved numerous Azure DevOps organisations. In the past someone had setup the GitHub &amp;lsquo;Azure Pipelines&amp;rsquo; App on their GitHub organisation and got it working with one of their Azure DevOps organisation.&lt;/p></description></item><item><title>A GitHub Actions equivalent to Azure DevOps Pipelines $(rev:r) revisions</title><link>https://blogs.blackmarble.co.uk/rfennell/github-actions-equivalent-to-ado-revisions/</link><pubDate>Tue, 17 Jun 2025 00:00:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/github-actions-equivalent-to-ado-revisions/</guid><description>
&lt;h1 id="the-issue">The Issue&lt;/h1>
&lt;p>In Azure DevOps Pipelines there is a feature to dynamically configure the build number e.g. at the top of a YAML build add the following to get a version in the form 1.2.25123.1&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-yml" data-lang="yml">&lt;span class="line">&lt;span class="cl">&lt;span class="nt">name&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="l">$(major).$(minor).$(year:YY)$(dayofyear).$(rev:r)&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;ul>
&lt;li>&lt;code>Major&lt;/code> &amp;amp; &lt;code>Minor&lt;/code> are user created and managed variables&lt;/li>
&lt;li>&lt;code>Year&lt;/code>, &lt;code>Dayofyear&lt;/code> and &lt;code>Rev&lt;/code> are built in Azure DevOps pre-defined variables. The first two are obviously based on the current date, the &lt;code>rev&lt;/code> is the number of times a pipeline has been run on the current date.&lt;/li>
&lt;/ul>
&lt;p>The problem is that there is no equivalent feature to &lt;code>name&lt;/code> in GitHub Actions as build names/numbers are not really a thing in Actions.&lt;/p></description></item><item><title>Problems migrating Non-English Azure DevOps Servers to Azure DevOps Services and how to solve them</title><link>https://blogs.blackmarble.co.uk/rfennell/problems-migrating-non-english-ado-server-to-azure/</link><pubDate>Fri, 13 Jun 2025 00:00:01 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/problems-migrating-non-english-ado-server-to-azure/</guid><description>
&lt;h1 id="introduction">Introduction&lt;/h1>
&lt;p>Over the years, I have been involved in numerous migrations of TFS/Azure DevOps Server from on-premises servers to the cloud hosted Azure DevOps Services using the &lt;a href="https://learn.microsoft.com/en-us/azure/devops/migrate/migration-overview?view=azure-devops#option-2-azure-devops-data-migration-tool">Microsoft Azure DevOps Data Migration Tool&lt;/a>. As long as you carefully followed the instructions, the process was relatively straightforward.&lt;/p>
&lt;p>I was recently involved in a cloud migration of a set of non-English Azure DevOps Servers i.e. the Azure DevOps Servers had been installed in French not English. Migrating these servers to Azure DevOps Services proved a challenge.&lt;/p></description></item><item><title>Using GitHub Copilot to write an Azure DevOps Test Plan Export Tool</title><link>https://blogs.blackmarble.co.uk/rfennell/using-copilot-to-write-an-azure-devops-export-tool/</link><pubDate>Wed, 28 May 2025 00:00:01 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/using-copilot-to-write-an-azure-devops-export-tool/</guid><description>
&lt;h1 id="introduction">Introduction&lt;/h1>
&lt;p>I got asked today by a client if there was a way to automate the exporting Azure DevOps Test Plans to Excel files. They knew they could do it manually via the Azure DevOps UI, but had a lot of Test Plans to export and wanted to automate the process.&lt;/p>
&lt;h1 id="the-options">The Options&lt;/h1>
&lt;p>I considered a few options:&lt;/p>
&lt;ul>
&lt;li>&lt;a href="https://learn.microsoft.com/en-us/azure/devops/test/test-case-managment-reference?view=azure-devops">TCM CLI&lt;/a> - This is a command line tool that can be used to interact with Azure DevOps Test Plans. It can be used to import or clone Test Plans, but not to export them.&lt;/li>
&lt;li>&lt;a href="https://learn.microsoft.com/en-us/cli/azure/devops?view=azure-cli-latest">AZ DEVOPS CLI&lt;/a> - This is a command line tool that can be used to interact with Azure DevOps. Unfortunately, it does not have any commands to export Test Plans.&lt;/li>
&lt;li>&lt;a href="https://learn.microsoft.com/en-us/rest/api/azure/devops/?view=azure-devops-rest-7.2">Azure DevOps REST API&lt;/a> - This is a powerful API that can be used to interact with Azure DevOps, but the documentation makes no mention of a call to export Test Plans.&lt;/li>
&lt;/ul>
&lt;p>But&amp;hellip;..&lt;/p></description></item><item><title>Presenting at Black Marble event GitHub Copilot how to harness the power of AI for Developers'</title><link>https://blogs.blackmarble.co.uk/rfennell/bm-github-copilot-event/</link><pubDate>Wed, 21 May 2025 00:00:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/bm-github-copilot-event/</guid><description>
&lt;p>There has been much talk at the &lt;a href="https://build.microsoft.com/en-US/home">Microsoft Build&lt;/a> conference of the new agentic world, where you get AI agents to perform tasks on your behalf. This could be in your Enterprise applications, but also in the DevOps process that you use to create these new AI aware applications.&lt;/p>
&lt;p>This can all seem a bit &amp;lsquo;in the future&amp;rsquo;, but it is a future that is arriving rapidly, and one that will make for a seismic change in what it means to be in a development team.&lt;/p></description></item><item><title>Experiences Migrating CI/CD solutions with GitHub Copilot</title><link>https://blogs.blackmarble.co.uk/rfennell/experiences-migrating-cicd-with-copilot/</link><pubDate>Fri, 09 May 2025 00:00:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/experiences-migrating-cicd-with-copilot/</guid><description>
&lt;h2 id="introduction">Introduction&lt;/h2>
&lt;p>I have recently been swapping some Azure DevOps Pipelines to GitHub Actions as part of a large GitHub Enterprise migration. The primary tool I have been using for this is GitHub Copilot in the new &lt;a href="https://code.visualstudio.com/blogs/2025/02/24/introducing-copilot-agent-mode">Agent Mode&lt;/a>&lt;/p>
&lt;p>Frankly, Copilot is like magic, it is amazing how close it gets to a valid solution. I say this after suffering years of undelivered marketing promises of no-code &amp;ldquo;we won&amp;rsquo;t need developers in the future&amp;rdquo;.&lt;/p></description></item><item><title>You need to wait longer when restarting Logic Apps</title><link>https://blogs.blackmarble.co.uk/rfennell/you-need-to-wait-longer-when-restarting-logic-apps/</link><pubDate>Tue, 25 Mar 2025 00:00:01 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/you-need-to-wait-longer-when-restarting-logic-apps/</guid><description>
&lt;p>I have been doing some work one a Logic Apps that routes its traffic out via a vNet and accesses its underlying &lt;a href="https://learn.microsoft.com/en-us/azure/storage/common/storage-private-endpoints">Storage Account via private endpoints&lt;/a>. &amp;lsquo;Nothing that special in that configuration&amp;rsquo; I hear you saying, but I did manage to confuse myself whilst testing.&lt;/p>
&lt;p>After changing my configuration of the vNet, I restarted the Logic App to make sure everything was working as expected on startup.&lt;/p>
&lt;p>The Logic App appeared to start within a few seconds, the Overview pane in the Azure Portal showing the correct values.&lt;/p></description></item><item><title>Why cannot I see my Logic App action output?</title><link>https://blogs.blackmarble.co.uk/rfennell/why-cant-i-see-my-logic-app-action-output/</link><pubDate>Sat, 15 Mar 2025 00:00:01 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/why-cant-i-see-my-logic-app-action-output/</guid><description>
&lt;h1 id="the-problem">The Problem&lt;/h1>
&lt;p>I recently was debugging an &lt;a href="https://learn.microsoft.com/en-us/azure/logic-apps/add-run-powershell-scripts#:~:text=To%20perform%20custom%20integration%20tasks%20inline%20with%20your,the%20Inline%20Code%20action%20named%20Execute%20PowerShell%20Code.">Execute PowerShell Code&lt;/a> Logic App action, so wanted to see it&amp;rsquo;s output. However, when I reviewed the run history, the output for my code action was empty.&lt;/p>
&lt;p>&lt;img alt="No Output" loading="lazy" src="https://blog.richardfennell.net/images/rfennell/logic-app-actions-output-bad.png">&lt;/p>
&lt;h1 id="the-cause-and-solution">The Cause (and Solution)&lt;/h1>
&lt;p>The problem turned out to be that the Logic App&amp;rsquo;s Inbound traffic configuration. You can replicate this issue easily&lt;/p>
&lt;ol>
&lt;li>Create a new Logic App Workflow, use any trigger and then add an &lt;code>Execute PowerShell Code&lt;/code> action, you don&amp;rsquo;t need to edit the default code sample.&lt;/li>
&lt;li>Save the new Action and then run it.&lt;/li>
&lt;li>Review the run history and you&amp;rsquo;ll see that the output as expected.
&lt;img alt="Output Shown" loading="lazy" src="https://blog.richardfennell.net/images/rfennell/logic-app-actions-output-good.png">&lt;/li>
&lt;li>Next, change the Logic App&amp;rsquo;s &amp;lsquo;Inbound traffic configuration &amp;gt; Public Network Access&amp;rsquo; to &amp;lsquo;Disabled&amp;rsquo; and run the Logic App again, and the output now cannot be seen, as shown above.&lt;/li>
&lt;/ol>
&lt;p>You are actually warned about this in the Azure Portal the first time you view a run history the settings that block it&lt;/p></description></item><item><title>Parsing CSV files in Azure Logic Apps</title><link>https://blogs.blackmarble.co.uk/rfennell/parsing-csv-file-in-logic-apps/</link><pubDate>Wed, 05 Mar 2025 00:00:01 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/parsing-csv-file-in-logic-apps/</guid><description>
&lt;h1 id="the-problem">The Problem&lt;/h1>
&lt;p>I recently had the need in an Azure Logic App to read a CSV file from an Azure Storage account, parse the file, and then process the data row by row.&lt;/p>
&lt;p>Unfortunately, there is no built-in action in Logic Apps to parse CSV files.&lt;/p>
&lt;p>So as to avoid having to write an Azure function, or use a number of slow, low level Logic App actions, I decided to use the &lt;a href="https://learn.microsoft.com/en-us/azure/logic-apps/add-run-powershell-scripts">PowershellCode&lt;/a> action to parse the CSV file quickly inline with the rest of the Logic App.&lt;/p></description></item><item><title>I know I am late to the game with Home Assistant....</title><link>https://blogs.blackmarble.co.uk/rfennell/late-to-the-game-with-homeassistant/</link><pubDate>Thu, 20 Feb 2025 00:00:01 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/late-to-the-game-with-homeassistant/</guid><description>
&lt;p>Since moving house a couple of years ago, I have gained an ever increasing set of apps on my phone to manage various things, such the &lt;a href="https://www.solaredge.com/uk/home/solaredge-home">Solaredge&lt;/a> PV and battery system we installed and our &lt;a href="https://share.octopus.energy/fawn-may-441">Octopus Energy&lt;/a> account, to name but two.&lt;/p>
&lt;p>In the past, I had avoided IOT and the &amp;lsquo;Intelligent Home&amp;rsquo; as I did not want to get to the point where &amp;lsquo;I can&amp;rsquo;t do the washing up, the Internet is down&amp;rsquo;. However, I recently got sent an &lt;a href="https://octopus.energy/blog/octopus-home-mini/">Octopus Mini&lt;/a> which meant for the first time I could get real time information from their API, so no longer needing to wait until my Smart Meter got around to transferring data to them, which could be up to 48 hours later.&lt;/p></description></item><item><title>What are my options authenticating the az devops CLI?</title><link>https://blogs.blackmarble.co.uk/rfennell/what-are-my-options-authenticating-az-devops-api/</link><pubDate>Fri, 31 Jan 2025 00:00:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/what-are-my-options-authenticating-az-devops-api/</guid><description>
&lt;blockquote>
&lt;p>&lt;strong>Edited:&lt;/strong> 4th Feb 2025 to add detail on Azure DevOps Pipelines Service Connection&lt;/p>&lt;/blockquote>
&lt;h1 id="introduction">Introduction&lt;/h1>
&lt;p>When automating administration tasks via scripts in Azure DevOps in the past I would have commonly used the &lt;a href="https://learn.microsoft.com/en-us/rest/api/azure/devops/?view=azure-devops-rest-7.2">Azure DevOps REST API&lt;/a>. However, today I tend to favour the &lt;a href="https://learn.microsoft.com/en-us/azure/devops/cli/?view=azure-devops">Azure DevOps CLI&lt;/a>. The reason for this is that the CLI wrappers the REST API in such a way that it is easier to use and more consistent.&lt;/p></description></item><item><title>Passing Azure DevOps WI field names in PowerShell to Az DevOps CLI as variables</title><link>https://blogs.blackmarble.co.uk/rfennell/passing-ado-wi-fieldnames-in-powershell-to-azcli/</link><pubDate>Mon, 27 Jan 2025 00:00:01 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/passing-ado-wi-fieldnames-in-powershell-to-azcli/</guid><description>
&lt;h2 id="the-issue">The Issue&lt;/h2>
&lt;p>The Azure DevOps CLI command &lt;a href="https://learn.microsoft.com/en-us/cli/azure/boards/work-item?view=azure-cli-latest#az-boards-work-item-update">az boards work-item update&lt;/a> can take a list of fields as a set if value pairs e.g.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-ps" data-lang="ps">&lt;span class="line">&lt;span class="cl">&lt;span class="nf">az&lt;/span> &lt;span class="nf">boards&lt;/span> &lt;span class="nf">work-item&lt;/span> &lt;span class="nf">update&lt;/span> &lt;span class="nf">--id&lt;/span> &lt;span class="mf">123&lt;/span> &lt;span class="nf">--fields&lt;/span> &lt;span class="nf">Microsoft.VSTS.Scheduling.Effort=10&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>However, if you try to replace the field name with a variable in PowerShell like this&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-ps" data-lang="ps">&lt;span class="line">&lt;span class="cl">&lt;span class="nf">$fieldname&lt;/span> &lt;span class="nf">=&lt;/span> &lt;span class="nf">&amp;#34;Microsoft.VSTS.Scheduling.Effort&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nf">az&lt;/span> &lt;span class="nf">boards&lt;/span> &lt;span class="nf">work-item&lt;/span> &lt;span class="nf">update&lt;/span> &lt;span class="nf">--id&lt;/span> &lt;span class="mf">123&lt;/span> &lt;span class="nf">--fields&lt;/span> &lt;span class="nf">$fieldname=10&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>you will get an error like this&lt;/p>
&lt;blockquote>
&lt;p>The &amp;ndash;fields argument should consist of space separated &amp;ldquo;field=value&amp;rdquo; pairs.&lt;/p>&lt;/blockquote>
&lt;h2 id="the-solution">The Solution&lt;/h2>
&lt;p>The solution is simple, and the same one required if you wish to pass multiple fields into the command, you need to wrapper the set of key value pairs for the fields in quotes e.g.&lt;/p></description></item><item><title>Signing files in GitHub Actions</title><link>https://blogs.blackmarble.co.uk/rfennell/signing-files-in-github-actions/</link><pubDate>Mon, 20 Jan 2025 00:00:01 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/signing-files-in-github-actions/</guid><description>
&lt;h1 id="background">Background&lt;/h1>
&lt;p>I recently &lt;a href="https://blogs.blackmarble.co.uk/rfennell/why-cant-i-digitally-sign-files-in-my-pipeline/">wrote about the changes&lt;/a> I had had to make to our Azure DevOps pipelines to address the changes required when code signing with a new DigiCert certificate due to new &lt;a href="https://knowledge.digicert.com/general-information/new-private-key-storage-requirement-for-standard-code-signing-certificates-november-2022">private key storage requirements for Code Signing certificates&lt;/a>&lt;/p>
&lt;p>Today I had to do the same for a GitHub Actions pipeline. The process is very similar, but there are a few differences in the syntax and the way the secrets are stored.&lt;/p></description></item><item><title>Re-authenticating Microsoft Authenticator after swapping your phone</title><link>https://blogs.blackmarble.co.uk/rfennell/re-authenticating-mfa-after-swapping-your-phone/</link><pubDate>Mon, 20 Jan 2025 00:00:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/re-authenticating-mfa-after-swapping-your-phone/</guid><description>
&lt;blockquote>
&lt;p>This one of those posts that is more a note to self as I keep forgetting how to do this, but I hope it helps others.&lt;/p>&lt;/blockquote>
&lt;h1 id="background">Background&lt;/h1>
&lt;p>I use &lt;a href="https://www.microsoft.com/en-gb/security/mobile-authenticator-app">Microsoft&amp;rsquo;s Authenticator&lt;/a> to provide MFA on a number of accounts. I recently swapped my Android phone and had to, after restoring a backup, re-authenticate some accounts on the new device.&lt;/p>
&lt;p>This was a simple process for most accounts, just a case of validating the code generated by the new device, but I had a problem with the entries where my Black Marble Entra ID account was &lt;a href="https://learn.microsoft.com/en-us/entra/external-id/b2b-quickstart-add-guest-users-portal">a guest&lt;/a> in other company&amp;rsquo;s Entra ID directories.&lt;/p></description></item><item><title>Why am I getting no private key is available error when I try to digitally sign files in my Azure DevOps Pipeline?</title><link>https://blogs.blackmarble.co.uk/rfennell/why-cant-i-digitally-sign-files-in-my-pipeline/</link><pubDate>Wed, 11 Dec 2024 00:00:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/why-cant-i-digitally-sign-files-in-my-pipeline/</guid><description>
&lt;h1 id="background">Background&lt;/h1>
&lt;p>It is becoming increasingly important to sign files digitally to ensure that they have not been tampered with, to secure the software supply chain. This is something we have done for a good while as a step in our Azure DevOps pipelines. However, recent(ish) changes in the way certificates are issued has meant we have had to revise our approach.&lt;/p>
&lt;h1 id="the-problem">The Problem&lt;/h1>
&lt;p>We used to use a .PFX file, stored as an Azure DevOps secure file, that contained the public and private keys and was accessed using a password, to sign our files.&lt;/p></description></item><item><title>Inject a step into Web Deploy</title><link>https://blogs.blackmarble.co.uk/rfennell/inject-a-step-into-msdeploy/</link><pubDate>Wed, 04 Dec 2024 00:00:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/inject-a-step-into-msdeploy/</guid><description>
&lt;p>I really like &lt;a href="https://www.iis.net/downloads/microsoft/web-deploy">Web Deploy&lt;/a>, it is a powerful tool for &lt;a href="https://blogs.blackmarble.co.uk/rfennell/porting-my-visual-studio-parameters-xml-generator-tool-to-visual-studio-2022-preview/?query=parameters.">injecting parameters&lt;/a> whilst deploying web applications to both Azure or an on-premise IIS Server.&lt;/p>
&lt;p>Every project is different, and sometimes you need to be able to inject a step into the Web Deploy package creation process to complete some extra step. This can be done by adding a target to the &lt;code>.csproj&lt;/code> project file.&lt;/p>
&lt;p>The following example shows how you could sign the assemblies before the Web Deploy package is created.&lt;/p></description></item><item><title>ProjectFileIndexer exceptions in SonarQube</title><link>https://blogs.blackmarble.co.uk/rfennell/projectfileindexer-exceptions-in-sonarqube/</link><pubDate>Thu, 31 Oct 2024 00:00:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/projectfileindexer-exceptions-in-sonarqube/</guid><description>
&lt;h2 id="the-issue">The Issue&lt;/h2>
&lt;p>We are running our &lt;a href="https://www.sonarsource.com/products/sonarqube/">SonarQube&lt;/a> instance as an &lt;a href="https://devblogs.microsoft.com/premier-developer/sonarqube-hosted-on-azure-app-service/">Azure hosted Docker container&lt;/a>.&lt;/p>
&lt;p>Over the past few weeks we have been seeing intermittent occurrences of the &lt;code>ProjectFileIndexer&lt;/code> exception during the SonarQube analysis step in our Azure DevOps pipelines.&lt;/p>
&lt;pre tabindex="0">&lt;code>##[error]java.lang.IllegalStateException: Unable to load component class org.sonar.scanner.scan.filesystem.ProjectFileIndexer
&lt;/code>&lt;/pre>&lt;p>When I looked closer at the exception stack, I could see at the bottom there was always a timeout error when trying to access the &lt;code>project.protobuf&lt;/code> file from SonarQube.&lt;/p></description></item><item><title>Why is my SnipeIT instance suddenly slow?</title><link>https://blogs.blackmarble.co.uk/rfennell/why-is-my-snipeit-instance-suddenly-slow/</link><pubDate>Mon, 28 Oct 2024 00:00:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/why-is-my-snipeit-instance-suddenly-slow/</guid><description>
&lt;h2 id="background">Background&lt;/h2>
&lt;p>As I have &lt;a href="https://blogs.blackmarble.co.uk/rfennell/setting-up-snipe-it-on-azure/">blogged previously&lt;/a>, we run a SnipeIT instance to manage our IT assets, hosted in Azure using Docker.&lt;/p>
&lt;p>This has been working well for us for the past year, but recently we have noticed that the system has become very slow to respond.&lt;/p>
&lt;p>Looking on the Azure portal, we can see that around the 15th of October the web app&amp;rsquo;s response times have gone from milliseconds to 10s of seconds&lt;/p></description></item><item><title>Using Azure Service Connection names that are stored in variables group in Azure DevOps Pipeline</title><link>https://blogs.blackmarble.co.uk/rfennell/using-azure-service-connection-names-that-are-stored-in-variables-group-ado-pipeline/</link><pubDate>Mon, 21 Oct 2024 00:00:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/using-azure-service-connection-names-that-are-stored-in-variables-group-ado-pipeline/</guid><description>
&lt;h2 id="background">Background&lt;/h2>
&lt;p>If you are using staged deployment in Azure DevOps, you will probably have multiple Azure Service Connections. So, it makes sense that you might want to use a Service Connection name that is stored in a variable group as a parameter to a templated YAML pipeline.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-yaml" data-lang="yaml">&lt;span class="line">&lt;span class="cl">&lt;span class="c"># the build pipeline&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w">&lt;/span>&lt;span class="nt">stages&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>- &lt;span class="nt">stage&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="l">UAT&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">jobs&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>- &lt;span class="nt">deployment&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="l">ARM_Provisioning&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">timeoutInMinutes&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="m">0&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">environment&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="s1">&amp;#39;Staging&amp;#39;&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">variables&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>- &lt;span class="nt">group&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="l">UAT&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">pool&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">vmImage&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="s1">&amp;#39;windows-latest&amp;#39;&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">strategy&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">runOnce&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">deploy&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">steps&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>- &lt;span class="nt">template&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="l">YAMLTemplates\ProvisionUsingARM.yml&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">parameters&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">AzureResourceGroup&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="l">$(AzureResourceGroup)&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">AzureServiceConnection&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="l">$(AzureServiceConnection)&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>- &lt;span class="nt">stage&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="l">PROD&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">jobs&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>- &lt;span class="nt">deployment&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="l">ARM_Provisioning&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">timeoutInMinutes&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="m">0&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">environment&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="s1">&amp;#39;Staging&amp;#39;&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">variables&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>- &lt;span class="nt">group&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="l">PROD&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">pool&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">vmImage&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="s1">&amp;#39;windows-latest&amp;#39;&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">strategy&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">runOnce&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">deploy&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">steps&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>- &lt;span class="nt">template&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="l">YAMLTemplates\ProvisionUsingARM.yml&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">parameters&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">AzureResourceGroup&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="l">$(AzureResourceGroup)&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">AzureServiceConnection&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="l">$(AzureServiceConnection)&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>With a template &lt;code>YAMLTemplates\ProvisionUsingARM.yml&lt;/code> that uses the &lt;code>AzureServiceConnection&lt;/code> variable&lt;/p></description></item><item><title>Editing multiple files in the Azure DevOps UI and committing them in a single commit</title><link>https://blogs.blackmarble.co.uk/rfennell/editing-multiple-files-in-azdo-ui-in-a-single-commit/</link><pubDate>Fri, 18 Oct 2024 00:00:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/editing-multiple-files-in-azdo-ui-in-a-single-commit/</guid><description>
&lt;p>One of the most useful, and it seems relatively unknown, features in the GitHub web UI is the &lt;a href="https://github.com/github/dev">ability to edit multiple files in the UI and commit them in a single commit&lt;/a>. This is done by loading VS Code in the browser when in the code view by pressing &lt;strong>.&lt;/strong> (the full stop)&lt;/p>
&lt;p>The reason I find this so useful is that it allows me to make a series of small related changes to a project without having to clone the repository or using a &lt;a href="https://github.com/features/codespaces">CodeSpace&lt;/a>, very useful when editing the related YAML files of reusable workflows in GitHub Actions.&lt;/p></description></item><item><title>Generating Visual Studio SQL Database Projects from the command line</title><link>https://blogs.blackmarble.co.uk/rfennell/generating-vs-sql-projects-from-the-command-line/</link><pubDate>Fri, 27 Sep 2024 00:00:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/generating-vs-sql-projects-from-the-command-line/</guid><description>
&lt;blockquote>
&lt;p>&lt;em>This is is one of those posts I write so I remember how to do something in the future.&lt;/em>&lt;/p>&lt;/blockquote>
&lt;h2 id="background">Background&lt;/h2>
&lt;p>I recently had a need to generate many Visual Studio SQL Database Projects from existing databases. Being a good &amp;rsquo;lazy developer&amp;rsquo; I wanted to do this from the command line so I could automate the process, but it took me far to long to work out how&lt;/p>
&lt;h2 id="the-manual-way">The Manual Way&lt;/h2>
&lt;p>If you only have one database to import you can do this manually by using the &lt;strong>Import&lt;/strong> option in Visual Studio for an individual SQL Database Project.&lt;/p></description></item><item><title>Showing Bicep Linting Issues as Errors and Warnings in Azure DevOps Pipelines</title><link>https://blogs.blackmarble.co.uk/rfennell/showing-bicep-linting-issues-as-errors-and-warnings-in-azdo-pipelines/</link><pubDate>Tue, 03 Sep 2024 00:00:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/showing-bicep-linting-issues-as-errors-and-warnings-in-azdo-pipelines/</guid><description>
&lt;h1 id="introduction">Introduction&lt;/h1>
&lt;p>Previously &lt;a href="https://rikhepworth.com/post/2024/02/2024-02-05-importing-bicep-lint-output-as-test-results-in-azure-devops-pipelines/">Rik Hepworth has posted on &amp;lsquo;Importing bicep lint output as test results in Azure DevOps pipelines&amp;rsquo;&lt;/a>. In his post he showed how you could move from using the &lt;a href="https://learn.microsoft.com/en-us/azure/azure-resource-manager/templates/test-toolkit">ARM-TTK&lt;/a> to validate ARM templates to using the built in&lt;a href="https://learn.microsoft.com/en-us/azure/azure-resource-manager/bicep/linter">Bicep Linter&lt;/a>.&lt;/p>
&lt;p>Rik&amp;rsquo;s solution involved taking the Bicep Lint output and converting it via the .SARIF format to JUnit so that it could be published to an Azure DevOps pipeline run as a set of test results.&lt;/p></description></item><item><title>How to run your own maintenance job on Azure DevOps pipelines (Revisited now using Workload Identity federation)</title><link>https://blogs.blackmarble.co.uk/rfennell/how-to-run-your-own-maintainance-job-on-azure-devops-pipelines-revisted/</link><pubDate>Thu, 29 Aug 2024 00:00:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/how-to-run-your-own-maintainance-job-on-azure-devops-pipelines-revisted/</guid><description>
&lt;h1 id="introduction">Introduction&lt;/h1>
&lt;p>Last year I &lt;a href="https://blogs.blackmarble.co.uk/rfennell/how-to-run-your-own-maintainance-job-on-azure-devops-pipelines/">posted on how to create your own Azure DevOps maintenance jobs&lt;/a>. This solution has been working well for me, until the Azure DevOps Service connection&amp;rsquo;s Entra ID Service Principle secret expired.&lt;/p>
&lt;p>So, I thought it well worth revisiting the creation of this maintenance job but this time using &lt;a href="https://learn.microsoft.com/en-us/entra/workload-id/workload-identity-federation">Workload Identity federation&lt;/a> to authenticate, and hence never again have to worry about the secret expiring.&lt;/p>
&lt;h1 id="updated-setup-process">Updated Setup Process&lt;/h1>
&lt;blockquote>
&lt;p>&lt;strong>Note:&lt;/strong> This is a modification to the creation of the service connection, but the core the maintenance job setup remains the same as &lt;a href="https://blogs.blackmarble.co.uk/rfennell/how-to-run-your-own-maintainance-job-on-azure-devops-pipelines/">in my original post&lt;/a>&lt;/p></description></item><item><title>Problem running Playwright UX tests on hosted Github Actions Runners</title><link>https://blogs.blackmarble.co.uk/rfennell/problem-running-playwright-tests-with-github-actions/</link><pubDate>Thu, 08 Aug 2024 00:00:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/problem-running-playwright-tests-with-github-actions/</guid><description>
&lt;h2 id="the-issue">The Issue&lt;/h2>
&lt;p>Whilst refreshing an end-to-end devops demo, one I use for both Azure DevOps and GitHub, I hit a problem. The new &lt;a href="https://playwright.dev/">Playwright UX Tests&lt;/a>, that were replacing old &lt;a href="https://www.selenium.dev/">Selenium&lt;/a> ones, were failing on the GitHub hosted runner.&lt;/p>
&lt;p>The strange thing was the same tests worked perfectly on:&lt;/p>
&lt;ul>
&lt;li>My local development machine&lt;/li>
&lt;li>The Azure DevOps hosted runner&lt;/li>
&lt;li>And strangest of all, a &lt;a href="https://docs.github.com/en/actions/hosting-your-own-runners/managing-self-hosted-runners/about-self-hosted-runners">GitHub self hosted runner&lt;/a>&lt;/li>
&lt;/ul>
&lt;h2 id="the-solution">The Solution&lt;/h2>
&lt;p>Adding some logging to the tests showed the actual issue was that on the GitHub hosted runner the code to count the rows in an HTML table was always returning 0.&lt;/p></description></item><item><title>Powershell token replacement failing for MSDeploy in GitHub Action</title><link>https://blogs.blackmarble.co.uk/rfennell/powershell-token-replacement-failing-for-msdeploy-in-github-action/</link><pubDate>Tue, 06 Aug 2024 00:00:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/powershell-token-replacement-failing-for-msdeploy-in-github-action/</guid><description>
&lt;h2 id="the-issue">The Issue&lt;/h2>
&lt;p>I have been recently refreshing a GitHub end-to-end demo I use for talks and workshops that I had not looked at for a while. It shows how legacy code bases can be deployed with GitHub Actions and Azure App Services. The demo uses MSDeploy to deploy a ASP.NET web application to Azure App Services. The MSDeploy package is created as part of the GitHub Action workflow.&lt;/p>
&lt;p>The workflow uses a PowerShell script to do the deployment using the following:&lt;/p></description></item><item><title>Fixes for issues moving from on-premise Azure DevOps agents to Azure Managed DevOps Pool agents</title><link>https://blogs.blackmarble.co.uk/rfennell/fixing-issues-moving-from-on-premise-azdo-agent-to-mdp-hosted-agents/</link><pubDate>Fri, 02 Aug 2024 01:00:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/fixing-issues-moving-from-on-premise-azdo-agent-to-mdp-hosted-agents/</guid><description>
&lt;h2 id="background">Background&lt;/h2>
&lt;p>Our on premise build agents, though using the same image as the Microsoft hosted agents (generated using &lt;a href="https://blogs.blackmarble.co.uk/rfennell/new-problem-when-generating-build-agents-using-packer/">Packer, as I have previously posted about&lt;/a>), have some extra setup done by &lt;a href="https://github.com/VirtualEngine/Lability">Lability&lt;/a> as they are deployed to a Hyper-V host.&lt;/p>
&lt;p>Most of this is specific to the needs of running on Hyper-V e.g. setting up networking, creating a 2nd disk to act as a working store for the build agent, and of course installing the Azure DevOps agent itself.&lt;/p></description></item><item><title>A first look at using Azure Managed DevOps Pools</title><link>https://blogs.blackmarble.co.uk/rfennell/a-first-look-at-using-azure-mdp/</link><pubDate>Thu, 01 Aug 2024 00:00:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/a-first-look-at-using-azure-mdp/</guid><description>
&lt;h2 id="background">Background&lt;/h2>
&lt;p>We have for many years based our Azure DevOps build and release pipelines on on-premise agents. This was done to provide a means to scale up each agent using &amp;lsquo;bigger &amp;amp; faster&amp;rsquo; local VMs then the Microsoft Hosted agents provided, and to utilise spare Hyper-V hosts we had after moving services such as SharePoint to Office 365.&lt;/p>
&lt;p>To provide consistency of build agent experience to our developers, we decided we wished to use the same VM images on our on-premise agents as used by the Microsoft&amp;rsquo;s hosted agent pools. I have &lt;a href="https://blogs.blackmarble.co.uk/rfennell/new-problem-when-generating-build-agents-using-packer/">blogged previously&lt;/a> on the process of creating these images with Packer and deploying them to Hyper-V with Lability. This is a process we still follow every couple of months to keep the images reasonably up to date.&lt;/p></description></item><item><title>Watch out that Azure DevOps Server 2022.2 drops support for SQL2017</title><link>https://blogs.blackmarble.co.uk/rfennell/watch-out-that-azdo2022.2-drops-support-for-sql2017/</link><pubDate>Fri, 26 Jul 2024 00:00:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/watch-out-that-azdo2022.2-drops-support-for-sql2017/</guid><description>
&lt;p>&lt;a href="https://learn.microsoft.com/en-us/azure/devops/server/release-notes/azuredevops2022u2?view=azure-devops">Azure DevOps Server 2022.2 has recently been released&lt;/a>. Unexpectedly this minor 2022.2 release includes a change in supported versions of SQL, SQL2017 support has been dropped. So, if someone attempted an upgrade from 2022.1 to 2022.2 they will get the error&lt;/p>
&lt;blockquote>
&lt;p>&amp;ldquo;TF255146: The SQL Server instance you specified (nnnnn) is version ‘SQL Server 2017 RTM’, which is not supported by this version of Azure DevOps Server. For more information about supported versions of SQL Server, visit &lt;a href="https://www.visualstudio.com/docs/setup-admin/requirements">https://www.visualstudio.com/docs/setup-admin/requirements&lt;/a> &amp;quot;&lt;/p></description></item><item><title>Yet more Azure DevOps pipeline variable expansion strangeness</title><link>https://blogs.blackmarble.co.uk/rfennell/yet-more-azure-devops-pipeline-variable-expansion-strangeness/</link><pubDate>Tue, 23 Jul 2024 00:00:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/yet-more-azure-devops-pipeline-variable-expansion-strangeness/</guid><description>
&lt;h1 id="the-issue">The Issue&lt;/h1>
&lt;p>Yesterday I posted about &lt;a href="https://blogs.blackmarble.co.uk/rfennell/getting-parameters-out-of-arm-deloyments/">converting ARM output variables to Azure DevOps pipeline variables&lt;/a>&lt;/p>
&lt;p>Whilst using the pattern I discussed we hit an interesting problem. On my test pipeline I had the following YAML and it was working as expected.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-yaml" data-lang="yaml">&lt;span class="line">&lt;span class="cl">- &lt;span class="nt">task&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="l">PowerShell@2&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">displayName&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="l">Obtain Azure Deployment outputs&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">inputs&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">targetType&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="s1">&amp;#39;inline&amp;#39;&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">script&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="p">|&lt;/span>&lt;span class="sd">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="sd"> if (![string]::IsNullOrEmpty( $env:deploymentOutputs )) {
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="sd"> $DeploymentOutputs = convertfrom-json $env:deploymentOutputs
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="sd">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="sd"> $DeploymentOutputs.PSObject.Properties | ForEach-Object {
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="sd"> $keyname = $_.Name
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="sd"> $value = $_.Value.value
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="sd"> Write-Host &amp;#34;The value of [$keyName] is [$value]&amp;#34;
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="sd"> Write-Host &amp;#34;##vso[task.setvariable variable=$keyname]$value&amp;#34;
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="sd"> }
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="sd"> } &lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>However, on the first production project I tried this on, the script ran but did not create the expected variables. The issue was that the variable &lt;code>$env:deploymentOutputs&lt;/code> was empty, even though the ARM deployment had completed successfully and the outputs were available in the pipeline debug logs.&lt;/p></description></item><item><title>Getting parameters out of ARM/BICEP Deployments</title><link>https://blogs.blackmarble.co.uk/rfennell/getting-parameters-out-of-arm-deloyments/</link><pubDate>Mon, 22 Jul 2024 00:00:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/getting-parameters-out-of-arm-deloyments/</guid><description>
&lt;h1 id="the-issue">The Issue&lt;/h1>
&lt;p>Historically, we have used &lt;a href="https://marketplace.visualstudio.com/items?itemName=keesschollaart.arm-outputs">Kees Schollaart&amp;rsquo;s ARM Outputs Azure DevOps task&lt;/a> to convert the output from an ARM template deployment into a variable that can be used in a subsequent Azure DevOps pipeline task, using the general form&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-yaml" data-lang="yaml">&lt;span class="line">&lt;span class="cl">- &lt;span class="nt">task&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="l">AzureResourceManagerTemplateDeployment@3&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">displayName&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="l">Deploy the main template&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">inputs&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">deploymentScope&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="s1">&amp;#39;Resource Group&amp;#39;&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">azureResourceManagerConnection&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="s1">&amp;#39;ARMConnEndpoint&amp;#39;&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">subscriptionId&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="s1">&amp;#39;$(SubscriptionId)&amp;#39;&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">action&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="s1">&amp;#39;Create Or Update Resource Group&amp;#39;&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">resourceGroupName&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="s1">&amp;#39;$(ResourceGroup)&amp;#39;&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">location&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="s1">&amp;#39;$(AzureRegion)&amp;#39;&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">templateLocation&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="s1">&amp;#39;Linked artifact&amp;#39;&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">csmFile&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="s1">&amp;#39;$(Pipeline.Workspace)/ARMtemplates/azuredeploy.json&amp;#39;&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">overrideParameters&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="p">&amp;gt;-&lt;/span>&lt;span class="sd">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="sd"> -staticSitelocation &amp;#34;westeurope&amp;#34;
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="sd"> -projectName &amp;#34;$(projectName)&amp;#34;
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="sd"> -env &amp;#34;$(environment)&amp;#34;&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">deploymentMode&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="s1">&amp;#39;Incremental&amp;#39;&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w">&lt;/span>- &lt;span class="nt">task&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="l">ARM Outputs@6&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">displayName&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="l">Obtain outputs from the deployment of the Main Deploy&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">name&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="s1">&amp;#39;MainDeployOutput&amp;#39;&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">inputs&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">ConnectedServiceNameSelector&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="s1">&amp;#39;ConnectedServiceNameARM&amp;#39;&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">ConnectedServiceNameARM&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="s1">&amp;#39;ARMConnEndpoint&amp;#39;&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">resourceGroupName&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="s1">&amp;#39;$(ResourceGroup)&amp;#39;&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">whenLastDeploymentIsFailed&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="s1">&amp;#39;fail&amp;#39;&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>This process has been working well until we &lt;a href="https://learn.microsoft.com/en-us/azure/devops/pipelines/library/connect-to-azure?view=azure-devops#create-an-azure-resource-manager-service-connection-using-workload-identity-federation">upgraded our service connections to workload identity federation&lt;/a>. As soon as we did this the &lt;code>ARM Outputs@6&lt;/code> task started failing with the error message&lt;/p></description></item><item><title>More on when Azure DevOps variables are available in pipeline runs</title><link>https://blogs.blackmarble.co.uk/rfennell/more-on-when-azure-devops-variables-available/</link><pubDate>Thu, 11 Jul 2024 00:00:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/more-on-when-azure-devops-variables-available/</guid><description>
&lt;h1 id="introduction">Introduction&lt;/h1>
&lt;p>I have previously blogged a good deal on Azure DevOps variable evaluation, see &lt;a href="https://blogs.blackmarble.co.uk/rfennell/getting-confused-over-azure-devops-pipeline-variable-evaluation/">here&lt;/a> and &lt;a href="https://blogs.blackmarble.co.uk/rfennell/using-azure-devops-stage-dependency-variables-with-conditional-stage-and-job-execution/">here&lt;/a>, but the saga continues&amp;hellip;&lt;/p>
&lt;h1 id="when-variables-exist">When variables exist&lt;/h1>
&lt;p>Today I realised, something I guess should have been obvious, that when you manually queue a run, pre-defined variables such as &lt;code>$(Build.SourceBranchName)&lt;/code> are not available until the pipeline is compiled and starts running. This is because though there is a value in UI branch combo but this value is not in &lt;code>$(Build.SourceBranchName)&lt;/code> until the pipeline starts running.&lt;/p></description></item><item><title>Checking out Git submodules when Azure DevOps Protected Access to repos is enabled</title><link>https://blogs.blackmarble.co.uk/rfennell/checking-out-git-submodules-when-protected-access-enabled/</link><pubDate>Wed, 10 Jul 2024 00:00:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/checking-out-git-submodules-when-protected-access-enabled/</guid><description>
&lt;h1 id="the-issue">The Issue&lt;/h1>
&lt;p>Whilst working on an Azure DevOps YAML pipeline for a solution that used &lt;a href="https://git-scm.com/book/en/v2/Git-Tools-Submodules">Git Submodules&lt;/a> we hit a problem with the checkout of the repo and submodule using the YAML&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-yaml" data-lang="yaml">&lt;span class="line">&lt;span class="cl">&lt;span class="nt">jobs&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>- &lt;span class="nt">job&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="s1">&amp;#39;Build&amp;#39;&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">steps&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>- &lt;span class="nt">checkout&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="l">self&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">submodules&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="kc">true&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>It got the main Git repo, but failed with the following error&lt;/p>
&lt;pre tabindex="0">&lt;code>git submodule sync
git --config-env=http.https://myorg@dev.azure.com.extraheader=env_var_http.https://myorg@dev.azure.com.extraheader submodule update --init --force
Submodule &amp;#39;Library&amp;#39; (https://myorg@dev.azure.com/myorg/myproject/_git/Library) registered for path &amp;#39;Library&amp;#39;
Cloning into &amp;#39;D:/a/1/s/Library&amp;#39;...
remote: TF401019: The Git repository with name or identifier Library does not exist or you do not have permissions for the operation you are attempting.
&lt;/code>&lt;/pre>&lt;h1 id="the-analysis">The Analysis&lt;/h1>
&lt;p>The issue is that the build agent access token was scoped to only the repo containing the YAML pipeline and not the submodule repo, even though they are in the same Azure DevOps Team Project.&lt;/p></description></item><item><title>So my Azure DevOps TF30063 error was down to DNS again</title><link>https://blogs.blackmarble.co.uk/rfennell/so-my-tf30063-error-is-just-dns-again/</link><pubDate>Tue, 09 Jul 2024 00:00:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/so-my-tf30063-error-is-just-dns-again/</guid><description>
&lt;h1 id="the-issue">The Issue&lt;/h1>
&lt;p>I recently upgraded a clients Azure DevOps server from 2019 to 2022. This required a new application tier VM due to the change in supported versions of Windows Server between the two versions.&lt;/p>
&lt;p>Unfortunately, the client&amp;rsquo;s developers had always accessed the old Azure DevOps Server using the VMs FQDN, as opposed to a DNS managed alias. Hence, given they wanted to minimise change, the plan was to create a DNS Alias so they could continue to use the same URLs and TFVC workspaces mappings.&lt;/p></description></item><item><title>Where has the staging URL PR comment generated by my GitHub Actions workflow gone?</title><link>https://blogs.blackmarble.co.uk/rfennell/where-has-the-staging-url-gone-from-my-github-actions-workflow/</link><pubDate>Tue, 02 Jul 2024 00:00:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/where-has-the-staging-url-gone-from-my-github-actions-workflow/</guid><description>
&lt;h2 id="the-issue">The Issue&lt;/h2>
&lt;p>Last week I noticed that the staging URL that is normally output as a comment was missing from new GitHub PRs. Previously, this URL was added automatically by the &lt;code>Azure/static-web-apps-deploy&lt;/code> GitHub Action for PRs in our &lt;a href="https://gohugo.io/">Hugo based websites&lt;/a>.&lt;/p>
&lt;p>&lt;img alt="PR Comment" loading="lazy" src="https://blog.richardfennell.net/images/rfennell/pr-url-comment.png">&lt;/p>
&lt;p>After a bit of digging, I noticed a warning message in the logs of the Action that said:&lt;/p>
&lt;blockquote>
&lt;p>&amp;hellip;&lt;br>
Done Zipping App Artifacts&lt;br>
Uploading build artifacts.&lt;br>
Finished Upload. Polling on deployment.&lt;br>
Status: InProgress. Time: 0.178533(s)&lt;br>
Status: Succeeded. Time: 15.3731517(s)&lt;br>
Deployment Complete :)&lt;br>
Visit your site at: &lt;a href="https://white-glacier-0d2380f03-300.westeurope.2.azurestaticapps.net">https://white-glacier-0d2380f03-300.westeurope.2.azurestaticapps.net&lt;/a>
&lt;strong>Unexectedly failed to add GitHub comment.&lt;/strong>&lt;br>
Thanks for using Azure Static Web Apps!&lt;br>
Exiting&lt;/p></description></item><item><title>Don't call your Azure DevOps YAML Deployment stage 'deployment' - strange things happen</title><link>https://blogs.blackmarble.co.uk/rfennell/dont-call-your-azure-devops-deployment-stage-deploy/</link><pubDate>Mon, 01 Jul 2024 00:00:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/dont-call-your-azure-devops-deployment-stage-deploy/</guid><description>
&lt;p>Just a little reminder, probably to my future self, to not call your Azure DevOps YAML Deployment stage &amp;lsquo;deployment&amp;rsquo;.&lt;/p>
&lt;p>If you forget you can expect to waste plenty of time, like we did last week, with environment agents not picking up queued jobs with no diagnostic logging messages to give you a clue as to what is going on.&lt;/p>
&lt;p>This &lt;a href="https://stackoverflow.com/questions/61977588/how-can-you-target-environments-in-a-azure-yaml-pipeline-via-deployment-job">issue has been reported on StackOverflow&lt;/a> where it was pointed out that the official documentation used &amp;lsquo;deployment&amp;rsquo; as the stage name. The good news is that at least the documentation is now fixed, but there is still the chance you can make this naming mistake all on your own.&lt;/p></description></item><item><title>It's the SonarQube Elasticsearch indexes again</title><link>https://blogs.blackmarble.co.uk/rfennell/its-the-sonarqube-indexes-again/</link><pubDate>Fri, 28 Jun 2024 00:00:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/its-the-sonarqube-indexes-again/</guid><description>
&lt;h2 id="background">Background&lt;/h2>
&lt;p>I just upgraded our &lt;a href="https://devblogs.microsoft.com/premier-developer/sonarqube-hosted-on-azure-app-service/">Azure/Docker container hosted SonarQube instance&lt;/a> from 10.5.1 to 10.6.0. This was partly due to our usual upgrade process, we try to upgrade within a week or so of a new release, but also to address a specific Java issue we started to see when using the SonarQube@6 Azure DevOps tasks.&lt;/p>
&lt;p>The error was the SonarQube analysis completed successfully, but the clean up process failed with this JVM error.&lt;/p></description></item><item><title>Passing dynamically sized object parameters to Azure DevOps Pipeline templates</title><link>https://blogs.blackmarble.co.uk/rfennell/passing-object-parameters-to-azure-devops-pipeline-template/</link><pubDate>Mon, 24 Jun 2024 00:00:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/passing-object-parameters-to-azure-devops-pipeline-template/</guid><description>
&lt;h1 id="the-problem">The Problem&lt;/h1>
&lt;p>I have an Azure DevOps YAML template that does some deployment actions using PowerShell. This template is used multiple locations. The problem is that the PowerShell step within the template needs a variable number of environment variables, set from values stored in an Azure DevOps variable Group. The number of variables is not fixed because they depend on the underlying commands the PowerShell script is triggering to do the deployment.&lt;/p></description></item><item><title>Why are my Azure DevOps Pipeline cache hits missing</title><link>https://blogs.blackmarble.co.uk/rfennell/why-is-my-azure-devops-pipeline-cache-missing/</link><pubDate>Wed, 05 Jun 2024 00:00:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/why-is-my-azure-devops-pipeline-cache-missing/</guid><description>
&lt;p>I have blogged in the past about &lt;a href="https://blog.richardfennell.net/posts/caching-nvd-dependancies/">Caching NVD Vulnerability Dependency data on hosted Azure DevOps Pipeline agents&lt;/a>. Using the cache is a great way to speed up slow builds.&lt;/p>
&lt;p>However, today I was surprised to find I was getting cache misses on my pipeline, even though I was sure the cache should have been hit.&lt;/p>
&lt;p>There are rules over how the cache is used:&lt;/p>
&lt;ul>
&lt;li>The cache is specific to a pipeline definition, so there is no sharing of the cache between pipeline definitions&lt;/li>
&lt;li>The cache is only created if the pipeline is successful (running the post run tasks)&lt;/li>
&lt;li>The cache only lasts 7 days&lt;/li>
&lt;li>but what I had not realised was the cache is also specific to the branch in a not so obvious way.&lt;/li>
&lt;/ul>
&lt;p>My pipeline was triggered off a PR, so the cache was being created on the &amp;lsquo;branch&amp;rsquo; PR #123. This was working as expected, all runs of the PR triggered build used the cache after the initial run. However, if I manually triggered pipeline run of the same branch as the PR was using, there was a cache miss.&lt;/p></description></item><item><title>Still time to register for the Global DevOps Experience</title><link>https://blogs.blackmarble.co.uk/rfennell/still-time-to-register-for-the-global-devops-experience/</link><pubDate>Mon, 03 Jun 2024 00:00:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/still-time-to-register-for-the-global-devops-experience/</guid><description>
&lt;p>There is still time to register for the free &lt;a href="https://www.globaldevopsx.com/">Global DevOps Experience&lt;/a> which is being run on the 15th of June at many &lt;a href="https://www.globaldevopsx.com/#participants">venues around the world&lt;/a>, including Black Marble&amp;rsquo;s offices.&lt;/p>
&lt;p>The Global DevOps Experience is a day full of learning and fun, as we immerse you in the world of DevOps and AI. You will learn about the latest trends and technologies, and work in a team to solve challenging exercises based around a realistic business scenario.&lt;/p></description></item><item><title>Azure DevOps pipeline jobs failing to start</title><link>https://blogs.blackmarble.co.uk/rfennell/azure-devops-pipeline-jobs-failing-to-start/</link><pubDate>Wed, 29 May 2024 00:00:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/azure-devops-pipeline-jobs-failing-to-start/</guid><description>
&lt;h2 id="the-issue">The Issue&lt;/h2>
&lt;p>Whilst migrating some Azure DevOps classic pipelines to templated multi-stage YAML, I hit a problem that a job running on a self-hosted agent would not start.&lt;/p>
&lt;p>The YAML stage, which required approval, would be queued and approved, but the agent would just sit there with the message &lt;code>Starting job&lt;/code> but would never start. The strange thing was even though the job was not started, the pipeline instantly showed as failed with no error message.&lt;/p></description></item><item><title>Failing client connections with SQL OPENJSON Incorrect Syntax error after upgrading Identity Server 6 to 7</title><link>https://blogs.blackmarble.co.uk/rfennell/failing-client-connections-after-upgrading-identity-server-6-to-7/</link><pubDate>Wed, 29 May 2024 00:00:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/failing-client-connections-after-upgrading-identity-server-6-to-7/</guid><description>
&lt;h2 id="the-issue">The Issue&lt;/h2>
&lt;p>Whilst updating a client&amp;rsquo;s &lt;a href="https://duendesoftware.com/products/identityserver">Duende Identity Server&lt;/a> from versions 6 to 7, we experienced a problem. We followed the &lt;a href="https://docs.duendesoftware.com/identityserver/v7/upgrades/">upgrade steps&lt;/a> and all was working fine against our development instance i.e. the Identity Server Db was upgraded to the current schema and we could login from our test MVC web client without issues.&lt;/p>
&lt;p>The problem occured when we started to test using our UAT (a production replica) DB. On loading the Identity Server, it did the expected EF migrations and appeared to start, but when a client tried to connect we got an exception in the Identity Server logs in the form&lt;/p></description></item><item><title>Fix for SonarQube recoverable indexing failures error</title><link>https://blogs.blackmarble.co.uk/rfennell/fix-for-sonarqube-recoverable-indexing-failures/</link><pubDate>Thu, 16 May 2024 00:00:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/fix-for-sonarqube-recoverable-indexing-failures/</guid><description>
&lt;h2 id="the-issue">The Issue&lt;/h2>
&lt;p>Within one of our Azure DevOps builds we today started to see the following error when running the SonarQube analysis step:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-plaintext" data-lang="plaintext">&lt;span class="line">&lt;span class="cl">##[error][SQ] Task failed with status FAILED, Error message: Unrecoverable indexing failures: 1 errors among 1 requests. Check Elasticsearch logs for further details.
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Nothing obvious pointed to why this should have started to occur, the SonarQube logs showed nothing more than a longer version of the same message.&lt;/p></description></item><item><title>Announcing a Global DevOps Experience venue at Black Marble</title><link>https://blogs.blackmarble.co.uk/rfennell/announcing-global-devops-experience-at-blackmarble/</link><pubDate>Mon, 13 May 2024 00:00:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/announcing-global-devops-experience-at-blackmarble/</guid><description>
&lt;h2 id="background">Background&lt;/h2>
&lt;p>In past years, pre Covid, Black Marble hosted a venue for the Global DevOps Bootcamp, a community run in person hackathon event.&lt;/p>
&lt;p>After a short hiatus, I am pleased to be able to say this event has a successor, the &lt;a href="https://www.globaldevopsx.com/">Global DevOps Experience&lt;/a> which is being run on the 15th of June at many &lt;a href="https://www.globaldevopsx.com/#participants">venues around the world&lt;/a>, including Black Marble&amp;rsquo;s offices.&lt;/p>
&lt;p>&lt;img alt="Global DevOps Experience" loading="lazy" src="https://blog.richardfennell.net/images/rfennell/gdex.png">&lt;/p>
&lt;h2 id="what-will-be-involved">What will be involved?&lt;/h2>
&lt;p>The Global DevOps Experience is a day full of learning and fun, as we immerse you in the world of DevOps and AI. You will learn about the latest trends and technologies, and work in a team to solve challenging exercises based around a realistic business scenario.&lt;/p></description></item><item><title>Building Reporting Service .RPTProj files in Visual Studio 2022 from the command line</title><link>https://blogs.blackmarble.co.uk/rfennell/building-reporting-service-rptproj-files-on-vs2022/</link><pubDate>Fri, 03 May 2024 00:00:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/building-reporting-service-rptproj-files-on-vs2022/</guid><description>
&lt;h2 id="the-issue">The Issue&lt;/h2>
&lt;p>We have a number of projects that use the old style SQL Server Reporting Services (SSRS) &lt;code>.RPTProj&lt;/code> project format. These projects are not supported in Visual Studio 2022 out of the box, but there is an &lt;a href="https://marketplace.visualstudio.com/items?itemName=ProBITools.MicrosoftReportProjectsforVisualStudio2022">extension in the Marketplace&lt;/a> that adds the functionality back so you can build them in the IDE.&lt;/p>
&lt;p>However, we want to build our RDL files as part of our CI process, and this is where we hit a problem. When we attempt a build with MSBuild it fails with an error about missing .NET 4.0 SDK/Targeting Pack.&lt;/p></description></item><item><title>Creating an undo PowerShell Script for batch updates of Azure DevOps Work Items</title><link>https://blogs.blackmarble.co.uk/rfennell/creating-an-undo-script-for-azure-devops-workitems/</link><pubDate>Tue, 16 Apr 2024 00:00:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/creating-an-undo-script-for-azure-devops-workitems/</guid><description>
&lt;h2 id="problem">Problem&lt;/h2>
&lt;p>One of my client&amp;rsquo;s recently had a problem that a large number of &lt;a href="https://learn.microsoft.com/en-us/azure/devops/boards/backlogs/office/bulk-add-modify-work-items-excel?view=azure-devops">Azure DevOps work items had been updated via Excel&lt;/a> in error.&lt;/p>
&lt;p>They asked if there was a means to undo these edits. Unfortunately, a feature Azure DevOps does not provide.&lt;/p>
&lt;h2 id="solution">Solution&lt;/h2>
&lt;p>So, I wrote a PowerShell script to do it. The script&amp;hellip;&lt;/p>
&lt;ol>
&lt;li>Gets a list of work items edited today by a specific user, the one who did the problematic bulk update, using a Work Item Query&lt;/li>
&lt;li>Get the last update of each work item and check it was made by the user who did the bulk edit, incase someone manually fixed the problematic update already.&lt;/li>
&lt;li>For a limited list of fields, revert the change to the value prior to the last update&lt;/li>
&lt;li>Save the updated work item, or if the &lt;code>-whatif&lt;/code> flag is set just validate the update against the Azure DevOps instance&lt;/li>
&lt;/ol>
&lt;p>For my client, the script worked well enough, reverting over 1000 work items in about 5 minutes. The few work items it could not revert were fixed manually.&lt;/p></description></item><item><title>Personal Access Tokens (PATs) are not your friends</title><link>https://blogs.blackmarble.co.uk/rfennell/pats-are-not-your-friends/</link><pubDate>Fri, 22 Mar 2024 00:00:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/pats-are-not-your-friends/</guid><description>
&lt;h2 id="background">Background&lt;/h2>
&lt;p>Programmatic connection to Azure DevOps cannot be done with your Active Directory credentials. This is because this involves a dialog being shown, and these days usually an MFA check too.&lt;/p>
&lt;p>Historically, the solution to this problem was to enable &lt;a href="https://aka.ms/vstspolicyaltauth">Alternate Credentials&lt;/a>, which could be passed as username and password, without the dialog being shown. However, the use of these has been deprecated since 2020, and &lt;a href="https://devblogs.microsoft.com/devops/final-notice-of-alternate-credentials-deprecation/">they have been completely removed since Jan 2024&lt;/a>.&lt;/p></description></item><item><title>It is really time to get off Azure DevOps TFVC source control</title><link>https://blogs.blackmarble.co.uk/rfennell/it-is-really-time-to-get-off-tfvc/</link><pubDate>Thu, 21 Mar 2024 00:00:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/it-is-really-time-to-get-off-tfvc/</guid><description>
&lt;h2 id="a-history-lesson">A History Lesson&lt;/h2>
&lt;p>Team Foundation Version Control (TFVC) has been around since 2005, since the first release of Team Foundation Server (TFS) in 2005. In 2013, over 10 years ago, Microsoft added Git support to TFS (later renamed as Azure DevOps), Git had already been around for 8 years at that point.&lt;/p>
&lt;p>10 years is a long time in the software industry, I always think of 'IT years' like 'dog years' i.e. 7 to 1, so over 70 years has passed, a lifetime. Over this period Git has become the de facto standard for source control. So if you are still using TFVC as your source control system you really need to ask yourself why?&lt;/p></description></item><item><title>Don't forget to commit your configuration file</title><link>https://blogs.blackmarble.co.uk/rfennell/dont-forget-to-commit-your-configuration-file/</link><pubDate>Wed, 20 Mar 2024 00:00:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/dont-forget-to-commit-your-configuration-file/</guid><description>
&lt;p>It is a major effort, often unfortunately ignored, keeping the dependencies in an open source project up to date. This was highlighted in &lt;a href="https://dev.to/jessehouwing/security-state-of-the-azure-devops-marketplace-5bil">Jesse Houwing's post on the state of the Azure DevOps Marketplace&lt;/a>.&lt;/p>
&lt;p>Since reading this I have made much more of an effort to keep &lt;a href="https://marketplace.visualstudio.com/search?term=fennell&amp;amp;target=AzureDevOps&amp;amp;category=All%20categories&amp;amp;sortBy=Relevance">my Azure DevOps Extensions&lt;/a> up to date. &lt;a href="https://docs.github.com/en/code-security/dependabot/working-with-dependabot/managing-pull-requests-for-dependency-updates">Dependabot&lt;/a> generated PRs have been a great help in this regard. Creating PRs for vulnerabilities and out of date dependencies.&lt;/p></description></item><item><title>Parsing error with Azure Bicep files in SonarQube</title><link>https://blogs.blackmarble.co.uk/rfennell/parsing-error-with-azure-bicep-files-insonarqube/</link><pubDate>Tue, 19 Mar 2024 00:00:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/parsing-error-with-azure-bicep-files-insonarqube/</guid><description>
&lt;h2 id="the-issue">The Issue&lt;/h2>
&lt;p>We saw an issue with our SonarQube 10.3 Developer Edition (that is running as a Docker image hosted in Azure) when it was doing the analysis of a project that included Azure Bicep files.&lt;/p>
&lt;p>The Azure DevOps pipeline that triggered the SonarQube analysis was not failing, but within the SonarQube analysis step an error was reported in the task log&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="ln">1&lt;/span>&lt;span class="cl">INFO: Sensor IaC AzureResourceManager Sensor is restricted to changed files only
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">2&lt;/span>&lt;span class="cl">INFO: 1 source file to be analyzed
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">3&lt;/span>&lt;span class="cl">##[error]ERROR: Cannot parse &amp;#39;AzureServices/QueryPack.bicep:89:1&amp;#39;
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="the-solution">The Solution&lt;/h2>
&lt;p>Turns out the problem was related to parsing Bicep files for App Insights Query packs.&lt;/p></description></item><item><title>GitHub Events not being triggered for auto-merged Dependabot PRs</title><link>https://blogs.blackmarble.co.uk/rfennell/github-events-not-being-triggered-for-auto-merged-dependabot-prs/</link><pubDate>Mon, 18 Mar 2024 00:00:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/github-events-not-being-triggered-for-auto-merged-dependabot-prs/</guid><description>
&lt;h2 id="background">Background&lt;/h2>
&lt;p>I have an &lt;a href="https://www.microsoft.com/en-gb/industry/blog/technetuk/2023/02/01/using-github-actions-to-deploy-an-azure-static-web-app/">Azure Static Website that is built from a GitHub hosted repo using the default Action Workflow automation created by Azure when setting up the static site&lt;/a>.&lt;/p>
&lt;p>A really nice feature of this configuration is that when a PR is created in GitHub a test static website environment site is built in Azure to review the changes. When the PR is closed the test environment site is deleted.&lt;/p></description></item><item><title>Site fails to render when updating Hugo version</title><link>https://blogs.blackmarble.co.uk/rfennell/site-fails-to-render-when-updating-hugo-version/</link><pubDate>Fri, 16 Feb 2024 00:00:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/site-fails-to-render-when-updating-hugo-version/</guid><description>
&lt;h1 id="the-issue">The Issue&lt;/h1>
&lt;p>This site was built using &lt;a href="https://gohugo.io/">Hugo, a static site generator&lt;/a>. I recently tried to do a long overdue update the version of Hugo from 0.108 to the current 0.122 version.&lt;/p>
&lt;p>I had not expected any problems, but found that the site failed to render, but with no error message all I saw was&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="ln">1&lt;/span>&lt;span class="cl">hugo.exe server --logLevel info
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">2&lt;/span>&lt;span class="cl">Start building sites …
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">3&lt;/span>&lt;span class="cl">hugo v0.122.0-b9a03bd59d5f71a529acb3e33f995e0ef332b3aa+extended windows/amd64 BuildDate=2024-01-26T15:54:24Z VendorInfo=gohugoio
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">4&lt;/span>&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">5&lt;/span>&lt;span class="cl">INFO copy static: syncing static files to \
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">6&lt;/span>&lt;span class="cl">INFO build: running step &amp;#34;process&amp;#34; duration &amp;#34;97.3263ms&amp;#34;
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">7&lt;/span>&lt;span class="cl">INFO build: running step &amp;#34;assemble&amp;#34; duration &amp;#34;335.1476ms&amp;#34;
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>I normally would have expected to see a &lt;code>INFO build: running step &amp;quot;render&amp;quot;&lt;/code> line or an error, but got nothing, irrespective of the log level I set.&lt;/p></description></item><item><title>Getting a BadGateway error when trying to create Azure DevOps Work items using Power Automated</title><link>https://blogs.blackmarble.co.uk/rfennell/getting-a-badgateway-error-when-trying-to-create-azure-devops-work-items-using-power-automated/</link><pubDate>Tue, 13 Feb 2024 00:00:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/getting-a-badgateway-error-when-trying-to-create-azure-devops-work-items-using-power-automated/</guid><description>
&lt;p>I was recently trying to create an Azure DevOps work item when an email is received using the &lt;a href="https://powerautomate.microsoft.com/en-us/templates/details/29ef92b0630d11e6ac13ff9c624ade25/create-an-azure-devops-work-item-when-email-arrives-with-bug-in-subject/">Power Automate 'Create an Azure DevOps work item when email arrives with 'Bug' in subject' template&lt;/a>.&lt;/p>
&lt;p>The flow created without issue, and all the drop downs were correctly populated with O365 and Azure DevOps values as expected.&lt;/p>
&lt;p>However, when the flow ran, on receiving an email to the correct inbox, it failed with a BadGateway error.&lt;/p></description></item><item><title>I can't get git.exe installed on my corporate PC</title><link>https://blogs.blackmarble.co.uk/rfennell/i-cant-get-git.exe-installed-on-my-pc/</link><pubDate>Fri, 02 Feb 2024 00:00:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/i-cant-get-git.exe-installed-on-my-pc/</guid><description>
&lt;h1 id="issue">Issue&lt;/h1>
&lt;p>Many development tools rely on the fact that git.exe is installed to perform source control operations e.g. &lt;a href="https://code.visualstudio.com/">VSCode&lt;/a>. However, a common problem I have seen is that security settings on many corporate Windows devices do not allow the installation of &lt;a href="https://git-scm.com/download/win">git CLI using an MSI file&lt;/a> by the user. VSCode is an approved application, or installed as a user application as opposed to a system one, so is available but limited by it's lack of source control features.&lt;/p></description></item><item><title>Change in Edge/Chromium profile settings broke my Azure Entra ID SSO</title><link>https://blogs.blackmarble.co.uk/rfennell/change-in-browser-profile-settings-broke-my-sso/</link><pubDate>Thu, 21 Dec 2023 00:00:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/change-in-browser-profile-settings-broke-my-sso/</guid><description>
&lt;h2 id="background">Background&lt;/h2>
&lt;p>I have recently hit a problem whilst developing some training material on Single Sign on (SSO) in GitHub Enterprise. This training is to be delivered in a training instance of GHE that is configured to use a training instance of Azure Entra ID as the SAML identity provider.&lt;/p>
&lt;p>To make my life easier, so I am not logging in and out of my work and test Azure Entra ID directories, I have been using &lt;a href="https://support.microsoft.com/en-us/topic/sign-in-and-create-multiple-profiles-in-microsoft-edge-df94e622-2061-49ae-ad1d-6f0e43ce6435">profiles in my Chromium based Edge browser&lt;/a>. This means I have two copies of Edge running, one for my 'real' work directory and the other for the training directory.&lt;/p></description></item><item><title>Caching NVD Vulnerability Dependency data on hosted Azure DevOps Pipeline agents</title><link>https://blogs.blackmarble.co.uk/rfennell/caching-nvd-dependancies/</link><pubDate>Wed, 06 Dec 2023 00:00:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/caching-nvd-dependancies/</guid><description>
&lt;h2 id="background">Background&lt;/h2>
&lt;p>On some projects we use &lt;a href="https://github.com/jeremylong/DependencyCheck">Jeremy Long's DependencyCheck&lt;/a> tool, via the &lt;a href="https://github.com/dependency-check/azuredevops">Azure DevOps task&lt;/a>, to scan our code for known vulnerabilities. This tool uses the &lt;a href="https://nvd.nist.gov/">National Vulnerability Database (NVD)&lt;/a> to get its data. This data is downloaded on demand from the NVD site but the DependencyCheck tool.&lt;/p>
&lt;p>Since the recent API changes on the NVD site, &lt;a href="https://github.com/jeremylong/DependencyCheck#900-upgrade-notice">as supported by DependencyCheck 9.0.x&lt;/a>, the downloading of the current vulnerability data has slowed from about 3 minutes to around 15 minutes, even with a valid &lt;a href="https://nvd.nist.gov/developers/request-an-api-key">NVD API Key&lt;/a>. So effectively slowing all our pipeline builds by 15 minutes, a very significant change if the rest of the build only takes a few seconds!&lt;/p></description></item><item><title>New problem when generating build agents using Packer</title><link>https://blogs.blackmarble.co.uk/rfennell/new-problem-when-generating-build-agents-using-packer/</link><pubDate>Thu, 19 Oct 2023 00:00:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/new-problem-when-generating-build-agents-using-packer/</guid><description>
&lt;h2 id="the-problem">The Problem&lt;/h2>
&lt;p>I have been using Packer to generate our Azure DevOps Build agent VHD images for a while now, but when I came to regenerate them this time I hit a problem.&lt;/p>
&lt;p>&lt;a href="https://blogs.blackmarble.co.uk/rfennell/you-need-to-pass-a-github-pat-to-create-azure-devops-agent-images-using-packer/">As I have documented previously&lt;/a>, our process is that we update our fork of the &lt;a href="https://github.com/actions/runner-images">Microsoft repository&lt;/a> and then merge the newest changes into our long lived branch that contains our customisations. I then use Packer to generate a new generalised VHD which has all the same features as the Microsoft hosted agents. I then use this VHD to create our new Hyper-V based self hosted Azure DevOps agent VMs using &lt;a href="https://github.com/VirtualEngine/Lability">Lability&lt;/a>.&lt;/p></description></item><item><title>Practical DevOps in the Enterprise - Event &amp; Whitepaper</title><link>https://blogs.blackmarble.co.uk/rfennell/practical-devops-in-the-enterprise/</link><pubDate>Sun, 08 Oct 2023 00:00:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/practical-devops-in-the-enterprise/</guid><description>
&lt;p>In advance of my upcoming Black Marble Webinar on the 18th October entitled 'Practical DevOps in the Enterprise', I have written a whitepaper of the same name.&lt;/p>
&lt;p>You can find the whitepaper on &lt;a href="https://www.linkedin.com/pulse/practical-devops-enterprise-black-marble/">LinkedIn&lt;/a> and register for this, and other free Black Marble webinars and in-person events, via &lt;a href="https://www.blackmarble.com/events">the Black Marble website&lt;/a>.&lt;/p></description></item><item><title>SonarQube Docker Container will not start</title><link>https://blogs.blackmarble.co.uk/rfennell/sonarqube-container-will-not-start/</link><pubDate>Wed, 27 Sep 2023 00:00:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/sonarqube-container-will-not-start/</guid><description>
&lt;h2 id="the-problem">The Problem&lt;/h2>
&lt;p>We run our SonarQube instance in a &lt;a href="https://devblogs.microsoft.com/premier-developer/sonarqube-hosted-on-azure-app-service/">Docker container hosted in an Azure Web App Service&lt;/a>. Today, with no notice, it failed. We did the obvious, just tried to restart it and the startup process failed.&lt;/p>
&lt;p>Looking at the Azure Web App's Log Stream we could see the following error repeated on each restart attempt&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="ln"> 1&lt;/span>&lt;span class="cl">2023-09-27T15:30:00.797Z INFO - Starting multi-container app..
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 2&lt;/span>&lt;span class="cl">2023-09-27T15:30:01.024Z INFO - Pulling image: sonarqube:10.1-developer
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 3&lt;/span>&lt;span class="cl">2023-09-27T15:30:02.100Z INFO - 10.1-developer Pulling from library/sonarqube
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 4&lt;/span>&lt;span class="cl">2023-09-27T15:30:02.291Z INFO - Digest: sha256:45e7cf02e037b00028d20556a91111f8ae8ae2b2803e516cb0665dd605a6d8b2
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 5&lt;/span>&lt;span class="cl">2023-09-27T15:30:02.292Z INFO - Status: Image is up to date for sonarqube:10.1-developer
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 6&lt;/span>&lt;span class="cl">2023-09-27T15:30:02.326Z INFO - Pull Image successful, Time taken: 0 Minutes and 1 Seconds
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 7&lt;/span>&lt;span class="cl">2023-09-27T15:30:02.344Z INFO - Starting container for site
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 8&lt;/span>&lt;span class="cl">2023-09-27T15:30:02.346Z INFO - docker run -d -p 8289:9000 --name bmsonarqubeprodwebsite_sonarqube_0_ec31111b -e WEBSITES_ENABLE_APP_SERVICE_STORAGE=false -e WEBSITE_SITE_NAME=bmsonarqubeprodwebsite -e WEBSITE_AUTH_ENABLED=False -e WEBSITE_ROLE_INSTANCE_ID=0 -e WEBSITE_HOSTNAME=bmsonarqubeprodwebsite.azurewebsites.net -e WEBSITE_INSTANCE_ID=6d27706a6b4eb56feec6ef57ab9b360923c5761cabb3fb52eb6fc5f4cdfbace3 -e WEBSITE_USE_DIAGNOSTIC_SERVER=False sonarqube:10.1-developer -Dsonar.search.javaAdditionalOpts=-Dnode.store.allow_mmap=false
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 9&lt;/span>&lt;span class="cl">2023-09-27T15:30:02.347Z INFO - Logging is not enabled for this container.
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">10&lt;/span>&lt;span class="cl">Please use https://aka.ms/linux-diagnostics to enable logging to see container logs here.
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">11&lt;/span>&lt;span class="cl">2023-09-27T15:31:09 No new trace in the past 1 min(s).
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">12&lt;/span>&lt;span class="cl">2023-09-27T15:32:09 No new trace in the past 2 min(s).
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">13&lt;/span>&lt;span class="cl">2023-09-27T15:33:09 No new trace in the past 3 min(s).
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">14&lt;/span>&lt;span class="cl">2023-09-27T15:33:52.465Z ERROR - multi-container unit was not started successfully
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="the-solution">The Solution&lt;/h2>
&lt;p>Something in the back of my mind, from when we ran an on-premises SonarQube instance, made me think of a corrupt ElasticSearch index.&lt;/p></description></item><item><title>Setting Azure DevOps Agent Pool Descriptions via the Azure DevOps API</title><link>https://blogs.blackmarble.co.uk/rfennell/setting-azure-devops-agent-pool_descriptions/</link><pubDate>Thu, 24 Aug 2023 00:00:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/setting-azure-devops-agent-pool_descriptions/</guid><description>
&lt;h2 id="the-issue">The Issue&lt;/h2>
&lt;p>If you are using &lt;a href="https://learn.microsoft.com/en-us/azure/devops/pipelines/agents/scale-set-agents?view=azure-devops">Azure Scale Set based Azure DevOps Agent Pools&lt;/a> (VMSS) to provide dynamically scalable agent pools, unlike with self hosted agent pools, there is no capabilities tab for the individual agents.&lt;/p>
&lt;p>&lt;img
loading="lazy"
decoding="async"
alt="Agent Capabilities tab"
class="image_figure image_internal image_unprocessed"
src="https://blogs.blackmarble.co.uk/images/rfennell/vmss1.png"
/>
&lt;/p>
&lt;p>My understanding is that this UX design choice was made as the capabilities of all the agents in a VMSS pool are identical, as they are the same disk image, so why show the same data multiple times.&lt;/p></description></item><item><title>Setting up Snipe IT on Azure using Docker</title><link>https://blogs.blackmarble.co.uk/rfennell/setting-up-snipe-it-on-azure/</link><pubDate>Wed, 09 Aug 2023 00:00:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/setting-up-snipe-it-on-azure/</guid><description>
&lt;h2 id="background">Background&lt;/h2>
&lt;p>I have recently been looking at getting &lt;a href="https://github.com/snipe/snipe-it">Snipe-IT&lt;/a> running on Azure using a Docker container. Though the documentation for this project is good, the detail for the Azure setup is a little lacking. So I thought I would document the steps and &lt;a href="https://rikhepworth.com/">Rik Hepworth&lt;/a> took to get it working.&lt;/p>
&lt;blockquote>
&lt;p>&lt;strong>Notes:&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>This is a simple configuration to get it working, it can obviously get a lot more complex with the setup of VNETs etc.&lt;/li>
&lt;li>This post documents the manual process, best practice and the next step will be to get it all automated with BICEP/ARM template - For an example of this see &lt;a href="https://gist.github.com/rfennell/c0aca11e656486b3fdb57845b18b9e3f">this GiST&lt;/a>&lt;/li>
&lt;/ul>&lt;/blockquote>
&lt;h2 id="create-an-azure-mysql-paas-instance">Create an Azure MySQL PaaS instance&lt;/h2>
&lt;ol>
&lt;li>Open the Azure Portal&lt;/li>
&lt;li>Create a new 'Azure Database for MySQL flexible server' in a new resource group
&lt;ul>
&lt;li>Provide a name for the instance&lt;/li>
&lt;li>Set your region&lt;/li>
&lt;li>Workload Type - for this test I use the lowest 'for development or hobby projects'&lt;/li>
&lt;li>Set the MySQL username and password&lt;/li>
&lt;li>For networking pick 'allow public access' and 'allow public access for any Azure service'&lt;/li>
&lt;/ul>
&lt;blockquote>
&lt;p>You can add your Client IP address to the firewall rules if you want to be able to connect to the DB from your local machine, but this is not essential. I had enabled this to do some testing with a locally hosted Docker instance.&lt;/p></description></item><item><title>SonarCloud Azure DevOps PR Analysis fails with a 404 error</title><link>https://blogs.blackmarble.co.uk/rfennell/sonar-cloud-pr-analysis-fails/</link><pubDate>Thu, 03 Aug 2023 00:00:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/sonar-cloud-pr-analysis-fails/</guid><description>
&lt;h1 id="the-problem">The Problem&lt;/h1>
&lt;p>Recently had an issue on a project that had been paused for a few months.&lt;/p>
&lt;p>When we restarted the project we found that the SonarCloud PR analysis, running via an Azure DevOps YAML pipeline, was failing with a 404 error. The strange thing was that the same pipeline running analysis of the main trunk or the branch the PR related to worked without error.&lt;/p>
&lt;h1 id="the-solution">The Solution&lt;/h1>
&lt;p>The issue was fixed by regenerating the &lt;a href="https://docs.sonarcloud.io/getting-started/azure-devops/">SonarCloud PAT that was registered in the Azure DevOps project's Service Connection&lt;/a>.&lt;/p></description></item><item><title>Fix for metadata generation failed exit code: 2147450750 loading wrong version of DLLs when building Azure Functions</title><link>https://blogs.blackmarble.co.uk/rfennell/fix-for-metadata-generation-failed-exit-code-2147450750-building-azure-functions/</link><pubDate>Wed, 19 Jul 2023 00:00:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/fix-for-metadata-generation-failed-exit-code-2147450750-building-azure-functions/</guid><description>
&lt;h2 id="the-problem">The Problem&lt;/h2>
&lt;p>Recently an Azure DevOps Pipeline for a .NET 6 based Azure Functions started to fail on some of our self-hosted build agents with the error&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-gdscript3" data-lang="gdscript3">&lt;span class="line">&lt;span class="ln">1&lt;/span>&lt;span class="cl">&lt;span class="c1">##[error]C:\Users\Administrator\.nuget\packages\microsoft.azure.webjobs.script.extensionsmetadatagenerator\4.0.1\build\Microsoft.Azure.WebJobs.Script.ExtensionsMetadataGenerator.targets(37,5): Error : Metadata generation failed. Exit code: &amp;#39;-2147450750&amp;#39; Error: &amp;#39;Failed to load the dll from [C:\hostedtoolcache\windows\dotnet\shared\Microsoft.NETCore.App\3.1.32\hostpolicy.dll], HRESULT: 0x800700C1An error occurred while loading required library hostpolicy.dll from [C:\hostedtoolcache\windows\dotnet\shared\Microsoft.NETCore.App\3.1.32]&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>The pipeline it self was simple, just repeating the steps a developer would use locally&lt;/p></description></item><item><title>Update on sending social media posts from Hugo based static site</title><link>https://blogs.blackmarble.co.uk/rfennell/update-on-sending-social-media-posts-from-hugo-based-static-site/</link><pubDate>Thu, 13 Jul 2023 00:00:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/update-on-sending-social-media-posts-from-hugo-based-static-site/</guid><description>
&lt;p>Around a year ago I posted on &lt;a href="https://blogs.blackmarble.co.uk/rfennell/social-media-posts-after-migrating-from-wordpress-to-hugo/">'Social Media Posts after Migrating from WordPress to Hugo Static Pages'&lt;/a>. Recently I have found that the Twitter functionality in my Logic App was failing.&lt;/p>
&lt;p>Turns out this was due to the changes in the &lt;a href="https://developer.twitter.com/en/products/twitter-api">Twitter Free API&lt;/a>, with them moving from V1 to V2 which requires OAuth authentication as opposed to a Bearer token.&lt;/p>
&lt;p>In essence the core of the problem is that the built-in &lt;a href="https://learn.microsoft.com/en-us/samples/azure-samples/azure-serverless-twitter-subscription/azure-serverless-twitter-subscription/">Logic Apps Twitter Connector&lt;/a> only supports the V1 Twitter API. So the only option was to create my own custom solution.&lt;/p></description></item><item><title>How to run your own maintenance job on Azure DevOps pipelines</title><link>https://blogs.blackmarble.co.uk/rfennell/how-to-run-your-own-maintainance-job-on-azure-devops-pipelines/</link><pubDate>Wed, 12 Jul 2023 00:00:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/how-to-run-your-own-maintainance-job-on-azure-devops-pipelines/</guid><description>
&lt;blockquote>
&lt;p>&lt;strong>Updated:&lt;/strong> 19 Jul 2023 - Revised the post to use Az CLI Task as opposed to a PowerShell Task&lt;/p>&lt;/blockquote>
&lt;blockquote>
&lt;p>&lt;strong>Updated:&lt;/strong> 29 Aug 2024 - Revised the PowerShell as original version was not working. Also see follow up &lt;a href="https://blogs.blackmarble.co.uk/rfennell/how-to-run-your-own-maintainance-job-on-azure-devops-pipelines-revisted/">post on using Workload Identity federation&lt;/a>&lt;/p>&lt;/blockquote>
&lt;h2 id="background">Background&lt;/h2>
&lt;p>Azure DevOps Pipelines have a built in mechanism to run &lt;a href="https://learn.microsoft.com/en-us/azure/devops/pipelines/agents/pools-queues?view=azure-devops&amp;amp;tabs=yaml%2Cbrowser#what-is-a-maintenance-job">maintenance jobs&lt;/a> on a schedule. This is great for cleaning out old temporary data, but what if you want to run your own maintenance job?&lt;/p></description></item><item><title>Bit rot is killing my pipelines</title><link>https://blogs.blackmarble.co.uk/rfennell/bit-rot-is-killing-my-pipelines/</link><pubDate>Wed, 26 Apr 2023 00:00:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/bit-rot-is-killing-my-pipelines/</guid><description>
&lt;p>In a modern hybrid cloud world we have to accept constant change as the norm. You can't just build something and forget about it. You have to keep it up to date as newer tools/libraries appear. This is to at least address security issues, even if you don't want to adopt the new features.&lt;/p>
&lt;p>So I am expecting a degree of maintenance work on my Azure DevOps pipelines. However, this is becoming more awkward as many of the tasks used by Azure Pipelines, even ones from Microsoft, are themselves not being maintained.&lt;/p></description></item><item><title>Moving my Azure DevOps Pipeline generated social posts to Azure Logic Apps</title><link>https://blogs.blackmarble.co.uk/rfennell/moving-my-azure-devops-pipeline-social-posts-to-logic-apps/</link><pubDate>Tue, 25 Apr 2023 00:00:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/moving-my-azure-devops-pipeline-social-posts-to-logic-apps/</guid><description>
&lt;p>I &lt;a href="https://blogs.blackmarble.co.uk/rfennell/social-media-posts-after-migrating-from-wordpress-to-hugo/">posted&lt;/a> a while ago about how I had automated the generation of social media posts for my static Hugo based website using Azure Logic Apps.&lt;/p>
&lt;p>The other place I auto-generate social media posts is from releases via my project's Azure DevOps Pipeline builds. These use a YAML Pipeline Template that calls a &lt;a href="https://marketplace.visualstudio.com/items?itemName=petergroenewegen.PeterGroenewegen-Xpirit-Vsts-Release-Twitter">Marketplace task to post to Twitter&lt;/a> and a PowerShell task to &lt;code>Invoke-WebRequest&lt;/code> to post to Mastodon.&lt;/p>
&lt;p>Recently the Twitter task started to fail, and given the recent changes to the Twitter API with the move to the &lt;a href="https://developer.twitter.com/en/support/twitter-api/v2">V2 API&lt;/a>, I decided a new solution was required.&lt;/p></description></item><item><title>A more secure alternative to PAT tokens for accessing Azure DevOps Programmatically</title><link>https://blogs.blackmarble.co.uk/rfennell/a-more-secure-alternative-to-pat-tokens-for-azure-devops/</link><pubDate>Fri, 21 Apr 2023 00:00:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/a-more-secure-alternative-to-pat-tokens-for-azure-devops/</guid><description>
&lt;h2 id="background">Background&lt;/h2>
&lt;p>When working with Azure DevOps, you may need to access the &lt;a href="https://learn.microsoft.com/en-us/rest/api/azure/devops/?view=azure-devops-rest-7.1">REST API&lt;/a> if you wish to perform scripted tasks such as creating work items, or generating reports. Historically, you had to use a &lt;a href="https://learn.microsoft.com/en-us/azure/devops/organizations/accounts/use-personal-access-tokens-to-authenticate?view=azure-devops&amp;amp;tabs=Windows">Personal Access Token (PAT)&lt;/a> to do this.&lt;/p>
&lt;p>If you look in my &lt;a href="https://github.com/rfennell/AzureDevOpsPowershell">repo of useful Azure DevOps PowerShell scripts&lt;/a> you will find all the scripts make use of a function that creates an authenticated &lt;code>WebClient&lt;/code> object using a passed in PAT token.&lt;/p></description></item><item><title>Downloading NuGet packages with 'System.Net.WebClient' from an Azure DevOps Artifact feed</title><link>https://blogs.blackmarble.co.uk/rfennell/downloading-nuget-packages-with-system.net.webclient/</link><pubDate>Sat, 01 Apr 2023 00:00:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/downloading-nuget-packages-with-system.net.webclient/</guid><description>
&lt;h2 id="background">Background&lt;/h2>
&lt;p>We use &lt;a href="https://github.com/VirtualEngine/Lability">Lability&lt;/a> to build Windows Server images for our test labs. Lability makes use of &lt;a href="https://docs.microsoft.com/en-us/powershell/dsc/overview">Desired State Configuration&lt;/a> (DSC) to build the VM images. Part of this process is for Lability to download DSC modules, as ZIP files, from a NuGet feed such as &lt;a href="https://www.powershellgallery.com/">PowerShell Gallery&lt;/a> to inject into the created VM image.&lt;/p>
&lt;p>Historically, we have stored our own private DSC modules on an internally hosted NuGet server. However, we wanted to move these modules to a private &lt;a href="https://docs.microsoft.com/en-us/azure/devops/artifacts/quickstarts/nuget?view=azure-devops">Azure DevOps Artifacts feed&lt;/a>. The problem was that Lability does not support downloading of DSC modules from Azure DevOps Artifact feeds, whether they are public or private, because of the way the package URLs are constructed.&lt;/p></description></item><item><title>Pinning specific Azure DevOps task versions</title><link>https://blogs.blackmarble.co.uk/rfennell/pinning-specific-azure-devops-task-versions/</link><pubDate>Wed, 08 Mar 2023 00:00:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/pinning-specific-azure-devops-task-versions/</guid><description>
&lt;p>I make every effort keep all my &lt;a href="https://marketplace.visualstudio.com/search?term=fennell&amp;amp;target=AzureDevOps&amp;amp;category=All%20categories&amp;amp;sortBy=Relevance">Azure DevOps Pipeline extensions&lt;/a> reliable as I know they are used by many people, but mistakes happen.&lt;/p>
&lt;p>Yesterday I released an updated version of my &lt;a href="https://marketplace.visualstudio.com/items?itemName=richardfennellBM.BM-VSTS-XplatGenerateReleaseNotes">ReleaseNotes task&lt;/a> that introduced a bug if the pipeline produced no artifacts. I am pleased to say I have fixed the bug, and addressed this gap in my test coverage.&lt;/p>
&lt;p>However, this did mean for about 12 hours if you are using this task in a pipeline that did not produce artifacts, maybe one that just deployed consumed artifacts from other pipelines, you had a failing pipeline.&lt;/p></description></item><item><title>Getting x86 .NET 3.x tests running on the latest Azure Devops hosted agents</title><link>https://blogs.blackmarble.co.uk/rfennell/getting-x86-test-running-on-the-latest-azure-devops-hosted-agents/</link><pubDate>Mon, 06 Mar 2023 00:00:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/getting-x86-test-running-on-the-latest-azure-devops-hosted-agents/</guid><description>
&lt;h2 id="background">Background&lt;/h2>
&lt;p>At Black Marble we have our own private build agents, but they are built using the same &lt;a href="https://blogs.blackmarble.co.uk/rfennell/creating-hyper-v-hosted-azure-devops-private-agents-based-on-the-same-vm-images-as-used-by-microsoft-for-their-hosted-agents/">Packer process as the Microsoft hosted ones&lt;/a>. I recently rebuilt our agents to match the latest version of the hosted agents, and I ran into an issue with some .NET 3.1 based x86 MSTests. The tests were failing with the following error:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="ln">1&lt;/span>&lt;span class="cl">A total of 34 test files matched the specified pattern.
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">2&lt;/span>&lt;span class="cl">##[error]Testhost process exited with error: A fatal error occurred. The required library hostfxr.dll could not be found.
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">3&lt;/span>&lt;span class="cl">##[error]If this is a self-contained application, that library should exist in [E:\Agent\_work\1\s\src\Ux.Common.UnitTests\bin\x86\Release\netcoreapp3.1\].
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">4&lt;/span>&lt;span class="cl">##[error]If this is a framework-dependent application, install the runtime in the global location [C:\Program Files (x86)\dotnet] or use the DOTNET_ROOT(x86) environment variable to specify the runtime location or register the runtime location in [HKLM\SOFTWARE\dotnet\Setup\InstalledVersions\x86\InstallLocation].
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>When I checked the folder &lt;code>C:\Program Files (x86)\dotnet&lt;/code> it was not there, .NET 3.1 x86 was no longer present on the agent.&lt;/p></description></item><item><title>Getting "cannot find path" error using Install-Package</title><link>https://blogs.blackmarble.co.uk/rfennell/getting-cannot-find-path-error-using-install-package/</link><pubDate>Mon, 27 Feb 2023 00:00:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/getting-cannot-find-path-error-using-install-package/</guid><description>
&lt;h2 id="background">Background&lt;/h2>
&lt;p>I was recently trying to use PowerShelGet &lt;code>Install-Package&lt;/code> to install a module from an Azure DevOps Artifacts hosted PowerShell Gallery using the following script&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-powershell" data-lang="powershell">&lt;span class="line">&lt;span class="ln">1&lt;/span>&lt;span class="cl">&lt;span class="c"># For authentication use a PAT as the password, UID can be anything&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">2&lt;/span>&lt;span class="cl">&lt;span class="nv">$PATcreds&lt;/span> &lt;span class="p">=&lt;/span> &lt;span class="nb">Get-Credential&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">3&lt;/span>&lt;span class="cl">&lt;span class="nb">Register-PSRepository&lt;/span> &lt;span class="n">-Name&lt;/span> &lt;span class="n">BM&lt;/span> &lt;span class="n">-SourceLocation&lt;/span> &lt;span class="s1">&amp;#39;https://pkgs.dev.azure.com/&amp;lt;org&amp;gt;/_packaging/PowerShell/nuget/v2&amp;#39;&lt;/span> &lt;span class="n">-PublishLocation&lt;/span> &lt;span class="s1">&amp;#39;https://pkgs.dev.azure.com/&amp;lt;org&amp;gt;/_packaging/PowerShell/nuget/v2&amp;#39;&lt;/span> &lt;span class="n">-InstallationPolicy&lt;/span> &lt;span class="n">Trusted&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">4&lt;/span>&lt;span class="cl">&lt;span class="nb">Install-Package&lt;/span> &lt;span class="n">BlackMarble&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="py">Package&lt;/span> &lt;span class="n">-Source&lt;/span> &lt;span class="n">BM&lt;/span> &lt;span class="n">-Credential&lt;/span> &lt;span class="nv">$PATcreds&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>The script did not work I was getting the error&lt;/p>
&lt;blockquote>
&lt;p>Install-Package : Cannot find the path 'C:\Users&amp;lt;user&amp;gt;\AppData\Local\Temp\936930114\BlackMarble.Package\BlackMarble.Package.0.3.79\BlackMarble.Package.psd1' because it does not exist.&lt;/p>&lt;/blockquote>
&lt;p>You could see a download progress bar that suggested the download had occurred, but no module was installed.&lt;/p></description></item><item><title>What happens when you link an Azure DevOps Variable Group to an Azure Key Vault?</title><link>https://blogs.blackmarble.co.uk/rfennell/what-happens-when-you-link-a-variable-group-to-key-vault/</link><pubDate>Mon, 13 Feb 2023 00:00:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/what-happens-when-you-link-a-variable-group-to-key-vault/</guid><description>
&lt;h2 id="background">Background&lt;/h2>
&lt;p>It is a really useful feature that you can expose &lt;a href="https://learn.microsoft.com/en-us/azure/devops/pipelines/library/variable-groups?view=azure-devops&amp;amp;tabs=yaml#link-secrets-from-an-azure-key-vault">Key Vault stored secrets as Azure DevOps pipeline variables via a variable group&lt;/a>, but what happens when you do this? And what can you do if you try to expose too many variables?&lt;/p>
&lt;p>I was recently working on a system where there was an increasing number of Key Vault secrets that were being exposed as variables via a variable group. This was working fine, until I started getting warnings in the following form on Windows based Azure DevOps agents:&lt;/p></description></item><item><title>Handling return values from Azure Functions in Hugo static website</title><link>https://blogs.blackmarble.co.uk/rfennell/hugo-static-website-azure-functions-and-return-values/</link><pubDate>Fri, 20 Jan 2023 00:00:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/hugo-static-website-azure-functions-and-return-values/</guid><description>
&lt;h2 id="background">Background&lt;/h2>
&lt;p>I am using an Azure Function as backend for processing forms submissions from a Hugo static website, to process a simple contact form.&lt;/p>
&lt;p>I wanted to add reCAPTCHA support, as the site was generating too many spam emails. I also wanted to show a different confirmation pages depending on whether the reCAPTCHA check passed or failed&lt;/p>
&lt;p>There a good few posts about using an Azure Function as backend for a static web site form. But what I could not find was how to handle the return value from the Azure Function.&lt;/p></description></item><item><title>Could not find assembly deploying a dotnet 6 console app</title><link>https://blogs.blackmarble.co.uk/rfennell/could-not-find-assembly-deploying-dotnet6-app/</link><pubDate>Fri, 13 Jan 2023 00:00:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/could-not-find-assembly-deploying-dotnet6-app/</guid><description>
&lt;h2 id="problem">Problem&lt;/h2>
&lt;p>After deploying a dotnet 6 console app to a production server, I got the following error:&lt;/p>
&lt;blockquote>
&lt;p>Exception: [Could not load file or assembly 'System.Data.Odbc, Version=6.0.0.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51'. The system cannot find the file specified.]&lt;/p>&lt;/blockquote>
&lt;p>The strange thing was the same EXE, built on a Microsoft hosted Azure DevOps build agent, was working on the test server and was deployed using the same Azure DevOps Pipeline to both systems.&lt;/p></description></item><item><title>Book Review - Code: The Hidden Language of Computer Hardware and Software</title><link>https://blogs.blackmarble.co.uk/rfennell/code-the-hidden-language-of-computer-hardware-and-software/</link><pubDate>Wed, 11 Jan 2023 00:00:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/code-the-hidden-language-of-computer-hardware-and-software/</guid><description>
&lt;p>Late last year at (DDDNorth](&lt;a href="https://twitter.com/dddnorth">https://twitter.com/dddnorth&lt;/a>) my session had the title &lt;a href="https://github.com/rfennell/Presentations">'Why don't people seem to be able to diagnose problems these days?'&lt;/a>. Between anecdotes, a key theme was tha people too often don't make sensible diagnostic steps. A problem caused, in my opinion, by the fact they have not been exposed to the fundamentals of how a computer works, due to the way computing is taught today, as opposed to how it was taught in my youth in the 80s&lt;/p></description></item><item><title>Duplicate Test DLLs with vstest.console.exe causes failures</title><link>https://blogs.blackmarble.co.uk/rfennell/duplicate-test-dlls-with-vstest.console.exe-causes-failures/</link><pubDate>Mon, 09 Jan 2023 00:00:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/duplicate-test-dlls-with-vstest.console.exe-causes-failures/</guid><description>
&lt;h2 id="the-problem">The Problem&lt;/h2>
&lt;p>I recently did our regular &lt;a href="https://blogs.blackmarble.co.uk/rfennell/building-private-vsts-build-agents-using-the-microsoft-packer-based-agent-image-creation-model/?query=build%20agents">update of our Azure DevOps Private build agents&lt;/a>. It is rare we see problems when we do this, but this time one of our very regularly run builds started to fail when running unit tests.&lt;/p>
&lt;p>We had not changed the project source code, all the test ran locally in Visual Studio. We had not change the build pipeline YAML&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-YAML" data-lang="YAML">&lt;span class="line">&lt;span class="ln">1&lt;/span>&lt;span class="cl">&lt;span class="w"> &lt;/span>- &lt;span class="nt">task&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="l">VSTest@2&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">2&lt;/span>&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">displayName&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="s1">&amp;#39;Unit Tests - Services&amp;#39;&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">3&lt;/span>&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">inputs&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">4&lt;/span>&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">testAssemblyVer2&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="p">|&lt;/span>&lt;span class="sd">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">5&lt;/span>&lt;span class="cl">&lt;span class="sd"> **\*.unittests.dll
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">6&lt;/span>&lt;span class="cl">&lt;span class="sd"> !**\obj\**&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">7&lt;/span>&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">searchFolder&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="l">&amp;#39;$(System.DefaultWorkingDirectory)/src&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>And from the pipeline logs, we could see that the CLI command being generated by the &lt;code>VSTest@2&lt;/code> task was also unchanged, finding 39 DLLs that matched the filter.&lt;/p></description></item><item><title>GitHub agent Node version stops Hugo site build</title><link>https://blogs.blackmarble.co.uk/rfennell/agent-node-version-stops-hugo-site-build/</link><pubDate>Fri, 16 Dec 2022 00:00:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/agent-node-version-stops-hugo-site-build/</guid><description>
&lt;h2 id="the-problem">The Problem&lt;/h2>
&lt;p>I have &lt;a href="https://blogs.blackmarble.co.uk/search/?query=hugo&amp;amp;scope=rfennell">blogged previously&lt;/a> about moving various web sites over to become Hugo Static Sites.&lt;/p>
&lt;p>Recently one of my site's, one using the &lt;a href="https://tailwindcss.com/">tailwindscss module&lt;/a>, GitHub Build and Deployment Workflow started failing with the following error:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-gdscript3" data-lang="gdscript3">&lt;span class="line">&lt;span class="ln"> 1&lt;/span>&lt;span class="cl">&lt;span class="n">Start&lt;/span> &lt;span class="n">building&lt;/span> &lt;span class="n">sites&lt;/span> &lt;span class="err">…&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 2&lt;/span>&lt;span class="cl">&lt;span class="n">hugo&lt;/span> &lt;span class="n">v0&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mf">108.0&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">a0d64a46e36dd2f503bfd5ba1a5807b900df231d&lt;/span>&lt;span class="o">+&lt;/span>&lt;span class="n">extended&lt;/span> &lt;span class="n">linux&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">amd64&lt;/span> &lt;span class="n">BuildDate&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">2022&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="mi">12&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="mi">06&lt;/span>&lt;span class="n">T13&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="mi">37&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="mi">56&lt;/span>&lt;span class="n">Z&lt;/span> &lt;span class="n">VendorInfo&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="n">gohugoio&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 3&lt;/span>&lt;span class="cl">&lt;span class="n">Error&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="n">Error&lt;/span> &lt;span class="n">building&lt;/span> &lt;span class="n">site&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="n">POSTCSS&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="n">failed&lt;/span> &lt;span class="n">to&lt;/span> &lt;span class="n">transform&lt;/span> &lt;span class="s2">&amp;#34;css/style.css&amp;#34;&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="n">text&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">css&lt;/span>&lt;span class="p">):&lt;/span> &lt;span class="n">node&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="n">internal&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">errors&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="mi">478&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 4&lt;/span>&lt;span class="cl"> &lt;span class="n">ErrorCaptureStackTrace&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">err&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 5&lt;/span>&lt;span class="cl"> &lt;span class="o">^&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 6&lt;/span>&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 7&lt;/span>&lt;span class="cl">&lt;span class="n">SystemError&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">ERR_SYSTEM_ERROR&lt;/span>&lt;span class="p">]:&lt;/span> &lt;span class="n">A&lt;/span> &lt;span class="n">system&lt;/span> &lt;span class="n">error&lt;/span> &lt;span class="n">occurred&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="n">uv_os_homedir&lt;/span> &lt;span class="n">returned&lt;/span> &lt;span class="n">ENOENT&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="n">no&lt;/span> &lt;span class="n">such&lt;/span> &lt;span class="n">file&lt;/span> &lt;span class="ow">or&lt;/span> &lt;span class="n">directory&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 8&lt;/span>&lt;span class="cl"> &lt;span class="n">at&lt;/span> &lt;span class="ne">Object&lt;/span>&lt;span class="o">.&amp;lt;&lt;/span>&lt;span class="n">anonymous&lt;/span>&lt;span class="o">&amp;gt;&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">opt&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">nodejs&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="mf">16.18&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">0&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">lib&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">node_modules&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">npm&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">node_modules&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">clean&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">stack&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">index&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">js&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="mi">6&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="mi">61&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 9&lt;/span>&lt;span class="cl"> &lt;span class="n">at&lt;/span> &lt;span class="n">Module&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">_compile&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="n">node&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="n">internal&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">modules&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">cjs&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">loader&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="mi">1155&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="mi">14&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">10&lt;/span>&lt;span class="cl"> &lt;span class="n">at&lt;/span> &lt;span class="ne">Object&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">Module&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">_extensions&lt;/span>&lt;span class="o">..&lt;/span>&lt;span class="n">js&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="n">node&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="n">internal&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">modules&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">cjs&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">loader&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="mi">1209&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="mi">10&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">11&lt;/span>&lt;span class="cl"> &lt;span class="n">at&lt;/span> &lt;span class="n">Module&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">load&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="n">node&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="n">internal&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">modules&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">cjs&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">loader&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="mi">1033&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="mi">32&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">12&lt;/span>&lt;span class="cl"> &lt;span class="n">at&lt;/span> &lt;span class="n">Function&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">Module&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">_load&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="n">node&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="n">internal&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">modules&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">cjs&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">loader&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="mi">868&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="mi">12&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">13&lt;/span>&lt;span class="cl"> &lt;span class="n">at&lt;/span> &lt;span class="n">Module&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">require&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="n">node&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="n">internal&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">modules&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">cjs&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">loader&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="mi">1057&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="mi">19&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">14&lt;/span>&lt;span class="cl"> &lt;span class="n">at&lt;/span> &lt;span class="n">require&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="n">node&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="n">internal&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">modules&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">cjs&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">helpers&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="mi">103&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="mi">18&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">15&lt;/span>&lt;span class="cl"> &lt;span class="n">at&lt;/span> &lt;span class="ne">Object&lt;/span>&lt;span class="o">.&amp;lt;&lt;/span>&lt;span class="n">anonymous&lt;/span>&lt;span class="o">&amp;gt;&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">opt&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">nodejs&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="mf">16.18&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="mi">0&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">lib&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">node_modules&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">npm&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">node_modules&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">aggregate&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">error&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">index&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">js&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="mi">3&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="mi">20&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">16&lt;/span>&lt;span class="cl"> &lt;span class="n">at&lt;/span> &lt;span class="n">Module&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">_compile&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="n">node&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="n">internal&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">modules&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">cjs&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">loader&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="mi">1155&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="mi">14&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">17&lt;/span>&lt;span class="cl"> &lt;span class="n">at&lt;/span> &lt;span class="ne">Object&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">Module&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">_extensions&lt;/span>&lt;span class="o">..&lt;/span>&lt;span class="n">js&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="n">node&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="n">internal&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">modules&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">cjs&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">loader&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="mi">1209&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="mi">10&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">18&lt;/span>&lt;span class="cl"> &lt;span class="n">code&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s1">&amp;#39;ERR_SYSTEM_ERROR&amp;#39;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">19&lt;/span>&lt;span class="cl"> &lt;span class="n">info&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">20&lt;/span>&lt;span class="cl"> &lt;span class="n">errno&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="o">-&lt;/span>&lt;span class="mi">2&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">21&lt;/span>&lt;span class="cl"> &lt;span class="n">code&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s1">&amp;#39;ENOENT&amp;#39;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">22&lt;/span>&lt;span class="cl"> &lt;span class="n">message&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s1">&amp;#39;no such file or directory&amp;#39;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">23&lt;/span>&lt;span class="cl"> &lt;span class="n">syscall&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s1">&amp;#39;uv_os_homedir&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">24&lt;/span>&lt;span class="cl"> &lt;span class="p">},&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">25&lt;/span>&lt;span class="cl"> &lt;span class="n">errno&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">Getter&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">Setter&lt;/span>&lt;span class="p">],&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">26&lt;/span>&lt;span class="cl"> &lt;span class="n">syscall&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">Getter&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">Setter&lt;/span>&lt;span class="p">]&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">27&lt;/span>&lt;span class="cl">&lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">28&lt;/span>&lt;span class="cl">&lt;span class="n">Total&lt;/span> &lt;span class="ow">in&lt;/span> &lt;span class="mi">1653&lt;/span> &lt;span class="n">ms&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="solution">Solution&lt;/h2>
&lt;p>The problem it turned out was that the default version of Node used by the GitHub Actions runner had changed from Node 14 to Node 16.&lt;/p></description></item><item><title>Updating my Azure DevOps Pipeline Task to Use the Node16 Runner</title><link>https://blogs.blackmarble.co.uk/rfennell/updating-my-azure-devops-tasks-to-node16/</link><pubDate>Tue, 13 Dec 2022 00:00:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/updating-my-azure-devops-tasks-to-node16/</guid><description>
&lt;h2 id="background">Background&lt;/h2>
&lt;p>It is easy to create an Open Source Project and leave it to gather technical debt as the libraries it depends upon are updated.&lt;/p>
&lt;p>I have tried to keep on top of updating all &lt;a href="https://marketplace.visualstudio.com/search?term=fennell&amp;amp;target=AzureDevOps&amp;amp;category=All%20categories&amp;amp;sortBy=Relevance">my Azure DevOps Pipeline Extensions&lt;/a>, and I have to say &lt;a href="https://docs.github.com/en/code-security/dependabot/working-with-dependabot">Dependabot&lt;/a> has certainly helped, but I have not been as diligent as I might have been.&lt;/p>
&lt;p>So, as a Christmas project, I took the chance to start to do a major update of all my extensions. To make sure they used the newer Node16 execution runner (as per &lt;a href="https://github.com/microsoft/azure-pipelines-tasks/blob/master/docs/migrateNode16.md">the document update process&lt;/a>) and to update all the NPM packages used.&lt;/p></description></item><item><title>You need a license to touch that (revised 18 years on)</title><link>https://blogs.blackmarble.co.uk/rfennell/you-need-a-license-to-touch-that-revised/</link><pubDate>Mon, 05 Dec 2022 00:00:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/you-need-a-license-to-touch-that-revised/</guid><description>
&lt;h1 id="you-need-a-license-to-touch-that-the-case-for-licensing-of-individuals-within-the-software-engineering-profession">“You need a license to touch that!”. The case for licensing of individuals within the software engineering profession.&lt;/h1>
&lt;blockquote>
&lt;h2 id="background">Background&lt;/h2>
&lt;p>Back in 2004 I completed my BSc Degree in Computer Science at Bradford University; only 20 years after I started. My year in industry got out of hand!&lt;/p>
&lt;p>One module I did involved me writing a paper on a legal area concerning computing. I chose to discuss licensing of engineers.&lt;/p>
&lt;p>Whilst at the &lt;a href="https://www.dddnorth.co.uk/">DDDNorth&lt;/a> community conference last weekend (Dec 2022) I got chatting on aspects of staff development, problem solving and training with a fellow MVP &lt;a href="https://twitter.com/MattVSTS">Matteo Emili&lt;/a> and I mentioned this paper I had written. We both thought it might be interesting to revisit it and see if it still held true, best part of 20 years on.&lt;/p></description></item><item><title>Fixing my Logitech Spotlight Presentation Remote that would not switch on</title><link>https://blogs.blackmarble.co.uk/rfennell/fixing-my-logitech-spotlight/</link><pubDate>Mon, 14 Nov 2022 00:00:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/fixing-my-logitech-spotlight/</guid><description>
&lt;h2 id="the-problem">The Problem&lt;/h2>
&lt;p>I am getting back out in front of audiences again as opposed to doing Teams/Zoom events. So I dug out my trusty Logitech Spotlight presentation remote from the bag where it had been sitting for well over a year. However, there was a problem, it would not pair with my re-built Windows 11 PC. It could not even switch on.&lt;/p>
&lt;p>A quick search showed I was not alone in having this problem, &lt;a href="https://support.logi.com/hc/en-us/community/posts/360049560234-Spotlight-not-charging">the Logitech forums showed a lot of angry people&lt;/a>. The summary was, if left alone for a few months a Spotlight goes so flat it cannot be charged, and Logitech don't have a fix, or seem to care. There were a lot of comments about very expensive paper weights.&lt;/p></description></item><item><title>Using Azure DevOps Migration Tools Again</title><link>https://blogs.blackmarble.co.uk/rfennell/time-for-azure-devops-migration-tools-again/</link><pubDate>Fri, 11 Nov 2022 00:00:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/time-for-azure-devops-migration-tools-again/</guid><description>
&lt;p>I have recently been working with a client who needed to move Azure DevOps Work Items between Team Projects on different Azure DevOps instances. The &lt;a href="https://blogs.blackmarble.co.uk/rfennell/options-migrating-tfs-to-vsts/">only realistic choice&lt;/a> was to use the free open source &lt;a href="https://marketplace.visualstudio.com/items?itemName=nkdagility.vsts-sync-migration">Azure DevOps Migration Tools&lt;/a>.&lt;/p>
&lt;p>I have used these tools before, but it was a while ago, and as it is under active development, I had to relearn a few things. It is fair to say that the learning curve for this tool is steep, but as the documentation does not hide this&lt;/p></description></item><item><title>GitVersion task fails on a cloned Azure DevOps YAML Pipeline</title><link>https://blogs.blackmarble.co.uk/rfennell/gitversion-fails-on-a-cloned-yaml-build/</link><pubDate>Tue, 08 Nov 2022 00:00:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/gitversion-fails-on-a-cloned-yaml-build/</guid><description>
&lt;h2 id="problem">Problem&lt;/h2>
&lt;p>I recently had a strange problem. I had an existing Azure DevOps YAML Pipeline that used the checkout task to do a deep Git fetch of a repo and it's submodules. The reason for the deep fetch was that later in the pipeline we ran GitVersion and this needs the whole repo to be able to calculate the version.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-yaml" data-lang="yaml">&lt;span class="line">&lt;span class="ln"> 1&lt;/span>&lt;span class="cl">- &lt;span class="nt">checkout&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="l">self&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 2&lt;/span>&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">persistCredentials&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="kc">true&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 3&lt;/span>&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">submodules&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="kc">true&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 4&lt;/span>&lt;span class="cl">&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 5&lt;/span>&lt;span class="cl">&lt;span class="w">&lt;/span>- &lt;span class="nt">task&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="l">gitversion/setup@0&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 6&lt;/span>&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">displayName&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="s1">&amp;#39;Get current version of GitVersion&amp;#39;&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 7&lt;/span>&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">inputs&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 8&lt;/span>&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">versionSpec&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="s1">&amp;#39;5.x&amp;#39;&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 9&lt;/span>&lt;span class="cl">&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">10&lt;/span>&lt;span class="cl">&lt;span class="w">&lt;/span>- &lt;span class="nt">task&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="l">gitversion/execute@0&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">11&lt;/span>&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">displayName&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="s1">&amp;#39;Run GitVersion to generate SEMVER&amp;#39;&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">12&lt;/span>&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">inputs&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">13&lt;/span>&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">useConfigFile&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="kc">true&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">14&lt;/span>&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">configFilePath&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="s1">&amp;#39;$(System.DefaultWorkingDirectory)/GitVersion.yml&amp;#39;&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>On this original pipeline this was all working as expected.&lt;/p></description></item><item><title>Migrating our "Living the Dream" DevOps demo to GitHub Enterprise</title><link>https://blogs.blackmarble.co.uk/rfennell/migrating-living-the-dream-to-github/</link><pubDate>Tue, 01 Nov 2022 00:00:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/migrating-living-the-dream-to-github/</guid><description>
&lt;p>At Black Marble, we have had a long standing Azure DevOps Team Project that we used for end-to-end demos of the principles of DevOps called &lt;a href="https://www.youtube.com/watch?v=TCmwR-HdvSk&amp;amp;index=1&amp;amp;list=PLiP6RW7A4433fa1t77ZU4aq0DM08brY5t">Living the Dream&lt;/a>. This used a legacy codebase, the old Microsoft Fabrikam demo, and showed that can be deployed using modern tools.&lt;/p>
&lt;p>As I had no similar demo for GitHub Enterprise, I thought it would be interesting to see how the migration process taking my Azure DevOps implementation over to GitHub would go. This is a good learning exercise as it is the type of problem that many of our enterprise clients will need to do if changing DevOps platform. My key aim was to do the minimum to get the CI/CD process moved from Azure Pipelines to GitHub Action&lt;/p></description></item><item><title>Ignite 2022 Azure DevOps &amp; GitHub Announcements - GitHub Advanced Security comes to Azure DevOps</title><link>https://blogs.blackmarble.co.uk/rfennell/ignite-2022-azure-devops-and-github-announcements/</link><pubDate>Wed, 12 Oct 2022 00:00:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/ignite-2022-azure-devops-and-github-announcements/</guid><description>
&lt;p>Today at &lt;a href="https://ignite.microsoft.com/">Microsoft's Ignite Conference&lt;/a> there have been some very interesting announcements related to Azure DevOps and GitHub.&lt;/p>
&lt;p>In the recent past, I have seen confusion from our clients as to what is Microsoft's recommended DevOps solution, given they have both Azure DevOps and GitHub.&lt;/p>
&lt;p>It is true that Microsoft have said, and continue to say, that GitHub is the 'north star' the long term destination for all users. However, that does not help clients today. Many of mine ask 'but I am using Azure DevOps, but all Microsoft seem to talk about is GitHub, is Azure DevOps dead?'.&lt;/p></description></item><item><title>SonarCloud PR branch analysis when the main/trunk branch has not been analysed</title><link>https://blogs.blackmarble.co.uk/rfennell/sonarcloud-pr-analysis-when-the-main-branch-has-not-been-analysed/</link><pubDate>Sat, 01 Oct 2022 00:00:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/sonarcloud-pr-analysis-when-the-main-branch-has-not-been-analysed/</guid><description>
&lt;p>&lt;a href="https://sonarcloud.io">SonarCloud&lt;/a> (and it's on premise equivalent &lt;a href="https://www.sonarqube.org/">SonarQube&lt;/a>) understand the concept of Git branching and PRs (in various platforms, in my case Azure DevOps was the important one). This means you can &lt;a href="https://docs.sonarcloud.io/improving/pull-request-analysis/">block the completion of a PR&lt;/a> if the new code in the branch/PR does not meet the SonarCloud Quality Gate. A great way to stop the addition of technical debt.&lt;/p>
&lt;p>However, I recently found a problem when starting to use SonarCloud in an older codebase. You cannot do SonarCloud analysis of a child branch before the main/trunk has been analysed.&lt;/p></description></item><item><title>Showing OWASP Dependency Check results in SonarCloud</title><link>https://blogs.blackmarble.co.uk/rfennell/linking-dependencycheck-and-sonarcloud/</link><pubDate>Thu, 29 Sep 2022 00:00:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/linking-dependencycheck-and-sonarcloud/</guid><description>
&lt;p>The &lt;a href="https://marketplace.visualstudio.com/items?itemName=dependency-check.dependencycheck">OWASP Dependency Checker&lt;/a> can be used to check for known vulnerabilities in a variety of eco-systems. This tool produces a HTML based report, but I wanted to expose the issues in &lt;a href="https://sonarcloud.io">SonarCloud&lt;/a>. The problem is that SonarCloud does not allow ingestion of OWASP Dependency Checker vulnerabilities out the box.&lt;/p>
&lt;p>However, there is the option to ingest &lt;a href="https://docs.sonarcloud.io/enriching/generic-issue-data/">Generic Issue Data&lt;/a>. To make use of this I just needed to change my XML results file to a JSON format&lt;/p></description></item><item><title>Clearing the AssignedTo field on an Azure DevOps Work items with the AZ CLI</title><link>https://blogs.blackmarble.co.uk/rfennell/clearing-the-assigned-to-field-with-az-cli/</link><pubDate>Tue, 06 Sep 2022 00:00:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/clearing-the-assigned-to-field-with-az-cli/</guid><description>
&lt;p>In the past I &lt;a href="https://github.com/rfennell/AzureDevOpsPowershell/tree/a11eda67cfeb2ff34712b1423bdcb8f2cac28b0c/REST">have written most of my Azure DevOps scripts&lt;/a> calling the Azure DevOps REST API from PowerShell. This has worked, but did involve a lot of JSON payload handling.&lt;/p>
&lt;p>A better option these days is to look at the &lt;a href="https://docs.microsoft.com/en-us/cli/azure/">AZ CLI&lt;/a> and specifically the &lt;code>azure-devops&lt;/code> extension, as this does much of the heavy lifting for you.&lt;/p>
&lt;p>This does not mean that everything is plain sailing though. Today I hit a problem that took me a while to solve.&lt;/p></description></item><item><title>Book Review "Accelerate DevOps with GitHub" by Michael Kaufmann</title><link>https://blogs.blackmarble.co.uk/rfennell/book-review-accelerate-devops-with-github/</link><pubDate>Sun, 04 Sep 2022 00:00:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/book-review-accelerate-devops-with-github/</guid><description>
&lt;p>The contents of this book is not at all what I was expecting from the title ‘&lt;a href="https://www.amazon.com/Accelerate-DevOps-GitHub-software-performance-ebook-dp-B0B4DW7NSL/dp/B0B4DW7NSL/ref=mt_other?_encoding=UTF8&amp;amp;me=&amp;amp;qid=1660231179">Accelerate DevOps with GitHub&lt;/a>’. Usually books that aim to provide up to date walkthroughs for a specific current tools tend to not place them within the large tapestry of the ecosystem. This is not the case with this book from &lt;a href="https://github.com/wulfland">Michael Kaufmann&lt;/a>.&lt;/p>
&lt;p>Each section is delivered in broadly three parts, which I found really effective&lt;/p></description></item><item><title>Why has my HP printer become a DVD? A fix for HP USB Printers not being detected on Windows 10/11</title><link>https://blogs.blackmarble.co.uk/rfennell/why-has-my-printer-become-a-drive/</link><pubDate>Sat, 30 Jul 2022 00:00:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/why-has-my-printer-become-a-drive/</guid><description>
&lt;p>Today I made the fateful mistake of offering to try to fix a family members home printer. Family IT, and especially printers, the bane of all IT Professionals.&lt;/p>
&lt;h1 id="the-problem">The Problem&lt;/h1>
&lt;p>The system in question was a 10 year old setup made up of a Dell Optiplex desktop currently running Windows 10 and an HP M1132 LaserJet multifunction printer. This had all been working until a couple of weeks ago when the PC failed to detect the printer. The printer was uninstalled, assuming that would fix the problem, but the Add Printer tools could not even find the printer.&lt;/p></description></item><item><title>Why has my MVC site stopped working?</title><link>https://blogs.blackmarble.co.uk/rfennell/why-has-my-mvc-site-stopped-working/</link><pubDate>Thu, 28 Jul 2022 00:00:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/why-has-my-mvc-site-stopped-working/</guid><description>
&lt;p>I am currently upgrading a .NET Core 3.1(LTS) MVC website to run on .NET 6, stepping it through intermediate .NET versions to make sure some EF Migrations were done correctly.&lt;/p>
&lt;p>Everything upgraded without any major issue until the final step to .NET 6. As soon as I did this my MVC pages failed to render, but no error was reported&lt;/p>
&lt;p>After much fiddling the solution to the problem was pointed out to me by one of my colleagues. The way MVC is shipped with .NET (Core) has changed from being a NuGet package to being part of the framework. This happened a good while ago, but become a blocking issue with .NET Core.&lt;/p></description></item><item><title>Cannot retrieve Umbraco node</title><link>https://blogs.blackmarble.co.uk/rfennell/cannot-retrieve-umbraco-node/</link><pubDate>Mon, 25 Jul 2022 00:00:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/cannot-retrieve-umbraco-node/</guid><description>
&lt;p>We recently hit a problem when we tried to edit a page on anold Umbraco 7 instance. When we tried to edit a page in the Umbraco web UI we got the error 'failed to retrieve data for content id 1119'&lt;/p>
&lt;p>&lt;img
loading="lazy"
decoding="async"
alt="Umbraco Error"
class="image_figure image_internal image_unprocessed"
src="https://blogs.blackmarble.co.uk/images/rfennell/umbracoerror.png"
/>
&lt;/p>
&lt;p>Now this page had been created a long time ago by a user who had since left the company, and this was the root cause. It seems there is an issue with Umbraco and deleted users. To avoid this problem, it is actually recommended you disable old Umbraco user accounts as opposed to deleting them.&lt;/p></description></item><item><title>Social Media Posts after Migrating from WordPress to Hugo Static Pages</title><link>https://blogs.blackmarble.co.uk/rfennell/social-media-posts-after-migrating-from-wordpress-to-hugo/</link><pubDate>Thu, 07 Jul 2022 00:00:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/social-media-posts-after-migrating-from-wordpress-to-hugo/</guid><description>
&lt;p>I &lt;a href="https://blogs.blackmarble.co.uk/rfennell/migrating-from-wordpress-to-hugo/">posted recently on my experience moving to Hugo from WordPress&lt;/a>. One feature lost in the move were the Wordpress plugins used to automatically post to Twitter and LinkedIn when a new blog post was created. I always found this very useful, so looked or a way to replicate this functionality for static pages.&lt;/p>
&lt;p>The solution I ended up with was &lt;a href="https://azure.microsoft.com/en-gb/services/logic-apps/">Azure Logic Apps&lt;/a>.&lt;/p>
&lt;p>I created a Logic App with a scheduled triggered that checked my blogs's RSS feed every 30 minutes. If it found the RSS feed had been updated, I then created a bitly link for the new post's URL, then posts to Email (as a test), Twitter and LinkedIn.&lt;/p></description></item><item><title>Migrating from WordPress to Hugo Static Pages</title><link>https://blogs.blackmarble.co.uk/rfennell/migrating-from-wordpress-to-hugo/</link><pubDate>Fri, 01 Jul 2022 00:00:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/migrating-from-wordpress-to-hugo/</guid><description>
&lt;h1 id="background">Background&lt;/h1>
&lt;p>Over the years, the Black Marble blog server has been hosted on many platforms. &lt;a href="https://blogs.blackmarble.co.uk/rfennell/2017/10/18/moving-bm-bloggers-from-blogengine-net-to-wordpress/">It's previous incarnation was WordPress&lt;/a>, running as a network of sites with an aggregated feed. Of late we had found this slow to serve the first page (due to website start-up time) and there was the constant need to keep the instance patched.&lt;/p>
&lt;p>The time had come for a new solutions, and we picked &lt;a href="https://gohugo.io/">Hugo Static Pages&lt;/a>.&lt;/p></description></item><item><title>Don't skimp on resources for GHES for demo instances</title><link>https://blogs.blackmarble.co.uk/rfennell/dont-skimp-on-resources-for-ghes-for-demo-instances/</link><pubDate>Thu, 16 Jun 2022 09:53:27 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/dont-skimp-on-resources-for-ghes-for-demo-instances/</guid><description>
&lt;p>I wanted to have a look at some GitHub Enterprise Server (GHES) upgrade scenarios so decided to create a quick GHES install on my local test Hyper-V instance. Due to me skimping on resources, and making a typo, creating this instance was much harder than it should have been.&lt;/p>
&lt;p>The first issue was I gave it a tiny data disk, this was down to me making a typo in my GB to Bytes conversion when specifying the size. Interestingly, the GHES setup does not initially complain but sits on the 'reloading system services' stage until it times out. If you check the &lt;em>/setup/config.log&lt;/em> you see many Nomad related 500 errors. A reboot of the VM showed the real problem, the log then showed plenty of out-of-disk space messages.&lt;/p></description></item><item><title>Fix for can't add second outlook.com account to Outlook Desktop - requires non-existent PIN</title><link>https://blogs.blackmarble.co.uk/rfennell/fix-for-cant-add-second-outlook-com-account-to-outlook-desktop-requires-non-existent-pin/</link><pubDate>Fri, 10 Jun 2022 14:14:13 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/fix-for-cant-add-second-outlook-com-account-to-outlook-desktop-requires-non-existent-pin/</guid><description>
&lt;p>I was recently trying to set up a copy of the Outlook desktop app with two outlook.com email accounts and hit a strange issue.&lt;/p>
&lt;p>I was able to add the first one without any problems, but when I tried to add the second one I got an error message asking for PIN, and most importantly on the same dialog showing the second outlook.com email address.&lt;/p>
&lt;p>This is confusing as I know of no way to set a PIN on an outlook.com account.&lt;/p></description></item><item><title>Adding Job Summary support to my GitHub Release Notes Action</title><link>https://blogs.blackmarble.co.uk/rfennell/adding-job-summary-support-to-my-github-release-notes-action/</link><pubDate>Thu, 19 May 2022 11:03:13 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/adding-job-summary-support-to-my-github-release-notes-action/</guid><description>
&lt;p>A recent addition to GitHub Actions is the ability to &lt;a href="https://github.blog/2022-05-09-supercharging-github-actions-with-job-summaries/">create a custom job summary&lt;/a>. Using a simple echo command in a script you can write to the job summary&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="ln">1&lt;/span>&lt;span class="cl">steps:   - name: Adding markdown
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">2&lt;/span>&lt;span class="cl">  run: echo &amp;#39;### Hello world! :rocket:&amp;#39; &amp;gt;&amp;gt; $GITHUB\_STEP\_SUMMARY
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Now, this got me thinking. I have a well-used custom &lt;a href="https://marketplace.visualstudio.com/items?itemName=richardfennellBM.BM-VSTS-XplatGenerateReleaseNotes">release notes extension for Azure DevOps&lt;/a>. It has a &lt;a href="https://github.com/marketplace/actions/generate-release-notes-using-handlebars-template">GitHub Action equivalent&lt;/a>, but it does not seem to get as much usage. Would adding support for custom Job Summaries make it more useful?&lt;/p></description></item><item><title>Fix for cannot 'TypeError: Cannot read property' when Dependabot submits a PR to upgrade a Jest Module</title><link>https://blogs.blackmarble.co.uk/rfennell/fix-for-cannot-typeerror-cannot-read-property-when-dependabot-submits-a-pr-to-upgrade-a-jest-module/</link><pubDate>Thu, 19 May 2022 07:43:58 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/fix-for-cannot-typeerror-cannot-read-property-when-dependabot-submits-a-pr-to-upgrade-a-jest-module/</guid><description>
&lt;p>&lt;a href="https://github.blog/2020-06-01-keep-all-your-packages-up-to-date-with-dependabot/">GitHub's Dependabot&lt;/a> is a great tool to help keep your dependencies up to date, and most of the time the PR it generates just merges without a problem. However, sometimes there are issues with other related dependencies.&lt;/p>
&lt;p>This was the case with a recent PR to update jest-circus to 28.x. The PR failed with the error&lt;/p>
&lt;blockquote>
&lt;p>TypeError: Cannot read property 'enableGlobally' of undefined at jestAdapter (node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:39:25) at TestScheduler.scheduleTests (node_modules/@jest/core/build/TestScheduler.js:333:13) at runJest (node_modules/@jest/core/build/runJest.js:404:19) at _run10000 (node_modules/@jest/core/build/cli/index.js:320:7) at runCLI (node_modules/@jest/core/build/cli/index.js:173:3)&lt;/p></description></item><item><title>On-Demand video available for May's 'Microsoft and GitHub DevOps Forum: DevSecOps'</title><link>https://blogs.blackmarble.co.uk/rfennell/on-demand-video-available-for-mays-microsoft-and-github-devops-forum-devsecops/</link><pubDate>Tue, 17 May 2022 08:52:50 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/on-demand-video-available-for-mays-microsoft-and-github-devops-forum-devsecops/</guid><description>
&lt;p>Did you miss the 'Microsoft and GitHub DevOps Forum: DevSecOps' event I presented at earlier in May?&lt;br>
Well worry not, the on-demand stream is now available - &lt;a href="https://info.microsoft.com/UK-AzureAppInno-VDEO-FY22-05May-16-Microsoft-and-GitHub-DevOps-Forum-DevSecOps-SRGCM6911-AID-3046920_LP01-Registration---Form-in-Body.html">here&lt;/a>&lt;/p>
&lt;p>&lt;img
loading="lazy"
decoding="async"
alt=""
class="image_figure image_internal image_unprocessed"
src="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/2022/05/image.png"
/>
&lt;/p></description></item><item><title>More examples of using custom variables in Azure DevOps multi-stage YML</title><link>https://blogs.blackmarble.co.uk/rfennell/more-examples-of-using-custom-variables-in-azure-devops-multi-stage-yml/</link><pubDate>Thu, 05 May 2022 08:54:21 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/more-examples-of-using-custom-variables-in-azure-devops-multi-stage-yml/</guid><description>
&lt;p>I have blogged in the past ( &lt;a href="https://blogs.blackmarble.co.uk/rfennell/2020/11/27/getting-confused-over-azure-devops-pipeline-variable-evaluation/">here&lt;/a> , &lt;a href="https://blogs.blackmarble.co.uk/rfennell/2022/01/10/using-azure-devops-stage-dependency-variables-with-conditional-stage-and-job-execution/">here&lt;/a> and &lt;a href="https://blogs.blackmarble.co.uk/rfennell/2022/02/19/a-workaround-for-not-being-able-to-access-custom-variables-via-stagedependencies-if-they-are-set-in-deployment-jobs-in-azure-devops-pipelines/">here&lt;/a>) about the complexities and possible areas of confusion with different types of Azure DevOps pipeline variables.&lt;/p>
&lt;p>Well here is another example of how to use variables and what can trip you up.&lt;/p>
&lt;p>The key in this example is the scope of a variable, whether it is available outside a job and the syntax to access it&lt;/p>
&lt;h2 id="variables-local-to-the-job">Variables local to the Job&lt;/h2>
&lt;p>So, if you create your variable as shown below&lt;/p></description></item><item><title>Updating the Azure Application client_secret used by Packer</title><link>https://blogs.blackmarble.co.uk/rfennell/updating-the-azure-application-client_secret-used-by-packer/</link><pubDate>Tue, 03 May 2022 10:18:53 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/updating-the-azure-application-client_secret-used-by-packer/</guid><description>
&lt;p>As I have posted about previously, we create our Azure DevOps build agent images using the same Packer definitions as used by Microsoft. This time when I ran my Packer command to build an updated VHD I got the error&lt;/p>
&lt;blockquote>
&lt;p>Build 'vhd' errored after 135 milliseconds 708 microseconds: adal: Refresh request failed. Status Code = '401'. Response body: {&amp;quot;error&amp;quot;:&amp;quot;invalid_client&amp;quot;,&amp;quot;error_description&amp;quot;:&amp;quot;AADSTS7000222: The provided client secret keys for app '6425416f-aa94-4c20-8395-XXXXXXX' are expired. Visit the Azure portal to create new keys for your app: &lt;a href="https://aka.ms/NewClientSecret">https://aka.ms/NewClientSecret&lt;/a>, or consider using certificate credentials for added security: &lt;a href="https://aka.ms/certCreds.rnTrace">https://aka.ms/certCreds.rnTrace&lt;/a> ID: 65a200cf-8423-4d52-af07-67bf26225200rnCorrelation ID: 0f86de87-33fa-443b-8186-4de3894972e1rnTimestamp: 2022-05-03 08:36:50Z&amp;quot;,&amp;quot;error_codes&amp;quot;:[7000222],&amp;quot;timestamp&amp;quot;:&amp;quot;2022-05-03 08:36:50Z&amp;quot;,&amp;quot;trace_id&amp;quot;:&amp;quot;65a200cf-8423-4d52-af07-67bf26225200&amp;quot;,&amp;quot;correlation_id&amp;quot;:&amp;quot;0f86de87-33fa-443b-8186-4de3894972e1&amp;quot;,&amp;quot;error_uri&amp;quot;:&amp;quot;https://login.microsoftonline.com/error?code=7000222&amp;quot;} Endpoint &lt;a href="https://login.microsoftonline.com/545a7a95-3c4d-4e88-9890-baa86d5fdacb/oauth2/token==%3E">https://login.microsoftonline.com/545a7a95-3c4d-4e88-9890-baa86d5fdacb/oauth2/token==>&lt;/a> Builds finished but no artifacts were created.&lt;/p></description></item><item><title>Speaking at the rescheduled Microsoft and GitHub DevOps Forum on the 4th of May</title><link>https://blogs.blackmarble.co.uk/rfennell/speaking-at-the-rescheduled-microsoft-and-github-devops-forum-on-the-4th-of-may/</link><pubDate>Thu, 07 Apr 2022 12:14:05 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/speaking-at-the-rescheduled-microsoft-and-github-devops-forum-on-the-4th-of-may/</guid><description>
&lt;p>I'm speaking at the resheduled Microsoft and GitHub DevOps Forum on the 4th of March.&lt;/p>
&lt;p>To Register: &lt;a href="https://mktoevents.com/Microsoft&amp;#43;Event/333304/157-GQE-382?wt.mc_id=AID3045587_QSG_EML_586670">https://mktoevents.com/Microsoft+Event/333304/157-GQE-382?wt.mc_id=AID3045587_QSG_EML_586670&lt;/a>&lt;/p>
&lt;p>&lt;img
loading="lazy"
decoding="async"
alt=""
class="image_figure image_internal image_unprocessed"
src="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/2022/04/Social-Speaker-Cards_Richard-1024x538.jpg"
/>
&lt;/p></description></item><item><title>Fix for Azure DevOps deployment to an environment stuck in "Job is pending" state</title><link>https://blogs.blackmarble.co.uk/rfennell/fixe-for-azure-devops-deployment-to-an-environment-stuck-in-job-is-pending-state/</link><pubDate>Thu, 07 Apr 2022 12:06:53 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/fixe-for-azure-devops-deployment-to-an-environment-stuck-in-job-is-pending-state/</guid><description>
&lt;h2 id="issue">Issue&lt;/h2>
&lt;p>I had an Azure DevOps YAML based pipeline that had been working but was now getting stuck with the message &amp;quot;Job is pending...&amp;quot; when trying to start a stage in which there is a deployment to an &lt;a href="https://docs.microsoft.com/en-us/azure/devops/pipelines/process/environments">environment&lt;/a>.&lt;/p>
&lt;p>Looking at the logs and Azure DevOps UI it was not obvious what the issue was.&lt;/p>
&lt;h2 id="solution">Solution&lt;/h2>
&lt;p>Turns out it was due to &lt;a href="https://docs.microsoft.com/en-us/azure/devops/pipelines/process/approvals?view=azure-devops&amp;amp;tabs=check-pass">environment checks and approvals&lt;/a>. There was a branch policy on the environment. This was set to only allow use of Azure DevOps Templates on a given branch. The edit that had been done to the YAML meant it was trying to extend a template in a branch that was not in the approved list.&lt;/p></description></item><item><title>Speaking at the Microsoft and GitHub DevOps Forum on the 10th of March</title><link>https://blogs.blackmarble.co.uk/rfennell/speaking-at-the-microsoft-and-github-devops-forum-on-the-10th-of-march/</link><pubDate>Thu, 03 Mar 2022 11:40:37 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/speaking-at-the-microsoft-and-github-devops-forum-on-the-10th-of-march/</guid><description>
&lt;p>&lt;em>&lt;strong>Update&lt;/strong>: This event has been rescheduled for the 4th May&lt;/em>. The new registration link is &lt;a href="https://mktoevents.com/Microsoft&amp;#43;Event/333304/157-GQE-382?wt.mc_id=AID3045587_QSG_EML_586670">here&lt;/a>&lt;/p>
&lt;p>I'm speaking at the Microsoft and GitHub DevOps Forum on the 10th of March.&lt;/p>
&lt;p>To register - &lt;a href="https://mktoevents.com/Microsoft&amp;#43;Event/325749/157-GQE-382">https://mktoevents.com/Microsoft+Event/325749/157-GQE-382&lt;/a>&lt;/p>
&lt;p>&lt;a href="https://mktoevents.com/Microsoft&amp;#43;Event/325749/157-GQE-382">&lt;img
loading="lazy"
decoding="async"
alt=""
class="image_figure image_internal image_unprocessed"
src="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/2022/03/Social-Speaker-Cards_LI-Richard-1024x538.jpg"
/>
&lt;/a>&lt;/p></description></item><item><title>A workaround for not being able to access custom variables via stagedependencies if they are set in deployment jobs in Azure DevOps Pipelines</title><link>https://blogs.blackmarble.co.uk/rfennell/a-workaround-for-not-being-able-to-access-custom-variables-via-stagedependencies-if-they-are-set-in-deployment-jobs-in-azure-devops-pipelines/</link><pubDate>Sat, 19 Feb 2022 16:37:19 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/a-workaround-for-not-being-able-to-access-custom-variables-via-stagedependencies-if-they-are-set-in-deployment-jobs-in-azure-devops-pipelines/</guid><description>
&lt;p>I have blogged in the past ( &lt;a href="https://blogs.blackmarble.co.uk/rfennell/2020/11/27/getting-confused-over-azure-devops-pipeline-variable-evaluation/">here&lt;/a> and &lt;a href="https://blogs.blackmarble.co.uk/rfennell/2022/01/10/using-azure-devops-stage-dependency-variables-with-conditional-stage-and-job-execution/">here&lt;/a>) about the complexities and possible areas of confusion with different types of Azure DevOps pipeline variables. I have also &lt;a href="https://developercommunity.visualstudio.com/t/unable-to-retrieve-stage-result-from-stagedependen/1064759#T-N1130023">seen issues raised&lt;/a> over how to access custom variables across jobs and stages. Safe to say, this is an area where it is really easy to get it wrong and end up with a null value.&lt;/p>
&lt;p>I have recently come across another edge case to add to the list of gotchas.&lt;/p></description></item><item><title>The importance of blogging - or how to do your future self a favour</title><link>https://blogs.blackmarble.co.uk/rfennell/the-importance-of-blogging-or-how-to-do-your-future-self-a-favour/</link><pubDate>Fri, 14 Jan 2022 10:34:33 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/the-importance-of-blogging-or-how-to-do-your-future-self-a-favour/</guid><description>
&lt;p>Yesterday, yet again, I was thankful for my past self taking time to blog about a technical solution I had found.&lt;/p>
&lt;p>I had an error when trying to digitally sign a package. On searching on the error code I came across my &lt;a href="https://blogs.blackmarble.co.uk/rfennell/2019/04/30/a-fix-for-error-signersign-failed-2146958839-0x80080209-with-signtool-exe/">own blog post&lt;/a> with the solution. This was, as usual, one I had no recollection of writing.&lt;/p>
&lt;p>I find this happens all the time. It is a little disturbing when you search for an issue and the only reference is to a post you made and have forgotten, so you are the defacto expert, nobody knows anymore on the subject, but better than having no solution.&lt;/p></description></item><item><title>Using Azure DevOps Stage Dependency Variables with Conditional Stage and Job Execution</title><link>https://blogs.blackmarble.co.uk/rfennell/using-azure-devops-stage-dependency-variables-with-conditional-stage-and-job-execution/</link><pubDate>Mon, 10 Jan 2022 13:16:46 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/using-azure-devops-stage-dependency-variables-with-conditional-stage-and-job-execution/</guid><description>
&lt;p>&lt;img
loading="lazy"
decoding="async"
alt=""
class="image_figure image_internal image_unprocessed"
src="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/2022/01/image-1-1024x446.png"
/>
&lt;/p>
&lt;p>I have been doing some work with Azure DevOps multi-stage YAML pipelines using stage dependency variables and conditions. They can get confusing quickly, you need one syntax in one place and another elsewhere.&lt;/p>
&lt;p>So, here are a few things I have learnt...&lt;/p>
&lt;h2 id="what-are-stage-dependency-variables">What are stage dependency variables?&lt;/h2>
&lt;p>&lt;a href="https://docs.microsoft.com/en-us/azure/devops/pipelines/process/stages?view=azure-devops&amp;amp;tabs=yaml#specify-dependencies">Stage Dependencies&lt;/a> are the way you define which stage follows another in a multi-stage YAML pipeline. This is as opposed to just relying on the order they appear in the YAML file, the default order. Hence, they are critical to creating complex pipelines.&lt;/p></description></item><item><title>Setting Azure DevOps 'All Repositories' Policies via the CLI</title><link>https://blogs.blackmarble.co.uk/rfennell/setting-azure-devops-all-repositories-policies-via-the-cli/</link><pubDate>Fri, 12 Nov 2021 12:49:03 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/setting-azure-devops-all-repositories-policies-via-the-cli/</guid><description>
&lt;p>The &lt;a href="https://docs.microsoft.com/en-us/cli/azure/devops?view=azure-cli-latest">Azure DevOps CLI&lt;/a> provides plenty of commands to update Team Projects, but it does not cover all things you might want to set. A good example is setting branch policies. For a given repo you can set the policies using the &lt;a href="https://docs.microsoft.com/en-us/cli/azure/service-page/azure%20repos?view=azure-cli-latest">Azure Repo&lt;/a> command eg:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="ln">1&lt;/span>&lt;span class="cl">az repos policy approver-count update --project &amp;lt;projectname&amp;gt; --blocking true --enabled true --branch main --repository-id &amp;lt;guid&amp;gt; --minimum-approver-count w --reset-on-source-push true --creator-vote-counts false --allow-downvotes false
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>However, you hit a problem if you wish to set the 'All Repositories' policies for a Team Project. The issue is that the above command requires a specific &lt;strong>--project&lt;/strong> parameter.&lt;/p></description></item><item><title>How to fix Azure Pipeline YAML parsing errors seen after renaming the default Git branch</title><link>https://blogs.blackmarble.co.uk/rfennell/how-to-fix-azure-pipeline-yaml-parsing-errors-seen-after-renaming-the-default-git-branch/</link><pubDate>Wed, 03 Nov 2021 09:25:15 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/how-to-fix-azure-pipeline-yaml-parsing-errors-seen-after-renaming-the-default-git-branch/</guid><description>
&lt;p>If in Azure DevOps you rename your Git Repo's default branch, say from 'master' to 'main', you will probably see an error in the form &lt;em>'Encountered error(s) while parsing pipeline YAML: Could not get the latest source version for repository BlackMarble.NET.App hosted on Azure Repos using ref refs/heads/master.&lt;/em>' when you try to manually queue a pipeline run.&lt;/p>
&lt;p>&lt;img
loading="lazy"
decoding="async"
alt=""
class="image_figure image_internal image_unprocessed"
src="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/2021/11/image-1.png"
/>
&lt;/p>
&lt;p>You could well think, as I did, 'all I need to do is update the YAML build files with a find and replace for master to main', but this does not fix the problem.&lt;/p></description></item><item><title>New features for my Azure DevOps Release Notes Extension</title><link>https://blogs.blackmarble.co.uk/rfennell/new-features-for-my-azure-devops-release-notes-extension/</link><pubDate>Sat, 30 Oct 2021 15:42:22 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/new-features-for-my-azure-devops-release-notes-extension/</guid><description>
&lt;p>Over the past couple of weeks, I have shipped three user-requested features for my &lt;a href="https://marketplace.visualstudio.com/items?itemName=richardfennellBM.BM-VSTS-XplatGenerateReleaseNotes">Azure DevOps Release Notes Extension&lt;/a>&lt;/p>
&lt;h2 id="generate-multiple-documents-in-a-single-run">Generate multiple documents in a single run&lt;/h2>
&lt;p>You can now specify multiple templates and output files. This allows a single instance of the task to generate multiple release note documents with different formats/content.&lt;/p>
&lt;p>This is useful when the generation of the dataset is slow, but you need a variety of document formats for different consumers.&lt;/p></description></item><item><title>The case of the self-cancelling Azure DevOps pipeline</title><link>https://blogs.blackmarble.co.uk/rfennell/the-case-of-the-self-cancelling-azure-devops-pipeline/</link><pubDate>Fri, 29 Oct 2021 20:12:28 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/the-case-of-the-self-cancelling-azure-devops-pipeline/</guid><description>
&lt;h2 id="the-issue">The Issue&lt;/h2>
&lt;p>Today I came across a strange issue with a reasonably old multi-stage YAML pipeline, it appeared to be cancelling itself.&lt;/p>
&lt;p>The Build stage ran OK, but the Release stage kept being shown as cancelled with a strange error. The strangest thing was it did not happen all the time. I guess this is the reason the problem had not been picked up sooner.&lt;/p>
&lt;p>&lt;img
loading="lazy"
decoding="async"
alt=""
class="image_figure image_internal image_unprocessed"
src="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/2021/10/image-1-1024x877.png"
/>
&lt;/p>
&lt;p>If I looked at the logs for the Release stage, I saw that the main job, and meant to be the only job, had completed successfully. But I had gained an extra unexpected job that was being cancelled in 90+% of my runs.&lt;/p></description></item><item><title>Automating adding issues to Beta GitHub Projects using GitHub Actions</title><link>https://blogs.blackmarble.co.uk/rfennell/automating-adding-issues-to-beta-github-projects-using-github-actions/</link><pubDate>Fri, 15 Oct 2021 20:42:58 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/automating-adding-issues-to-beta-github-projects-using-github-actions/</guid><description>
&lt;p>The new &lt;a href="https://github.com/features/issues">GitHub Issues Beta&lt;/a> is a big step forward in project management over what was previously possible with the old 'simple' form of Issues. The Beta adds many great features such as:&lt;/p>
&lt;ul>
&lt;li>Project Boards/Lists&lt;/li>
&lt;li>Actionable Tasks&lt;/li>
&lt;li>Custom Fields including Iterations&lt;/li>
&lt;li>Automation&lt;/li>
&lt;/ul>
&lt;p>However, one thing that is not available out the box is a means to automatically add newly created issues to a project.&lt;/p>
&lt;p>Looking at the automations available within a project you might initially think that there is a workflow to do this job, but no.&lt;/p></description></item><item><title>Making SonarQube Quality Checks a required PR check on Azure DevOps</title><link>https://blogs.blackmarble.co.uk/rfennell/making-sonarqube-quality-checks-a-required-pr-check-on-azure-devops/</link><pubDate>Tue, 21 Sep 2021 12:28:30 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/making-sonarqube-quality-checks-a-required-pr-check-on-azure-devops/</guid><description>
&lt;p>&lt;em>This is another of those posts to remind me in the future. I searched the documentation for this answer for ages and found nothing, eventually getting the solution by asking on the &lt;a href="https://community.sonarsource.com/t/make-quality-gate-a-required-check-in-an-azure-devops-pr/49964">SonarQube Forum&lt;/a>&lt;/em>&lt;/p>
&lt;p>When you link SonarQube into an Azure DevOps &lt;a href="https://docs.microsoft.com/en-us/azure/devops/repos/git/branch-policies?view=azure-devops">pipeline that is used from branch protection&lt;/a> the success, or failure, of the PR branch analysis is shown as an optional PR Check&lt;/p>
&lt;p>&lt;img
loading="lazy"
decoding="async"
alt=""
class="image_figure image_internal image_unprocessed"
src="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/2021/09/image.png"
/>
&lt;/p>
&lt;p>The question was 'how to do I make it a required check?'. Turns out the answer is to add an extra Azure DevOps branch policey status check for the 'SonarQube/quality gate'&lt;/p></description></item><item><title>My cancer story – thus far</title><link>https://blogs.blackmarble.co.uk/rfennell/my-cancer-story-thus-far/</link><pubDate>Mon, 23 Aug 2021 21:00:36 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/my-cancer-story-thus-far/</guid><description>
&lt;p>&lt;em>This is a somewhat different post to my usual technical ones…&lt;/em>&lt;/p>
&lt;p>In December 2017 I had major surgery. This was to remove an &lt;a href="https://www.cancerresearchuk.org/about-cancer/adrenal-gland-cancer/adrenal-cortical-cancer">adrenal cortical carcinoma (ACC)&lt;/a> that had grown on one of my adrenal glands and then up my inferior vena cava (IVC) into my heart.&lt;/p>
&lt;p>Early on I decided, though not hiding the fact I was ill, to not live every detail on social media. So, it is only now that I am back to a reasonable level of health and with some distance that I feel I can write about my experiences. I hope they might give people some hope that there can be a good outcome when there is a cancer diagnosis.&lt;/p></description></item><item><title>But what if I can't use GitHub Codespaces? Welcome to github.dev</title><link>https://blogs.blackmarble.co.uk/rfennell/but-what-if-i-cant-use-github-codespaces-welcome-to-github-dev/</link><pubDate>Thu, 12 Aug 2021 09:21:23 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/but-what-if-i-cant-use-github-codespaces-welcome-to-github-dev/</guid><description>
&lt;p>Yesterday &lt;a href="https://github.com/features/codespaces">GitHub released Codespaces&lt;/a> as a commercial offering. A new feature I have been using during its beta phase.&lt;/p>
&lt;p>Codespaces provides a means for developers to easily edit GitHub hosted repos in Visual Studio Code on a high-performance VM.&lt;/p>
&lt;p>No longer does the new developer on the team have to spend ages getting their local device setup 'just right'. They can, in a couple of clicks, provision a Codespace that is preconfigured for the exact needs of the project i.e the correct VM performance, the right VS Code extensions and the debug environment configured. All billed on a pay as you go basis and accessible from any client.&lt;/p></description></item><item><title>How I dealt with a strange problem with PSRepositories and dotnet NuGet sources</title><link>https://blogs.blackmarble.co.uk/rfennell/how-i-dealt-with-a-strange-problem-with-psrepositories-and-dotnet-nuget-sources/</link><pubDate>Fri, 16 Jul 2021 15:03:17 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/how-i-dealt-with-a-strange-problem-with-psrepositories-and-dotnet-nuget-sources/</guid><description>
&lt;h2 id="background">Background&lt;/h2>
&lt;p>We regularly re-build our Azure DevOps private agents using Packer and Lability, as I have &lt;a href="https://blogs.blackmarble.co.uk/rfennell/2020/03/02/you-need-to-pass-a-github-pat-to-create-azure-devops-agent-images-using-packer/">posted about before.&lt;/a>&lt;/p>
&lt;p>Since the latest re-build, we have seen all sorts of problems. All related to pulling packages and tools from NuGet based repositories. Problems we have never seen with any previous generation of our agents.&lt;/p>
&lt;h2 id="the-issue">The Issue&lt;/h2>
&lt;p>The issue turned out to be related to registering a private PowerShell repository.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="ln">1&lt;/span>&lt;span class="cl">$RegisterSplat = @{
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">2&lt;/span>&lt;span class="cl">Name = &amp;#39;PrivateRepo&amp;#39;
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">3&lt;/span>&lt;span class="cl">SourceLocation = &amp;#39;https://psgallery.mydomain.co.uk/nuget/PowerShell&amp;#39;
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">4&lt;/span>&lt;span class="cl">PublishLocation = &amp;#39;https://psgallery.mydomain.co.uk/nuget/PowerShell&amp;#39;
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">5&lt;/span>&lt;span class="cl">InstallationPolicy = &amp;#39;Trusted&amp;#39;
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">6&lt;/span>&lt;span class="cl">}
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">7&lt;/span>&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">8&lt;/span>&lt;span class="cl">Register-PSRepository @RegisterSplat
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Running this command caused the default dotnet NuGet repository to be unregistered i.e. the command &lt;strong>dotnet nuget list source&lt;/strong> was expected to return&lt;/p></description></item><item><title>Porting my Visual Studio Parameters.xml Generator tool to Visual Studio 2022 Preview</title><link>https://blogs.blackmarble.co.uk/rfennell/porting-my-visual-studio-parameters-xml-generator-tool-to-visual-studio-2022-preview/</link><pubDate>Tue, 22 Jun 2021 11:08:10 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/porting-my-visual-studio-parameters-xml-generator-tool-to-visual-studio-2022-preview/</guid><description>
&lt;p>As I am sure you are all aware the preview of &lt;a href="https://devblogs.microsoft.com/visualstudio/visual-studio-2022-preview-1-now-available/">Visual Studio 2022&lt;/a> has just dropped, so it is time for me to update my Parameter.xml Generator Tool to support this new version of Visual Studio.&lt;/p>
&lt;h2 id="but-what-does-my-extension-do">But what does my extension do?&lt;/h2>
&lt;p>As the Marketplace description says...&lt;/p>
&lt;p>&lt;em>A tool to generate parameters.xml files for MSdeploy from the existing web.config file or from an app.config file for use with your own bespoke configuration transformation system.&lt;/em>&lt;/p></description></item><item><title>Automating the creation of Team Projects in Azure DevOps</title><link>https://blogs.blackmarble.co.uk/rfennell/automating-the-creation-of-team-projects-in-azure-devops/</link><pubDate>Thu, 10 Jun 2021 16:28:03 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/automating-the-creation-of-team-projects-in-azure-devops/</guid><description>
&lt;p>&lt;a href="https://docs.microsoft.com/en-us/azure/devops/organizations/projects/create-project?view=azure-devops&amp;amp;tabs=preview-page">Creating a new project&lt;/a> in Azure DevOps with your desired &lt;a href="https://docs.microsoft.com/en-us/azure/devops/organizations/settings/work/customize-process?view=azure-devops">process template&lt;/a> is straightforward. However, it is only the start of the job for most administrators. They will commonly want to set up other configuration settings such as &lt;a href="https://docs.microsoft.com/en-us/azure/devops/repos/git/branch-policies?view=azure-devops">branch protection rules&lt;/a>, default pipelines etc. before giving the team access to the project. All this administration can be very time consuming and of course prone to human error.&lt;/p>
&lt;p>To make this process easier, quicker and more consistent I have developed a process to automated all of this work. It uses a mixture of the following:&lt;/p></description></item><item><title>Getting the approver for release to an environment within an Azure DevOps Multi-Stage YAML pipeline</title><link>https://blogs.blackmarble.co.uk/rfennell/getting-the-approver-for-release-to-an-environment-within-an-azure-devops-multi-stage-yaml-pipeline/</link><pubDate>Sat, 15 May 2021 14:53:50 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/getting-the-approver-for-release-to-an-environment-within-an-azure-devops-multi-stage-yaml-pipeline/</guid><description>
&lt;p>I recently had the need to get the email address of the approver of a deployment to an environment from within a multi-stage YAML pipeline. Turns out it was not as easy as I might have hoped given the available documented APIs.&lt;/p>
&lt;h3 id="background">Background&lt;/h3>
&lt;p>My YAML pipeline included a &lt;a href="https://docs.microsoft.com/en-us/azure/devops/pipelines/process/approvals?view=azure-devops&amp;amp;tabs=check-pass">manual approval&lt;/a> to allow deployment to a given environment. Within the stage protected by the approval, I needed the approver's details, specifically their email address.&lt;/p></description></item><item><title>Loading drivers for cross-browser testing with Selenium</title><link>https://blogs.blackmarble.co.uk/rfennell/loading-drivers-for-cross-browser-testing-with-selenium/</link><pubDate>Wed, 21 Apr 2021 13:32:03 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/loading-drivers-for-cross-browser-testing-with-selenium/</guid><description>
&lt;p>&lt;em>Another post so I don't forget how I fixed a problem....&lt;/em>&lt;/p>
&lt;p>I have been making sure some Selenium UX tests that were originally written against Chrome also work with other browsers. I have had a few problems, the browser under test failing to load or Selenium not being able to find elements.&lt;/p>
&lt;p>Turns out the solution is to just use the custom driver start-up options, the default constructors don't seem to work for browsers other theran Chrome and Firefox.&lt;/p></description></item><item><title>A first look at the beta of GitHub Issue Forms</title><link>https://blogs.blackmarble.co.uk/rfennell/a-first-look-at-the-beta-of-github-issue-forms/</link><pubDate>Tue, 06 Apr 2021 11:16:26 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/a-first-look-at-the-beta-of-github-issue-forms/</guid><description>
&lt;p>&lt;strong>Update 10 May 2021&lt;/strong> - &lt;em>Remember that GitHub Issue Forms are in early beta, you need to keep an eye on the regular new releases as they come out. For example, my GitHub Forms stopped showing last week. This was due to me using now deprecate lines in the YAML definition files. Once I edited the files to update to support YAML they all leap back into life&lt;/em>&lt;/p>
&lt;hr>
&lt;p>GitHub Issues are core to tracking work in GitHub. Their flexibility is their biggest advantage and disadvantage. As a maintainer of a projects, I always need specific information when an issue is raised. Whether it be a bug, or feature request.&lt;/p></description></item><item><title>Tidying up local branches with a Git Alias and a PowerShell Script</title><link>https://blogs.blackmarble.co.uk/rfennell/tidying-up-local-branches-with-a-git-alias-and-a-powershell-script/</link><pubDate>Tue, 16 Mar 2021 12:20:57 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/tidying-up-local-branches-with-a-git-alias-and-a-powershell-script/</guid><description>
&lt;p>It is easy to get your local branches in Git out of sync with the upstream repository, leaving old dead branches locally that you can't remember creating. You can use the &lt;em>prune&lt;/em> option on your Git Fetch command to remove the remote branch references, but that command does nothing to remove local branches.&lt;/p>
&lt;p>A good while ago, I wrote a small PowerShell script to wrapper the running of the Git Fetch and then based on the deletions remove any matching local branches. Then finally returning me to my trunk branch.&lt;/p></description></item><item><title>Added Manual Test Plan support to my Azure DevOps Cross-Platform Release notes Task</title><link>https://blogs.blackmarble.co.uk/rfennell/added-manual-test-plan-support-to-my-azure-devops-cross-platform-release-notes-task/</link><pubDate>Wed, 03 Mar 2021 09:58:27 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/added-manual-test-plan-support-to-my-azure-devops-cross-platform-release-notes-task/</guid><description>
&lt;p>I have just release 3.46.4 of my &lt;a href="https://marketplace.visualstudio.com/items?itemName=richardfennellBM.BM-VSTS-XplatGenerateReleaseNotes">Azure DevOps Cross-Platform release Notes task&lt;/a> which adds support for generating release notes based on the results of &lt;a href="https://azure.microsoft.com/en-gb/services/devops/test-plans/">Azure DevOps Test Plans&lt;/a>.&lt;/p>
&lt;p>There has been support in the task for automated tests, run as part of the build or release process, for a while. However, until this release, there was no way to generate release notes based on manual tests.&lt;/p>
&lt;p>Manual Test results are now made available to the templating engine using two new objects:&lt;/p></description></item><item><title>Fixing my SQLite Error 5: 'database is locked' error in Entity Framework</title><link>https://blogs.blackmarble.co.uk/rfennell/fixing-my-sqlite-error-5-database-is-locked-error-in-entity-framework/</link><pubDate>Fri, 12 Feb 2021 17:21:15 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/fixing-my-sqlite-error-5-database-is-locked-error-in-entity-framework/</guid><description>
&lt;p>I have spent too long today trying to track down an intermittent “SQLite Error 5: 'database is locked'” error in .Net Core Entity Framework.&lt;/p>
&lt;p>I have read plenty of documentation and even tried swapping to use SQL Server, as opposed to SQLite, but this just resulted in the error ‘There is already an open DataReader associated with this Connection which must be closed first.’.&lt;/p>
&lt;p>So everything pointed to it being a mistake I had made.&lt;/p></description></item><item><title>What to do when moving your Azure DevOps organisation from one region to another is delayed.</title><link>https://blogs.blackmarble.co.uk/rfennell/what-to-do-when-moving-your-azure-devops-organisation-from-one-region-to-another-is-delayed/</link><pubDate>Mon, 25 Jan 2021 10:09:17 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/what-to-do-when-moving-your-azure-devops-organisation-from-one-region-to-another-is-delayed/</guid><description>
&lt;p>There are good reasons why you might wish to move an existing Azure DevOps organisation from one region to another. The most common ones are probably:&lt;/p>
&lt;ul>
&lt;li>A new Azure DevOps region has become available since you created your organisation that is a 'better home' for your projects.&lt;/li>
&lt;li>New or changing national regulations require your source stored in a specific location.&lt;/li>
&lt;li>You want your repositories as close to your workers as possible, to reduce network latency.&lt;/li>
&lt;/ul>
&lt;p>One of these reasons meant I recently had to move an Azure DevOps organisation, so followed the &lt;a href="https://docs.microsoft.com/en-us/azure/devops/organizations/accounts/change-organization-location?view=azure-devops#change-organization-region">documented process&lt;/a>. This requires you to&lt;/p></description></item><item><title>Porting my Release Notes Azure DevOps Pipelines Extension to GitHub Actions</title><link>https://blogs.blackmarble.co.uk/rfennell/porting-my-release-notes-azure-devops-pipelines-extension-to-github-actions/</link><pubDate>Thu, 31 Dec 2020 14:29:14 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/porting-my-release-notes-azure-devops-pipelines-extension-to-github-actions/</guid><description>
&lt;p>One of my most popular Azure DevOps Extensions is my &lt;a href="https://marketplace.visualstudio.com/items?itemName=richardfennellBM.BM-VSTS-XplatGenerateReleaseNotes">Release Notes Pipeline task&lt;/a>. This allows the creation of release notes using information obtained from the Azure DevOps API and formatted using a &lt;a href="https://handlebarsjs.com/">Handlebars Template&lt;/a>.&lt;/p>
&lt;p>Given the popularity of GitHub Actions, I got to wondering whether porting this extension was viable?&lt;/p>
&lt;p>Well the release of my new &lt;a href="https://github.com/marketplace/actions/generate-release-notes-using-handlebars-template">Generate Release Notes with a Handlebars Template&lt;/a> action shows that it was.&lt;/p>
&lt;p>The basic concept of this new action is the same as for the older task, get information on the pipeline/workflow run using the API and then format it using a Handlebars template. However, the information that can be returned is different. But this stands to reason as GitHub is not Azure DevOps. This is especially true when you consider the differences between the simplicity of GitHub Issues and the complexity, and variability of format, of Azure DevOps Work Items&lt;/p></description></item><item><title>My DDD2020 Session - How can I automatically create Azure DevOps Release Notes and how can I publish them</title><link>https://blogs.blackmarble.co.uk/rfennell/my-ddd2020-session-how-can-i-automatically-create-azure-devops-release-notes-how-can-i-publish-them/</link><pubDate>Mon, 21 Dec 2020 09:30:08 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/my-ddd2020-session-how-can-i-automatically-create-azure-devops-release-notes-how-can-i-publish-them/</guid><description>
&lt;p>Really please to say that my DDD2020 session is now available to stream.&lt;/p>
&lt;p>&lt;a href="https://youtube.com/watch?v=xaV3dFoQdV8">https://youtube.com/watch?v=xaV3dFoQdV8&lt;/a>&lt;/p>
&lt;p>Thanks to the organisers and sponsors that allowed this event to ahead this year in this difficult year.&lt;/p></description></item><item><title>Running UWP Unit Tests as part of an Azure DevOps Pipeline</title><link>https://blogs.blackmarble.co.uk/rfennell/running-uwp-unit-tests-as-part-of-an-azure-devops-pipeline/</link><pubDate>Tue, 08 Dec 2020 09:36:03 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/running-uwp-unit-tests-as-part-of-an-azure-devops-pipeline/</guid><description>
&lt;p>I was reminded recently of the hoops you have to jump through to run &lt;a href="https://docs.microsoft.com/en-us/visualstudio/test/walkthrough-creating-and-running-unit-tests-for-windows-store-apps?view=vs-2019">UWP unit tests&lt;/a> within an Azure DevOps automated build.&lt;/p>
&lt;p>The key steps you need to remember are as follows&lt;/p>
&lt;h3 id="desktop-interaction">Desktop Interaction&lt;/h3>
&lt;p>The build agent should not be running as a service it must be able to interact with the desktop.&lt;/p>
&lt;p>If you did not set this mode during configuration &lt;a href="https://www.donovanbrown.com/post/auto-start-build-agent-in-interactive-mode">this post from Donovan Brown&lt;/a> shows how to swap the agent over without a complete reconfiguration.&lt;/p></description></item><item><title>Out of Memory running SonarQube Analysis on a large projects</title><link>https://blogs.blackmarble.co.uk/rfennell/out-of-memory-running-sonarqube-analysis-on-a-large-projects/</link><pubDate>Tue, 01 Dec 2020 16:14:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/out-of-memory-running-sonarqube-analysis-on-a-large-projects/</guid><description>
&lt;p>Whilst adding SonarQube analysis to a large project I started getting memory errors during the analysis phase. The solution was to up the memory available to the SonarQube Scanner on the my build agent, not the memory on the SonarQube server as I had first thought. This is done with an environment variable &lt;a href="https://docs.sonarqube.org/latest/analysis/scan/sonarscanner/">as per the documentation&lt;/a>, but how best to do this within our Azure DevOps build systems?&lt;/p>
&lt;p>The easiest way to set the environment variable &lt;code> `SONAR_SCANNER_OPTS&lt;/code>` on every build agent is to just set it via a Azure Pipeline variable. This works because the build agent makes all pipeline variables available as environment variables at runtime.&lt;/p></description></item><item><title>Getting confused over Azure DevOps Pipeline variable evaluation</title><link>https://blogs.blackmarble.co.uk/rfennell/getting-confused-over-azure-devops-pipeline-variable-evaluation/</link><pubDate>Fri, 27 Nov 2020 15:50:49 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/getting-confused-over-azure-devops-pipeline-variable-evaluation/</guid><description>
&lt;h2 id="introduction">Introduction&lt;/h2>
&lt;p>The use of variables is important in Azure DevOps pipelines, especially when using YML templates. They allow a single pipeline to be used for multiple branches/configurations etc.&lt;/p>
&lt;p>The most common form of variables you see is are the &lt;a href="https://docs.microsoft.com/en-us/azure/devops/pipelines/build/variables?view=azure-devops&amp;amp;tabs=yaml">predefined built in variables&lt;/a> e.g. &lt;strong>$(Build.BuildNumber)&lt;/strong> and your own custom ones e.g. &lt;strong>$(var)&lt;/strong>. Usually the value of these variables are set before/as the build is run, as an input condition.&lt;/p>
&lt;p>But this is not the only way variables can be used. As noted in the &lt;a href="https://docs.microsoft.com/en-us/azure/devops/pipelines/process/variables?view=azure-devops&amp;amp;tabs=yaml%2Cbatch#understand-variable-syntax">documentation&lt;/a> there are different ways to access a variable...&lt;/p></description></item><item><title>How to export Azure DevOps Classic Builds and Release to YAML</title><link>https://blogs.blackmarble.co.uk/rfennell/how-to-export-azure-devops-classic-builds-and-release-to-yaml/</link><pubDate>Fri, 13 Nov 2020 12:03:45 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/how-to-export-azure-devops-classic-builds-and-release-to-yaml/</guid><description>
&lt;p>&lt;em>This is another one of those posts so I can remember where some useful information is....&lt;/em>&lt;/p>
&lt;p>If you are migrating your &lt;a href="https://www.youtube.com/watch?v=WMQ0G9eXczE&amp;amp;t=21s">Azure DevOps Classic Builds and Release to Multi-Stage YAML&lt;/a> then an import step is to export all the exiting build, task groups and release as YAML files.&lt;/p>
&lt;p>You can do this by hand within the Pipeline UI, with a lot of cut and pasting, but much easier is to use the excellent &lt;a href="https://github.com/f2calv/yamlizr">Yamlizr - Azure DevOps Classic-to-YAML Pipelines CLI&lt;/a> from &lt;a href="https://github.com/f2calv">Alex Vincent&lt;/a>. A single CLI command exports everything with a Team project into a neat folder structure of template base YAML.&lt;/p></description></item><item><title>Getting my ThinkPad Active Pen working with my Lenovo X1 Carbon Extreme</title><link>https://blogs.blackmarble.co.uk/rfennell/getting-my-thinkpad-active-pen-working-with-my-lenovo-x1-carbon-extreme/</link><pubDate>Fri, 06 Nov 2020 15:38:02 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/getting-my-thinkpad-active-pen-working-with-my-lenovo-x1-carbon-extreme/</guid><description>
&lt;p>I have had a ThinkPad Active Pen (model SD60G957200) ever since I got my Lenovo X1 Carbon Extreme.&lt;/p>
&lt;p>The pen, when it works, has worked well. However, the problem has been that whether the pen and PC detected each other seemed very hit and miss.&lt;/p>
&lt;p>Today I found the root cause. It was not drivers or dodgy Bluetooth as I had thought, but a weak spring inside the pen. It was not so weak that the battery rattled, but weak enough that the electrical circuit was not being closed reliably on the battery.&lt;/p></description></item><item><title>Black Marble BiteSize MVP Interview</title><link>https://blogs.blackmarble.co.uk/rfennell/black-marble-bitesize-mvp-interview/</link><pubDate>Thu, 15 Oct 2020 09:40:23 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/black-marble-bitesize-mvp-interview/</guid><description>
&lt;p>&lt;a href="https://www.youtube.com/embed/hU8gSpuPS-4">https://www.youtube.com/embed/hU8gSpuPS-4&lt;/a>&lt;/p></description></item><item><title>Using GitVersion when your default branch is not called 'master'</title><link>https://blogs.blackmarble.co.uk/rfennell/using-gitversion-when-your-default-branch-is-not-called-master/</link><pubDate>Wed, 14 Oct 2020 12:53:46 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/using-gitversion-when-your-default-branch-is-not-called-master/</guid><description>
&lt;p>The Black Live Matter movement has engendered many conversations, hopefully starting changes for the good. Often these changes involve the use of language. One such change has been the move to stop using the name &lt;code>master&lt;/code> and switching to the name &lt;code>main&lt;/code> for the trunk/default branch in Git repos. This change is moving apace driven by tools such as &lt;a href="https://github.com/github/renaming">GitHub&lt;/a> and &lt;a href="https://devblogs.microsoft.com/devops/azure-repos-default-branch-name/">Azure DevOps&lt;/a> .&lt;/p>
&lt;p>I have recently had need, for the first time since swapping my default branch name in new repos to &lt;code>main&lt;/code>, to use Semantic Version and the GitVersion tool.&lt;/p></description></item><item><title>How do handle PRs for Azure DevOps YAML Pipelines if the YAML templates are in a different repo?</title><link>https://blogs.blackmarble.co.uk/rfennell/how-do-handle-prs-for-azure-devops-yaml-pipelines-if-the-yaml-templates-are-in-a-different-repo/</link><pubDate>Fri, 18 Sep 2020 12:11:24 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/how-do-handle-prs-for-azure-devops-yaml-pipelines-if-the-yaml-templates-are-in-a-different-repo/</guid><description>
&lt;p>Azure DevOps YAML base pipelines allow the pipeline definitions to be treated like any other code. So you make changes in a branch and PR them into the main/trunk when they are approved.&lt;/p>
&lt;p>This works well if all the YAML files are in the same repo, but not so well if you are using &lt;a href="https://docs.microsoft.com/en-us/azure/devops/pipelines/process/templates?view=azure-devops">YAML templates&lt;/a> and the templated YAML is stored in a different repo. This is because an Azure DevOps PR is limited to a single repo. So testing a change to a YAML template in a different repo needs a bit of thought.&lt;/p></description></item><item><title>How can I automatically create Azure DevOps Release Notes and how can I publish them?</title><link>https://blogs.blackmarble.co.uk/rfennell/how-can-i-automatically-create-azure-devops-release-notes-and-how-can-i-publish-them/</link><pubDate>Tue, 15 Sep 2020 14:28:50 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/how-can-i-automatically-create-azure-devops-release-notes-and-how-can-i-publish-them/</guid><description>
&lt;p>A question I am often asked when consulting on Azure DevOps is ‘how can I automatically create release notes and how can I publish them?’.&lt;/p>
&lt;p>Well it is for just this requirement that I have written a set of Azure DevOps Pipeline Tasks&lt;/p>
&lt;ul>
&lt;li>&lt;a href="https://marketplace.visualstudio.com/items?itemName=richardfennellBM.BM-VSTS-XplatGenerateReleaseNotes">Release Note Generator&lt;/a> - to generate release notes. I strongly recommend this Cross-platform Node-based version. I plan to deprecate my older PowerShell version in the not too distant future as it uses ‘homegrown logic’, as opposed to standard Azure DevOps API calls, to get associated items.&lt;/li>
&lt;li>&lt;a href="https://marketplace.visualstudio.com/items?itemName=richardfennellBM.BM-VSTS-WIKIUpdater-Tasks">Wiki Updater&lt;/a> - to upload a page tot a WIKI.&lt;/li>
&lt;li>&lt;a href="https://marketplace.visualstudio.com/items?itemName=richardfennellBM.BM-VSTS-WikiPDFExport-Tasks">WIKI PDF Generator&lt;/a> - to convert a generated page, or whole WIKI, to PDF format.&lt;/li>
&lt;/ul>
&lt;p>So lets deal with these tools in turn&lt;/p></description></item><item><title>Fix For: &amp;lsquo;The pipeline is not valid error: Unable to resolve latest version&amp;rsquo; on an Azure DevOps YAML pipeline</title><link>https://blogs.blackmarble.co.uk/rfennell/fix-for-the-pipeline-is-not-valid-error-unable-to-resolve-latest-version-on-an-azure-devops-yaml-pipeline/</link><pubDate>Thu, 27 Aug 2020 15:54:52 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/fix-for-the-pipeline-is-not-valid-error-unable-to-resolve-latest-version-on-an-azure-devops-yaml-pipeline/</guid><description>
&lt;h3 id="the-issue">The Issue&lt;/h3>
&lt;p>I have an Azure DevOps multi-stage YAML pipeline that started giving the error `The pipeline is not valid error: Unable to resolve latest version for pipeline templates: this could be due to inaccessible pipeline or no version is available` and failing instantly.&lt;/p>
&lt;p>&lt;a href="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/2020/08/image-1.png">
&lt;img
loading="lazy"
decoding="async"
alt="image"
class="image_figure image_external image_processed"
width="806"
height="398"
src="https://blogs.blackmarble.co.uk/images/image_thumb-1_8707391125491734336.png"
title="image"
/>
&lt;/a>&lt;/p>
&lt;h3 id="the-solution">The Solution&lt;/h3>
&lt;p>This is not the most helpful message, but after some digging I found the problem.&lt;/p>
&lt;p>The pipeline used another pipeline as a resources&lt;/p></description></item><item><title>Exporting Release Notes and WIKIs as PDFs using a new Azure DevOps Extension that wrappers AzureDevOps.WikiPDFExport</title><link>https://blogs.blackmarble.co.uk/rfennell/exporting-release-notes-and-wikis-as-pdfs-using-a-new-azure-devops-extension-that-wrappers-azuredevops-wikipdfexport/</link><pubDate>Thu, 27 Aug 2020 10:17:12 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/exporting-release-notes-and-wikis-as-pdfs-using-a-new-azure-devops-extension-that-wrappers-azuredevops-wikipdfexport/</guid><description>
&lt;p>A common question I get when people are using my &lt;a href="https://marketplace.visualstudio.com/items?itemName=richardfennellBM.BM-VSTS-XplatGenerateReleaseNotes">Release Notes task for Azure DevOps&lt;/a> is whether it is possible to get the release notes as a PDF. In the past, the answer was that I did not know of any easy way. However, I have recently come across a command line tool by Max Melcher called &lt;a href="https://github.com/MaxMelcher/AzureDevOps.WikiPDFExport">AzureDevOps.WikiPDFExport&lt;/a> that allows you to export a whole WIKI (or a single file) as a PDF. Its basic usage is&lt;/p></description></item><item><title>Using the Post Build Cleanup Task from the Marketplace in YAML based Azure DevOps Pipelines</title><link>https://blogs.blackmarble.co.uk/rfennell/using-the-post-build-cleanup-task-from-the-marketplace-in-yaml-based-azure-devops-pipelines/</link><pubDate>Wed, 19 Aug 2020 14:58:39 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/using-the-post-build-cleanup-task-from-the-marketplace-in-yaml-based-azure-devops-pipelines/</guid><description>
&lt;p>Disks filling up on our private Azure DevOps agents is a constant battle. We have maintenance jobs setup on the agent pools, to clean out old build working folders nightly, but these don’t run often enough. We need a clean out more than once a day due to the number and size of our builds. To address this, with UI based builds, we successfully used the &lt;a href="https://marketplace.visualstudio.com/items?itemName=mspremier.PostBuildCleanup">Post Build Cleanup Extension&lt;/a>. However since we have moved many of our builds to YAML we found it not working so well. Turned out the problem was due to the way got source code. The Post Build Cleanup task is intelligent, it does not just delete folders on demand. It check to see what the Get Source ‘Clean’ setting was when the repo was cloned and bases what it deletes on this value e.g. nothing, source, or everything. This behaviour is not that obvious. In a UI based builds it is easy to check this setting. You are always in the UI when editing the build. However, in YAML it is easy to forget the setting, as it is one of those few values that cannot be set in YAML. To make the post build cleanup task actually delete folders in a YAML pipeline you need to&lt;/p></description></item><item><title>Zwift and the joys of home networking</title><link>https://blogs.blackmarble.co.uk/rfennell/zwift-and-the-joys-of-home-networking/</link><pubDate>Mon, 13 Jul 2020 09:10:55 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/zwift-and-the-joys-of-home-networking/</guid><description>
&lt;p>During the Covid 19 lock down I have been doing plenty of &lt;a href="https://zwift.com/feed?utm_source=google&amp;amp;utm_medium=cpc&amp;amp;utm_campaign=zwift_eur_uk_cycling_search_brandcore_performance_eng-imprshare-20&amp;amp;gclid=CjwKCAjwjLD4BRAiEiwAg5NBFkOs6pvK2l4x_VOwElyHdtZaocpSugxuU4wq5nOLyeWLDw8sPesOHRoCvjgQAvD_BwE">Zwift&lt;/a>'ing. However, I have started having problems getting the &lt;a href="https://zwift.com/companion?utm_source=google&amp;amp;utm_medium=cpc&amp;amp;utm_campaign=zwift_eur_uk_cycling_search_brand_performance_eng-imprshare-20&amp;amp;gclid=CjwKCAjwjLD4BRAiEiwAg5NBFs0iBpEj-wITNCD0VowmooCQMHQExt5JjRs3Ff0uV4ZZ8DQzQTWaNxoC76cQAvD_BwE">Zwift Companion App&lt;/a> working reliably, when it used to work.&lt;/p>
&lt;p>Basically, Zwift itself was fine, though very slow to save when exiting, but the companion app could not seem to detect that I was actively Zwift'ing, but it's other functions were OK.&lt;/p>
&lt;p>&lt;img
loading="lazy"
decoding="async"
alt=""
class="image_figure image_internal image_unprocessed"
src="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/2020/07/uVSoNkxbVgjS78uvjUY30M8OMG5JdiHogtQjZzmsAWE-2048x1121-1-1024x561.jpg"
/>
&lt;/p>
&lt;p>After much fiddling I found the issue was the network connection from my PC up to Zwift and nothing to do with the phone app. But in case it is of any use to others here are the steps I took to&lt;/p></description></item><item><title>Bringing Stage based release notes in Multi-Stage YAML to my Cross Platform Release Notes Exension</title><link>https://blogs.blackmarble.co.uk/rfennell/bringing-stage-based-release-notes-in-multi-stage-yaml-to-my-cross-platform-release-notes-exension/</link><pubDate>Mon, 06 Jul 2020 13:21:12 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/bringing-stage-based-release-notes-in-multi-stage-yaml-to-my-cross-platform-release-notes-exension/</guid><description>
&lt;p>I have just released Version 3.1.7 of my &lt;a href="https://marketplace.visualstudio.com/items?itemName=richardfennellBM.BM-VSTS-XplatGenerateReleaseNotes">Azure DevOps Pipeline XplatGenerateReleaseNotes Extension&lt;/a>.&lt;/p>
&lt;p>This new version allows you to build release notes within a Multi-Stage YAML build since the last successful release to the current (or named) stage in the pipeline as opposed to just last fully successful build.&lt;/p>
&lt;p>This gives more feature parity with the older UI based Releases functionality.&lt;/p>
&lt;p>To enable this new feature you need to set the &lt;code>checkStage: true&lt;/code> flag and potentially the &lt;code>overrideStageName: AnotherStage&lt;/code> if you wish the comparison to compare against a stage other than the current one.&lt;/p></description></item><item><title>Timeout Errors 'Extracting Schema' when running SQLPackage for a Migration to Azure DevOps Services</title><link>https://blogs.blackmarble.co.uk/rfennell/timeout-errors-extracting-schema-when-running-sqlpackage-for-a-migration-to-azure-devops-services/</link><pubDate>Thu, 25 Jun 2020 09:39:25 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/timeout-errors-extracting-schema-when-running-sqlpackage-for-a-migration-to-azure-devops-services/</guid><description>
&lt;h3 id="the-problem">The Problem&lt;/h3>
&lt;p>Whilst doing a migration from an on-premised TFS to Azure DevOps Services for a client I had a strange issue with SQLPackage.exe.&lt;/p>
&lt;p>I had previously completed the dry run of the migration without any issues and started the live migration with a fully defined process and timings for a each stage.&lt;/p>
&lt;p>When I came to export the detached Team Project Collection DB I ran the same command as I had for the dry run&lt;/p></description></item><item><title>Getting started with Aggregator CLI for Azure DevOps Work Item Roll-up</title><link>https://blogs.blackmarble.co.uk/rfennell/getting-started-with-aggregator-cli-for-azure-devops-work-item-roll-up/</link><pubDate>Fri, 12 Jun 2020 17:23:40 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/getting-started-with-aggregator-cli-for-azure-devops-work-item-roll-up/</guid><description>
&lt;p>&lt;em>Updated 30/Sep/21 to reflect changes in the Aggregator CLI setup process&lt;/em>
&lt;em>Updated 27/Mar/22 to fix broken links&lt;/em>&lt;/p>
&lt;h2 id="background">Background&lt;/h2>
&lt;p>Back in the day I wrote a tool, &lt;a href="https://archive.codeplex.com/?p=tfsalertsdsl">TFS Alerts DSL&lt;/a>, to do Work Item roll-up for TFS. Overtime I updated this to support VSTS (as Azure DevOps was then called), it’s final version is still available in the Azure DevOps Marketplace as the &lt;a href="https://marketplace.visualstudio.com/items?itemName=richardfennellBM.BM-VSTS-ServiceHooks-DSL">Azure DevOps Service Hooks DSL&lt;/a>. So when I recently had a need for Work Item roll-up I did consider using my own tool, just for a short while. However, I quickly realised a much better option was to use the &lt;a href="https://github.com/tfsaggregator/aggregator-cli">Aggregator CLI&lt;/a>.&lt;/p></description></item><item><title>How to do local template development for my Cross platform Release notes task</title><link>https://blogs.blackmarble.co.uk/rfennell/how-to-do-local-template-development-for-my-cross-platform-release-notes-task/</link><pubDate>Wed, 10 Jun 2020 14:01:01 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/how-to-do-local-template-development-for-my-cross-platform-release-notes-task/</guid><description>
&lt;p>The testing cycle for &lt;a href="https://marketplace.visualstudio.com/items?itemName=richardfennellBM.BM-VSTS-XplatGenerateReleaseNotes">Release Notes Templates&lt;/a> can be slow, requiring a build and release cycle. To try to speed this process for users I have created a local test harness that allows the same calls to be made from a development machine as would be made within a build or release.&lt;/p>
&lt;p>However, running this is not as simple was you might expect so please read the instruction before proceeding.&lt;/p>
&lt;h3 id="setup-and-build">Setup and Build&lt;/h3>
&lt;ol>
&lt;li>
&lt;p>&lt;a href="https://github.com/rfennell/AzurePipelines">Clone the repo&lt;/a> contain the Azure DevOps Extension.&lt;/p></description></item><item><title>New feature for Cross Platform Release notes - get parent and child work items</title><link>https://blogs.blackmarble.co.uk/rfennell/new-feature-for-cross-platform-release-notes-get-parent-and-child-work-items/</link><pubDate>Sat, 06 Jun 2020 17:44:02 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/new-feature-for-cross-platform-release-notes-get-parent-and-child-work-items/</guid><description>
&lt;p>I have added another new feature to my &lt;a href="https://marketplace.visualstudio.com/items?itemName=richardfennellBM.BM-VSTS-XplatGenerateReleaseNotes">Cross Platform release note generator&lt;/a>. Now, when using Handlebars based templates you can optionally get the parent or child work items for any work item associated with build/release&lt;/p>
&lt;p>To enable the feature, as it is off by default, you need to set the  &lt;strong>getParentsAndChildren: true&lt;/strong> parameter for the task, either in YAML or in the handlebars section of the configuration.&lt;/p>
&lt;p>This will add an extra array that the template can access &lt;strong>relatedWorkItems&lt;/strong>. This contains all the work items associated with the build/release plus their direct parents and children. This can then be accessed in the template&lt;/p></description></item><item><title>And another new feature for my Cross Platform Release Notes Azure DevOps Task - commit/changeset file details</title><link>https://blogs.blackmarble.co.uk/rfennell/and-another-new-feature-for-my-cross-platform-release-notes-azure-devops-task-commit-changeset-file-details/</link><pubDate>Wed, 20 May 2020 20:15:47 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/and-another-new-feature-for-my-cross-platform-release-notes-azure-devops-task-commit-changeset-file-details/</guid><description>
&lt;p>The &lt;a href="https://blogs.blackmarble.co.uk/rfennell/2020/03/11/a-major-new-feature-for-my-cross-platform-release-notes-azure-devops-pipelines-extension-handlebars-templating-support/">addition of Handlebars based templating&lt;/a> for my &lt;a href="https://marketplace.visualstudio.com/items?itemName=richardfennellBM.BM-VSTS-XplatGenerateReleaseNotes">Cross Platform Release Notes Task&lt;/a> has certainly made it much easier to release new features. The legacy templating model it seem is what had been holding development back.&lt;/p>
&lt;p>In the past month or so I have added support for generating release notes based on PRs and Tests. I am now happy to say I have just added support for the actual files associated with a commit or changeset.&lt;/p></description></item><item><title>Another feature for my Cross Platform Release Notes Azure DevOps Extension&amp;ndash;access to test results</title><link>https://blogs.blackmarble.co.uk/rfennell/another-feature-for-my-cross-platform-release-notes-azure-devops-extension-access-to-test-results/</link><pubDate>Mon, 18 May 2020 13:20:16 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/another-feature-for-my-cross-platform-release-notes-azure-devops-extension-access-to-test-results/</guid><description>
&lt;p>Over the weekend I got another new feature for my &lt;a href="https://marketplace.visualstudio.com/items?itemName=richardfennellBM.BM-VSTS-XplatGenerateReleaseNotes">Cross Platform Release Notes Azure DevOps Extension&lt;/a> working. The test results associated with build artefacts or releases are now exposed to Handlebars based templates.&lt;/p>
&lt;p>The new objects you can access are:&lt;/p>
&lt;ul>
&lt;li>
&lt;p>In builds&lt;/p>
&lt;/li>
&lt;li>
&lt;p>tests – all the test run as part of current build&lt;/p>
&lt;/li>
&lt;li>
&lt;p>In releases&lt;/p>
&lt;/li>
&lt;li>
&lt;p>tests – all the test run as part of any current build artefacts or previous to the running of the release notes task within a release environment&lt;/p></description></item><item><title>Running SonarQube for a .NET Core project in Azure DevOps YAML multi-stage pipelines</title><link>https://blogs.blackmarble.co.uk/rfennell/running-sonarqube-for-a-net-core-project-in-azure-devops-yaml-multi-stage-pipelines/</link><pubDate>Mon, 11 May 2020 10:31:25 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/running-sonarqube-for-a-net-core-project-in-azure-devops-yaml-multi-stage-pipelines/</guid><description>
&lt;p>We have been looking migrating some of our common .NET Core libraries into new NuGet packages and have taken the chance to change our build process to use &lt;a href="https://docs.microsoft.com/en-us/azure/devops/pipelines/get-started/multi-stage-pipelines-experience?view=azure-devops">Azure DevOps Multi-stage Pipelines&lt;/a>. Whilst doing this I hit a problem getting &lt;a href="https://www.sonarqube.org/">SonarQube&lt;/a> analysis working, the documentation I found was a little confusing.&lt;/p>
&lt;h3 id="the-problem">The Problem&lt;/h3>
&lt;p>As part of the YAML pipeline re-design we were moving away from building Visual Studio SLN solution files, and swapping to .NET Core command line for the build and testing of .CSproj files. Historically we had used the &lt;a href="https://docs.sonarqube.org/latest/analysis/scan/sonarscanner-for-azure-devops/">SonarQube Build Tasks&lt;/a> that can be found in the &lt;a href="https://marketplace.visualstudio.com/items?itemName=SonarSource.sonarqube">Azure DevOps Marketplace&lt;/a> to control SonarQube Analysis. However, if we used these tasks in the new YAML pipeline we quickly found that the SonarQube analysis failed saying it could find no projects ##[error]No analysable projects were found. SonarQube analysis will not be performed. Check the build summary report for details. So I next swapped to using use the &lt;a href="https://www.nuget.org/packages/dotnet-sonarscanner">SonarScanner for .NET Core&lt;/a>, assuming the issue was down to not using .NET Core commands. This gave YAML as follows,```
- task: &lt;a href="mailto:DotNetCoreCLI@2">DotNetCoreCLI@2&lt;/a>
     displayName: 'Install Sonarscanner'
     inputs:
       command: 'custom'
custom: 'tool'
arguments: 'install --global dotnet-sonarscanner --version 4.9.0&lt;/p></description></item><item><title>Announcing the deprecation of my Azure DevOps Pester Extension as it has been migrated to the Pester Project and republished under a new ID</title><link>https://blogs.blackmarble.co.uk/rfennell/announcing-the-deprecation-of-my-azure-devops-pester-extension-as-it-has-been-migrated-to-the-pester-project-and-republished-under-a-new-id/</link><pubDate>Sun, 03 May 2020 13:14:05 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/announcing-the-deprecation-of-my-azure-devops-pester-extension-as-it-has-been-migrated-to-the-pester-project-and-republished-under-a-new-id/</guid><description>
&lt;p>Back in early 2016 I wrote an &lt;a href="https://marketplace.visualstudio.com/items?itemName=richardfennellBM.BM-VSTS-PesterRunner-Task">Azure DevOps Extension to wrapper Pester&lt;/a>, the Powershell unit testing tool. Over the years I updated it, and then passed the support of it over to someone who knows much more about Powershell and Pester than I &lt;a href="https://github.com/ChrisLGardner">Chris Gardner&lt;/a> who continued to develop it.&lt;/p>
&lt;p>With the advent of cross-platform Powershell Core we realized that the current extension implementation had a fundamental limitation. Azure DevOps Tasks can only be executed by the agent using the Windows version of Powershell or Node. There is no option for execution by Powershell Core, and probably never will be. As Pester is now supported by Powershell Core this was a serious limitation.&lt;/p></description></item><item><title>Fix for &amp;lsquo;System.BadImageFormatException&amp;rsquo; when running x64 based tests inside a Azure DevOps Release</title><link>https://blogs.blackmarble.co.uk/rfennell/fix-for-system-badimageformatexception-when-running-x64-based-tests-inside-a-azure-devops-release/</link><pubDate>Thu, 23 Apr 2020 10:05:35 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/fix-for-system-badimageformatexception-when-running-x64-based-tests-inside-a-azure-devops-release/</guid><description>
&lt;p>&lt;em>This is one of those blog posts I write to remind my future self how I fixed a problem.&lt;/em>&lt;/p>
&lt;h3 id="the-problem">The Problem&lt;/h3>
&lt;p>I have a release that installs VSTest and runs some integration tests that target .NET 4.6 x64. All these tests worked fine in Visual Studio. However, I got the following errors for all tests when they were run in a release&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-gdscript3" data-lang="gdscript3">&lt;span class="line">&lt;span class="ln"> 1&lt;/span>&lt;span class="cl">&lt;span class="mi">2020&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="mi">04&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="mi">23&lt;/span>&lt;span class="n">T09&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="mi">30&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="mf">38.7544708&lt;/span>&lt;span class="n">Z&lt;/span> &lt;span class="n">vstest&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">console&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">exe&lt;/span> &lt;span class="s2">&amp;#34;C:agent\_workr1aPaymentServicesdroptestartifactsPaymentService.IntegrationTests.dll&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 2&lt;/span>&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 3&lt;/span>&lt;span class="cl">&lt;span class="mi">2020&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="mi">04&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="mi">23&lt;/span>&lt;span class="n">T09&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="mi">30&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="mf">38.7545688&lt;/span>&lt;span class="n">Z&lt;/span> &lt;span class="o">/&lt;/span>&lt;span class="n">Settings&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="s2">&amp;#34;C:agent\_work\_tempuxykzf03ik2.tmp.runsettings&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 4&lt;/span>&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 5&lt;/span>&lt;span class="cl">&lt;span class="mi">2020&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="mi">04&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="mi">23&lt;/span>&lt;span class="n">T09&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="mi">30&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="mf">38.7545808&lt;/span>&lt;span class="n">Z&lt;/span> &lt;span class="o">/&lt;/span>&lt;span class="n">Logger&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="s2">&amp;#34;trx&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 6&lt;/span>&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 7&lt;/span>&lt;span class="cl">&lt;span class="mi">2020&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="mi">04&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="mi">23&lt;/span>&lt;span class="n">T09&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="mi">30&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="mf">38.7545937&lt;/span>&lt;span class="n">Z&lt;/span> &lt;span class="o">/&lt;/span>&lt;span class="n">TestAdapterPath&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="s2">&amp;#34;C:agent\_workr1aPaymentServicesdroptestartifacts&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 8&lt;/span>&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 9&lt;/span>&lt;span class="cl">&lt;span class="mi">2020&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="mi">04&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="mi">23&lt;/span>&lt;span class="n">T09&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="mi">30&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="mf">39.2634578&lt;/span>&lt;span class="n">Z&lt;/span> &lt;span class="n">Starting&lt;/span> &lt;span class="n">test&lt;/span> &lt;span class="n">execution&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">please&lt;/span> &lt;span class="n">wait&lt;/span>&lt;span class="o">...&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">10&lt;/span>&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">11&lt;/span>&lt;span class="cl">&lt;span class="mi">2020&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="mi">04&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="mi">23&lt;/span>&lt;span class="n">T09&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="mi">30&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="mf">39.4783658&lt;/span>&lt;span class="n">Z&lt;/span> &lt;span class="n">A&lt;/span> &lt;span class="n">total&lt;/span> &lt;span class="n">of&lt;/span> &lt;span class="mi">1&lt;/span> &lt;span class="n">test&lt;/span> &lt;span class="n">files&lt;/span> &lt;span class="n">matched&lt;/span> &lt;span class="n">the&lt;/span> &lt;span class="n">specified&lt;/span> &lt;span class="n">pattern&lt;/span>&lt;span class="o">.&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">12&lt;/span>&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">13&lt;/span>&lt;span class="cl">&lt;span class="mi">2020&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="mi">04&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="mi">23&lt;/span>&lt;span class="n">T09&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="mi">30&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="mf">40.8660112&lt;/span>&lt;span class="n">Z&lt;/span>   &lt;span class="n">X&lt;/span> &lt;span class="n">Can&lt;/span>\&lt;span class="n">_Get&lt;/span>\&lt;span class="n">_MIDs&lt;/span> \&lt;span class="p">[&lt;/span>&lt;span class="mi">521&lt;/span>&lt;span class="n">ms&lt;/span>\&lt;span class="p">]&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">14&lt;/span>&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">15&lt;/span>&lt;span class="cl">&lt;span class="mi">2020&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="mi">04&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="mi">23&lt;/span>&lt;span class="n">T09&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="mi">30&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="mf">40.8684249&lt;/span>&lt;span class="n">Z&lt;/span>   &lt;span class="n">Error&lt;/span> &lt;span class="n">Message&lt;/span>&lt;span class="p">:&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">16&lt;/span>&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">17&lt;/span>&lt;span class="cl">&lt;span class="mi">2020&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="mi">04&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="mi">23&lt;/span>&lt;span class="n">T09&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="mi">30&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="mf">40.8684441&lt;/span>&lt;span class="n">Z&lt;/span>    &lt;span class="n">Test&lt;/span> &lt;span class="n">method&lt;/span> &lt;span class="n">PaymentServices&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">IntegrationTests&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">ControllerMIDTests&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">Can&lt;/span>\&lt;span class="n">_Get&lt;/span>\&lt;span class="n">_MIDs&lt;/span> &lt;span class="n">threw&lt;/span> &lt;span class="n">exception&lt;/span>&lt;span class="p">:&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">18&lt;/span>&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">19&lt;/span>&lt;span class="cl">&lt;span class="mi">2020&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="mi">04&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="mi">23&lt;/span>&lt;span class="n">T09&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="mi">30&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="mf">40.8684574&lt;/span>&lt;span class="n">Z&lt;/span> &lt;span class="n">System&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">BadImageFormatException&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="n">Could&lt;/span> &lt;span class="ow">not&lt;/span> &lt;span class="nb">load&lt;/span> &lt;span class="n">file&lt;/span> &lt;span class="ow">or&lt;/span> &lt;span class="n">assembly&lt;/span> &lt;span class="s1">&amp;#39;PaymentServices, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null&amp;#39;&lt;/span> &lt;span class="ow">or&lt;/span> &lt;span class="n">one&lt;/span> &lt;span class="n">of&lt;/span> &lt;span class="n">its&lt;/span> &lt;span class="n">dependencies&lt;/span>&lt;span class="o">.&lt;/span> &lt;span class="n">An&lt;/span> &lt;span class="n">attempt&lt;/span> &lt;span class="n">was&lt;/span> &lt;span class="n">made&lt;/span> &lt;span class="n">to&lt;/span> &lt;span class="nb">load&lt;/span> &lt;span class="n">a&lt;/span> &lt;span class="n">program&lt;/span> &lt;span class="n">with&lt;/span> &lt;span class="n">an&lt;/span> &lt;span class="n">incorrect&lt;/span> &lt;span class="n">format&lt;/span>&lt;span class="o">.&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">20&lt;/span>&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">21&lt;/span>&lt;span class="cl">&lt;span class="mi">2020&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="mi">04&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="mi">23&lt;/span>&lt;span class="n">T09&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="mi">30&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="mf">40.8684766&lt;/span>&lt;span class="n">Z&lt;/span>   &lt;span class="n">Stack&lt;/span> &lt;span class="n">Trace&lt;/span>&lt;span class="p">:&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">22&lt;/span>&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">23&lt;/span>&lt;span class="cl">&lt;span class="mi">2020&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="mi">04&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="mi">23&lt;/span>&lt;span class="n">T09&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="mi">30&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="mf">40.8684881&lt;/span>&lt;span class="n">Z&lt;/span>       &lt;span class="n">at&lt;/span> &lt;span class="n">PaymentServices&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">IntegrationTests&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">ControllerMIDTests&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">Can&lt;/span>\&lt;span class="n">_Get&lt;/span>\&lt;span class="n">_MIDs&lt;/span>&lt;span class="p">()&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">24&lt;/span>&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">25&lt;/span>&lt;span class="cl">&lt;span class="err">…&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">26&lt;/span>&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">27&lt;/span>&lt;span class="cl">&lt;span class="mi">2020&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="mi">04&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="mi">23&lt;/span>&lt;span class="n">T09&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="mi">30&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="mf">40.9038788&lt;/span>&lt;span class="n">Z&lt;/span> &lt;span class="n">Results&lt;/span> &lt;span class="ne">File&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="n">C&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="n">agent&lt;/span>\&lt;span class="n">_work&lt;/span>\&lt;span class="n">_tempTestResultssvc&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">devops&lt;/span>\&lt;span class="n">_SVRHQAPP027&lt;/span>\&lt;span class="n">_2020&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="mi">04&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="mi">23&lt;/span>\&lt;span class="n">_10&lt;/span>\&lt;span class="n">_30&lt;/span>\&lt;span class="n">_40&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">trx&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">28&lt;/span>&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">29&lt;/span>&lt;span class="cl">&lt;span class="mi">2020&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="mi">04&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="mi">23&lt;/span>&lt;span class="n">T09&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="mi">30&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="mf">40.9080344&lt;/span>&lt;span class="n">Z&lt;/span> &lt;span class="n">Total&lt;/span> &lt;span class="n">tests&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="mi">22&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">30&lt;/span>&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">31&lt;/span>&lt;span class="cl">&lt;span class="mi">2020&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="mi">04&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="mi">23&lt;/span>&lt;span class="n">T09&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="mi">30&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="mf">40.9082348&lt;/span>&lt;span class="n">Z&lt;/span>      &lt;span class="n">Failed&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="mi">22&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">32&lt;/span>&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">33&lt;/span>&lt;span class="cl">&lt;span class="mi">2020&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="mi">04&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="mi">23&lt;/span>&lt;span class="n">T09&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="mi">30&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="mf">40.9134858&lt;/span>&lt;span class="n">Z&lt;/span> &lt;span class="c1">##\[error\]Test Run Failed.&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h3 id="solution">Solution&lt;/h3>
&lt;p>I needed to tell &lt;strong>vstest.console.exe&lt;/strong> to run x64 as opposed to it’s default of x32. This can be done with a command line override &lt;strong>–platform:x64&lt;/strong>&lt;/p></description></item><item><title>I decided to create a video of my blog post on Multistage YAML pipelines</title><link>https://blogs.blackmarble.co.uk/rfennell/i-decided-to-create-a-video-of-my-blog-post-on-multistage-yaml-pipelines/</link><pubDate>Wed, 22 Apr 2020 11:42:48 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/i-decided-to-create-a-video-of-my-blog-post-on-multistage-yaml-pipelines/</guid><description>
&lt;p>I decided to create a video of my blog post ‘&lt;a href="https://blogs.blackmarble.co.uk/rfennell/2020/04/07/swapping-my-azure-devops-pipeline-extensions-release-process-to-use-multistage-yaml-pipelines/">Swapping my Azure DevOps Pipeline Extensions release process to use Multistage YAML pipelines’&lt;/a>.&lt;/p>
&lt;p>[iframe width=&amp;quot;560&amp;quot; height=&amp;quot;315&amp;quot; src=&amp;quot;https://www.youtube.com/embed/WMQ0G9eXczE&amp;quot; frameborder=&amp;quot;0&amp;quot; allowfullscreen=&amp;quot;&amp;quot; allow=&amp;quot;accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture&amp;quot;]&lt;/p>
&lt;p>The video up on &lt;a href="https://bit.ly/MigratetoYAML">YouTube&lt;/a>&lt;/p></description></item><item><title>And more enriching the data available in my Azure DevOps Pipelines Cross Platform Release Notes Task</title><link>https://blogs.blackmarble.co.uk/rfennell/and-more-enriching-the-data-available-in-my-azure-devops-pipelines-cross-platform-release-notes-task/</link><pubDate>Tue, 21 Apr 2020 16:42:46 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/and-more-enriching-the-data-available-in-my-azure-devops-pipelines-cross-platform-release-notes-task/</guid><description>
&lt;p>I have today released another enrichment to the dataset available in my &lt;a href="https://marketplace.visualstudio.com/items?itemName=richardfennellBM.BM-VSTS-XplatGenerateReleaseNotes">Cross Platform Release Notes Azure Pipeline Task&lt;/a>. It now returns an extra array of data that links work items and commits to build artifacts.&lt;/p>
&lt;p>So your reporting objects are:&lt;/p>
&lt;h3 id="array-objects">Array Objects&lt;/h3>
&lt;ul>
&lt;li>
&lt;p>workItems – the array of all work item associated with the release&lt;/p>
&lt;/li>
&lt;li>
&lt;p>commits – the array of all commits associated with the release&lt;/p>
&lt;/li>
&lt;li>
&lt;p>pullRequests - the array of all PRs referenced by the commits in the release&lt;/p></description></item><item><title>Further enriching the data available in my Azure DevOps Pipelines Cross Platform Release Notes Task</title><link>https://blogs.blackmarble.co.uk/rfennell/further-enriching-the-data-available-in-my-azure-devops-pipelines-cross-platform-release-notes-task/</link><pubDate>Wed, 15 Apr 2020 16:01:57 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/further-enriching-the-data-available-in-my-azure-devops-pipelines-cross-platform-release-notes-task/</guid><description>
&lt;p>I recently post about &lt;a href="https://blogs.blackmarble.co.uk/rfennell/2020/04/04/enriching-the-data-available-in-my-azure-devops-pipelines-cross-platform-release-notes-task/">Enriching the data available in my Azure DevOps Pipelines Cross Platform Release Notes Task&lt;/a> by adding Pull Request information. Well, that first release was fairly limited only working for PR validation builds, so I have made more improvements and shipped a newer version.&lt;/p>
&lt;p>The &lt;a href="https://marketplace.visualstudio.com/items?itemName=richardfennellBM.BM-VSTS-XplatGenerateReleaseNotes">task&lt;/a> now will, as well as checking for PR build trigger, try to associate the commits associated with a build/release pipeline to any completed PRs in the repo. This is done using the Last Merge Commit ID, and from my tests seems to work for the various types of PR e.g. squash, merge, rebased and semi-linear.&lt;/p></description></item><item><title>Swapping my Azure DevOps Pipeline Extensions release process to use Multistage YAML pipelines</title><link>https://blogs.blackmarble.co.uk/rfennell/swapping-my-azure-devops-pipeline-extensions-release-process-to-use-multistage-yaml-pipelines/</link><pubDate>Tue, 07 Apr 2020 10:55:34 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/swapping-my-azure-devops-pipeline-extensions-release-process-to-use-multistage-yaml-pipelines/</guid><description>
&lt;p>In the past I have &lt;a href="https://github.com/rfennell/AzurePipelines/wiki/Outlining-my-Azure-DevOps-CI-CD-Process-using-UI-based-tools">documented the build and release process I use for my Azure DevOps Pipeline Extensions&lt;/a> and also detailed how I have started &lt;a href="https://blogs.blackmarble.co.uk/rfennell/2019/04/26/migrating-a-gui-based-build-to-yaml-in-azure-devops-pipelines/">to move the build phases to YAML&lt;/a>.&lt;/p>
&lt;p>Well now I consider that &lt;a href="https://docs.microsoft.com/en-us/azure/devops/pipelines/process/stages?view=azure-devops&amp;amp;tabs=yaml">multistage YAML pipelines&lt;/a> are mature enough to allow me to do my whole release pipeline in YAML, hence this post.&lt;/p>
&lt;p>&lt;a href="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/2020/04/image.png">
&lt;img
loading="lazy"
decoding="async"
alt="image"
class="image_figure image_external image_processed"
width="1147"
height="542"
src="https://blogs.blackmarble.co.uk/images/image_thumb_2646248549201876894.png"
title="image"
/>
&lt;/a>&lt;/p>
&lt;p>My pipeline performs a number of stages, &lt;a href="https://github.com/rfennell/AzurePipelines/blob/master/Extensions/ArtifactDescription/azure-pipelines.yml">you can find a sample pipeline here&lt;/a>. Note that I have made every effort to extract variables into variable groups to aid reuse of the pipeline definition. I have added documentation as to where variable are stored and what they are used for.&lt;/p></description></item><item><title>My Azure DevOps Pipeline is not triggering on a GitHub Pull request - fixed</title><link>https://blogs.blackmarble.co.uk/rfennell/my-azure-devops-pipeline-is-not-triggering-on-a-github-pull-request-fixed/</link><pubDate>Tue, 07 Apr 2020 09:41:06 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/my-azure-devops-pipeline-is-not-triggering-on-a-github-pull-request-fixed/</guid><description>
&lt;p>I have recently hit a problem that some of my Azure DevOps YAML pipelines, that I use to build my Azure DevOps Pipeline Extensions, are not triggering on a new PR being created on GitHub.&lt;/p>
&lt;p>I did not get to the bottom of why this is happening, but I found a fix.&lt;/p>
&lt;ul>
&lt;li>Check and of make a note of any UI declared variables in your Azure DevOps YAML Pipeline that is not triggering&lt;/li>
&lt;li>Delete the pipeline&lt;/li>
&lt;li>Re-add the pipeline, linking to the YAML file hosted on GitHub. You might be asked to re-authorise the link between Azure DevOps Pipelines and GitHub.&lt;/li>
&lt;li>Re-enter any variables that are declared via the Pipelines UI and save the changes&lt;/li>
&lt;/ul>
&lt;p>Your pipeline should start to be triggered again&lt;/p></description></item><item><title>Enriching the data available in my Azure DevOps Pipelines Cross Platform Release Notes Task</title><link>https://blogs.blackmarble.co.uk/rfennell/enriching-the-data-available-in-my-azure-devops-pipelines-cross-platform-release-notes-task/</link><pubDate>Sat, 04 Apr 2020 12:06:01 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/enriching-the-data-available-in-my-azure-devops-pipelines-cross-platform-release-notes-task/</guid><description>
&lt;p>A common request for my &lt;a href="https://marketplace.visualstudio.com/items?itemName=richardfennellBM.BM-VSTS-XplatGenerateReleaseNotes">Generate Release Notes Tasks&lt;/a> is to enrich the data available beyond basic build, work item and commit/changeset details. I have resisted these requests as it felt like a never ending journey to start. However, I have now relented and added the option to see any pull request information available.&lt;/p>
&lt;p>This feature is limited, you obviously have to be using artifacts that linked to a Git repo, and also the Git repo have to on an Azure DevOps hosted repository. This won’t meet everyone’s needs but it is a start.&lt;/p></description></item><item><title>Experiences setting up Azure Active Directory single sign-on (SSO) integration with GitHub Enterprise</title><link>https://blogs.blackmarble.co.uk/rfennell/experiences-setting-up-azure-active-directory-single-sign-on-sso-integration-with-github-enterprise/</link><pubDate>Mon, 30 Mar 2020 16:29:34 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/experiences-setting-up-azure-active-directory-single-sign-on-sso-integration-with-github-enterprise/</guid><description>
&lt;h3 id="background">Background&lt;/h3>
&lt;p>GitHub is a great system for individuals and OSS communities for both public and private project. However, corporate customers commonly want more control over their system than the standard GitHub offering. It is for this reason GitHub offers  &lt;a href="https://github.com/enterprise">GitHub Enterprise&lt;/a>.&lt;/p>
&lt;p>For most corporates, the essential feature that GitHub Enterprise offers is the use Single Sign On (SSO) i.e. allowing users to login to GitHub using their corporate directory accounts.&lt;/p>
&lt;p>I wanted to see how easy this was to setup when you are using Azure Active Directory (AAD).&lt;/p></description></item><item><title>A major new feature for my Cross-platform Release Notes Azure DevOps Pipelines Extension&amp;ndash;Handlebars Templating Support</title><link>https://blogs.blackmarble.co.uk/rfennell/a-major-new-feature-for-my-cross-platform-release-notes-azure-devops-pipelines-extension-handlebars-templating-support/</link><pubDate>Wed, 11 Mar 2020 11:48:39 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/a-major-new-feature-for-my-cross-platform-release-notes-azure-devops-pipelines-extension-handlebars-templating-support/</guid><description>
&lt;p>I recently got a very interesting PR for my &lt;a href="https://marketplace.visualstudio.com/items?itemName=richardfennellBM.BM-VSTS-XplatGenerateReleaseNotes">Cross-platform Release Notes Azure DevOps Pipelines Extension&lt;/a> from &lt;a href="https://github.com/KennethScott">Kenneth Scott&lt;/a>. He had added a new templating engine to the task, &lt;a href="https://handlebarsjs.com/">Handlebars&lt;/a>.&lt;/p>
&lt;p>Previous to this PR the templating in the task was done with a line by line evaluation of a template that used my own mark-up. This method worked but has limitations, mostly due to the line by line evaluation model.  With the Kenneth’s PR the option was added to write your templates in Handlebars, or stay with my previous templating engine.&lt;/p></description></item><item><title>Where did all my test results go?</title><link>https://blogs.blackmarble.co.uk/rfennell/where-did-all-my-test-results-go/</link><pubDate>Thu, 05 Mar 2020 13:57:27 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/where-did-all-my-test-results-go/</guid><description>
&lt;h3 id="problem">Problem&lt;/h3>
&lt;p>I recently tripped myself up whist adding SonarQube analysis to a rather complex Azure DevOps build.&lt;/p>
&lt;p>The build has two VsTest steps, both were using the same folder for their test result files. When the first VsTest task ran it created the expected .TRX and .COVERAGE files and then published its results to Azure DevOps, but when the second VsTest task ran it over wrote this folder, deleting the files already present, before it generated and published it results.&lt;/p></description></item><item><title>You need to pass a GitHub PAT to create Azure DevOps Agent Images using Packer</title><link>https://blogs.blackmarble.co.uk/rfennell/you-need-to-pass-a-github-pat-to-create-azure-devops-agent-images-using-packer/</link><pubDate>Mon, 02 Mar 2020 11:52:03 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/you-need-to-pass-a-github-pat-to-create-azure-devops-agent-images-using-packer/</guid><description>
&lt;p>I wrote recently about &lt;a href="https://blogs.blackmarble.co.uk/rfennell/2019/12/21/creating-hyper-v-hosted-azure-devops-private-agents-based-on-the-same-vm-images-as-used-by-microsoft-for-their-hosted-agents/">Creating Hyper-V hosted Azure DevOps Private Agents based on the same VM images as used by Microsoft for their Hosted Agent&lt;/a>.&lt;/p>
&lt;p>As discussed in that post, using this model you will recreate your build agent VMs on a regular basis, as opposed to patching them. When I came to do this recently I found that the Packer image generation was failing with errors related to accessing packages.&lt;/p></description></item><item><title>Registration is open for the Global DevOps Bootcamp 2020 @ Black Marble</title><link>https://blogs.blackmarble.co.uk/rfennell/registration-is-open-for-the-global-devops-bootcamp-2020-black-marble/</link><pubDate>Sat, 01 Feb 2020 14:54:10 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/registration-is-open-for-the-global-devops-bootcamp-2020-black-marble/</guid><description>
&lt;p>&lt;a href="https://www.eventbrite.com/e/gdbc2020-global-devops-bootcamp-blackmarble-tickets-91833453331">
&lt;img
loading="lazy"
decoding="async"
alt="image"
class="image_figure image_external image_processed"
width="700"
height="372"
src="https://blogs.blackmarble.co.uk/images/image_10334240564925058293.png"
title="image"
/>
&lt;/a>&lt;/p>
&lt;p>I am really pleased to say that we at Black Marble are again hosting a venue for this year’s edition of the Global DevOps Bootcamp on Saturday May 30th 2020.&lt;/p>
&lt;p>For those who have not been to a previous GDBC event at Black Marble, or any of the other 70+ venues across the work, what can you expect on the day?&lt;/p>
&lt;ul>
&lt;li>A video keynote from an Industry Leader in the DevOps field&lt;/li>
&lt;li>A local keynote developing the topics of the bootcamp&lt;/li>
&lt;li>The remainder of the day is made up of team based hands on exercises.&lt;/li>
&lt;/ul>
&lt;p>Lat years content can be &lt;a href="https://globaldevopsbootcamp.com/home/impressions2019">seen here&lt;/a>, this years will be all new.&lt;/p></description></item><item><title>Visual Studio Online is back and it is an editor this time!</title><link>https://blogs.blackmarble.co.uk/rfennell/visual-studio-online-is-back-and-it-is-an-editor-this-time/</link><pubDate>Fri, 17 Jan 2020 10:07:17 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/visual-studio-online-is-back-and-it-is-an-editor-this-time/</guid><description>
&lt;p>&lt;a href="https://visualstudio.microsoft.com/services/visual-studio-online/">Visual Studio Online&lt;/a> is back. Unlike the previous usage of this name, which was an incarnation of what is now &lt;a href="https://azure.microsoft.com/en-gb/services/devops/">Azure DevOps Services&lt;/a>, this is actually an editor for code. Just like you might expect it to be!&lt;/p>
&lt;p>The new VSO, which is currently in preview, is a service running in Azure that allows you to in effect run &lt;a href="https://code.visualstudio.com/">Visual Studio Code&lt;/a> on a Linux VM. &lt;/p>
&lt;p>Once you have signed into VSO with an MSA and it has created the required Resource Group and VSO Plan in your Azure subscription, you create one or more ‘environments’ that defines the size of the VM to use and which GitHub hosted repo the environment will edit.&lt;/p></description></item><item><title>A technique for porting PowerShell based Azure DevOps Extensions to Node so they can be run cross-platform without a complete re-write</title><link>https://blogs.blackmarble.co.uk/rfennell/a-technique-for-porting-powershell-based-azure-devops-extensions-to-node-so-they-can-be-run-cross-platform-without-a-complete-re-write/</link><pubDate>Sat, 28 Dec 2019 16:11:29 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/a-technique-for-porting-powershell-based-azure-devops-extensions-to-node-so-they-can-be-run-cross-platform-without-a-complete-re-write/</guid><description>
&lt;h3 id="background">Background&lt;/h3>
&lt;p>I've written a &lt;a href="https://marketplace.visualstudio.com/search?term=fennell&amp;amp;target=AzureDevOps&amp;amp;category=All%20categories&amp;amp;sortBy=Relevance">good few extensions for Azure DevOps Services.&lt;/a> Most of the early ones I wrote were written in PowerShell, but of late I have tended to use Typescript (targeting Node.JS) for the added cross-platform support.&lt;/p>
&lt;p>This has led me to consider if it was worth the effort to convert all my legacy extensions to support cross-platform usage?&lt;/p>
&lt;p>This is of course assuming the tasks the extension contains are useful on a non-Window platform. There is no point porting a Windows only tool away from PowerShell.&lt;/p></description></item><item><title>Creating Hyper-V hosted Azure DevOps Private Agents based on the same VM images as used by Microsoft for their Hosted Agents</title><link>https://blogs.blackmarble.co.uk/rfennell/creating-hyper-v-hosted-azure-devops-private-agents-based-on-the-same-vm-images-as-used-by-microsoft-for-their-hosted-agents/</link><pubDate>Sat, 21 Dec 2019 15:36:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/creating-hyper-v-hosted-azure-devops-private-agents-based-on-the-same-vm-images-as-used-by-microsoft-for-their-hosted-agents/</guid><description>
&lt;h3 id="introduction">Introduction&lt;/h3>
&lt;p>There are times when you need to run Private Azure DevOps agents as opposed to using one of the hosted ones provided by Microsoft. This could be for a variety of reasons, including needing to access resources inside your corporate network or needing to have a special hardware specification or set of software installed on the agent.&lt;/p>
&lt;p>&lt;a href="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/2019/12/image.png">
&lt;img
loading="lazy"
decoding="async"
alt="image"
class="image_figure image_external image_processed"
width="1241"
height="365"
src="https://blogs.blackmarble.co.uk/images/image_thumb_9031802832858304900.png"
title="image"
/>
&lt;/a>&lt;/p>
&lt;p>If using such private agents, you really need to have an easy way to provision them. This is so that all your agents are standardised and easily re-creatable. Firstly you don’t want build agents with software on them you can’t remember installing or patching. This is just another form of the “works on one developer’s machine but not another” problem. Also if you have the means to replace the agents very regularly and reliably you can avoid the need to patch them; you can just replace them with newer VMs created off latest patched base Operating System images and software releases.&lt;/p></description></item><item><title>A fix for Lability &amp;lsquo;Datafile not found&amp;rsquo; error</title><link>https://blogs.blackmarble.co.uk/rfennell/a-fix-for-lability-datafile-not-found-error/</link><pubDate>Sat, 07 Dec 2019 15:36:05 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/a-fix-for-lability-datafile-not-found-error/</guid><description>
&lt;h3 id="issue">Issue&lt;/h3>
&lt;p>I have been busy automating the provision of our private Azure DevOps Agents using &lt;a href="https://packer.io/">Packer&lt;/a> and &lt;a href="https://github.com/VirtualEngine/Lability">Lability&lt;/a>; a more details blog post is on the way. All has been going OK on my test rig, but when came to run the automation pipeline on our main build HyperV host I got an error&lt;/p>
&lt;p>&lt;em>&amp;gt; Get-VmcConfigurationData : Datafile EnvironmentsBuildAgent-VS2017BuildAgent-VS2017.psd1 NOT FOUND. Exiting&lt;/em>&lt;/p>
&lt;p>But the file was there!&lt;/p>
&lt;p>I check the default Lability  paths, but all these looked OK, and none pointed to my environment location on C: anyway&lt;/p></description></item><item><title>Major enhancements to my Azure DevOps Cross Platform Release Notes Extension</title><link>https://blogs.blackmarble.co.uk/rfennell/major-enhancements-to-my-azure-devops-cross-platform-release-notes-extension/</link><pubDate>Wed, 04 Dec 2019 10:16:19 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/major-enhancements-to-my-azure-devops-cross-platform-release-notes-extension/</guid><description>
&lt;p>Over the past few days I have published two major enhancements to my &lt;a href="https://marketplace.visualstudio.com/items?itemName=richardfennellBM.BM-VSTS-XplatGenerateReleaseNotes">Azure DevOps Cross Platform Release Notes Extension&lt;/a>.&lt;/p>
&lt;h3 id="added-support-for-builds">Added Support for Builds&lt;/h3>
&lt;p>Prior to version 2.17.x this extension could only be used in Releases. This was because it used Release specific calls provided in the Microsoft API to work out the work items and changesets/commits associated with the Release. This is unlike my older &lt;a href="https://marketplace.visualstudio.com/items?itemName=richardfennellBM.BM-VSTS-GenerateReleaseNotes-Task">PowerShell based Release Notes Extension&lt;/a> which was initially developed for Builds and only later enhanced to  work in Releases, but achieved this using my own logic to iterate across Builds associated with Releases to work out the associations. With the advent of &lt;a href="https://docs.microsoft.com/en-us/azure/devops/pipelines/process/stages?view=azure-devops&amp;amp;tabs=yaml">YAML multistage Pipelines&lt;/a> the difference between a Build and a Release is blurring, so I thought it high time to add Build support to my &lt;a href="https://marketplace.visualstudio.com/items?itemName=richardfennellBM.BM-VSTS-XplatGenerateReleaseNotes">Cross Platform Release Notes Extension&lt;/a>. Which it now does.&lt;/p></description></item><item><title>Cannot queue a new build on Azure DevOps Server 2019.1 due to the way a SQL cluster was setup</title><link>https://blogs.blackmarble.co.uk/rfennell/cannot-queue-a-new-build-on-azure-devops-server-2019-1-due-to-the-way-a-sql-cluster-was-setup/</link><pubDate>Thu, 17 Oct 2019 19:24:13 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/cannot-queue-a-new-build-on-azure-devops-server-2019-1-due-to-the-way-a-sql-cluster-was-setup/</guid><description>
&lt;p>I have recently been doing a TFS 2015 to Azure DevOps Server 2019.1 upgrade for a client. The first for a while, I have been working with Azure DevOps Service mostly of late. Anyway I saw an issue I had never seen before with any version of TFS, and I could find no information on the Internet.&lt;/p>
&lt;h3 id="the-problem">The Problem&lt;/h3>
&lt;p>The error occurred when I tried to queue a new build after the upgrade, the build instantly failed with the error&lt;/p></description></item><item><title>Release of my video on 'Introduction to GitHub Actions'</title><link>https://blogs.blackmarble.co.uk/rfennell/release-of-my-video-on-introduction-to-github-actions/</link><pubDate>Thu, 10 Oct 2019 11:45:26 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/release-of-my-video-on-introduction-to-github-actions/</guid><description>
&lt;p>I recently posted on &lt;a href="https://blogs.blackmarble.co.uk/rfennell/2019/09/10/a-first-look-at-github-action-converting-my-azure-devops-tasks-to-github-actions/">my initial experiences with GitHub Actions&lt;/a>. I had hoped to deliver a session on this subject a &lt;a href="https://developerdeveloperdeveloper.com/">DDD 14 in Reading&lt;/a> , I even got so far as to propose a session.&lt;/p>
&lt;p>However, life happened and I found I could not make it to the event. So I decided to do the next best thing and recorded a video of the session. I event went as far as to try to get the 'DDD event feel' by recording in front of a 'live audience' at Black Marble's offices.&lt;/p></description></item><item><title>A first look at GitHub Action - converting my Azure DevOps tasks to GitHub Actions</title><link>https://blogs.blackmarble.co.uk/rfennell/a-first-look-at-github-action-converting-my-azure-devops-tasks-to-github-actions/</link><pubDate>Tue, 10 Sep 2019 21:17:48 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/a-first-look-at-github-action-converting-my-azure-devops-tasks-to-github-actions/</guid><description>
&lt;h3 id="introduction">Introduction&lt;/h3>
&lt;p>&lt;a href="https://github.com/features/actions">GitHub Actions&lt;/a> open up an interesting new way to provide CI/CD automation for your GitHub projects, other than the historic options of &lt;a href="https://jenkins.io/">Jenkins&lt;/a>, &lt;a href="https://www.atlassian.com/software/bamboo">Bamboo&lt;/a>, &lt;a href="https://www.jetbrains.com/teamcity/">Team City&lt;/a>, &lt;a href="https://azure.microsoft.com/en-gb/services/devops/pipelines/">Azure DevOps Pipelines&lt;/a> etc. No longer do you have to leave the realm of GitHub to create a powerful CI/CD process or provision a separate system.&lt;/p>
&lt;p>For people familiar with Azure DevOps YAML based Pipelines you will notice some common concepts in GitHub Actions. However, GitHub Action’s YAML syntax is different and Actions are not Tasks.You can’t just re-use your old Azure DevOps tasks.&lt;/p></description></item><item><title>Strange issue with multiple calls to the same REST WebClient in PowerShell</title><link>https://blogs.blackmarble.co.uk/rfennell/strange-issue-with-multiple-calls-to-the-same-rest-webclient-in-powershell/</link><pubDate>Thu, 29 Aug 2019 11:56:05 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/strange-issue-with-multiple-calls-to-the-same-rest-webclient-in-powershell/</guid><description>
&lt;p>Hit a strange problem today trying to do a simple Work Item update via the Azure DevOps REST API.&lt;/p>
&lt;p>To do a &lt;a href="https://docs.microsoft.com/en-us/rest/api/azure/devops/wit/work%20items/update?view=azure-devops-rest-5.1">WI update you need to call the REST API&lt;/a>&lt;/p>
&lt;ul>
&lt;li>Using the verb PATCH&lt;/li>
&lt;li>With the Header “Content-Type” set to “application/json-patch+json”&lt;/li>
&lt;li>Include in the Body the current WI update revision (to make sure you are updating the current version)&lt;/li>
&lt;/ul>
&lt;p>So the first step is to get the current WI values to find the current revision.&lt;/p></description></item><item><title>Authentication loops swapping organisations in Azure DevOps</title><link>https://blogs.blackmarble.co.uk/rfennell/authentication-loops-swapping-organisations-in-azure-devops/</link><pubDate>Tue, 13 Aug 2019 11:04:36 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/authentication-loops-swapping-organisations-in-azure-devops/</guid><description>
&lt;p>I have recently been getting a problem swapping between different organisations in Azure DevOps. It happens when I swap between Black Mable ones and customer ones, where each is back by different Azure Active Directory (AAD) but I am using the same credentials; because I am either a member of that AAD or a guest.&lt;/p>
&lt;p>The problem is I get into an authentication loop. It happens to be in Chrome, but you might find the same problem in other browsers.&lt;/p></description></item><item><title>You can&amp;rsquo;t use Azure DevOps Pipeline Gates to check services behind a firewall</title><link>https://blogs.blackmarble.co.uk/rfennell/you-cant-use-azure-devops-pipeline-gates-to-check-services-behind-a-firewall/</link><pubDate>Thu, 25 Jul 2019 19:55:52 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/you-cant-use-azure-devops-pipeline-gates-to-check-services-behind-a-firewall/</guid><description>
&lt;p>I have recently be working on a release pipeline that deploys to a server behind a corporate firewall. This is done using an &lt;a href="https://docs.microsoft.com/en-us/azure/devops/pipelines/agents/agents?view=azure-devops">Azure DevOps private build agent&lt;/a> and works fine.&lt;/p>
&lt;p>As the service is a basic REST service and takes a bit of time to start-up I though a &lt;a href="https://docs.microsoft.com/en-us/azure/devops/pipelines/release/approvals/gates?view=azure-devops">gate&lt;/a> was a perfect way to pause the release pipeline until service was ready for the automated tests.&lt;/p>
&lt;p>However, I hit a problem, the gates always failed as the internal server could not be resolved.&lt;/p></description></item><item><title>Review of 'Azure DevOps Server 2019 Cookbook' - well worth getting</title><link>https://blogs.blackmarble.co.uk/rfennell/review-of-azure-devops-server-2019-cookbook-well-worth-getting/</link><pubDate>Thu, 06 Jun 2019 08:07:22 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/review-of-azure-devops-server-2019-cookbook-well-worth-getting/</guid><description>
&lt;p>It always amazes me that people find time to write tech books whilst having a full time job. So given the effort I know it will have been, it is great to see an update to  Tarun Arora and Utkarsh Sigihalli's book &lt;a href="https://amzn.to/2KQi5zA">'Azure DevOps Server 2019 Cookbook'&lt;/a>.
&lt;img
loading="lazy"
decoding="async"
alt="Azure DevOps Server 2019 Cookbook - Second Edition"
class="image_figure image_external image_unprocessed"
src="https://www.packtpub.com/media/catalog/product/cache/e4d64343b1bc593f1c5348fe05efa4a6/c/o/cov-b09762.png"
/>
I do like their format of ‘recipes’  that walk through common requirements. I find it particularly interesting that for virtually each recipes there is an associated Azure DevOps Extension that enhances the experience. It speaks well of the research the authors have done and the richness and variety of the 3rd party extensions in the Azure DevOps Marketplaces I think because of this format there is something in this book for everyone, whether new to Azure DevOps Server 2019 or someone who has been around the product since the days of TFS 2005. In my opinion, it is well worth having a copy on your shelf, whether physical or virtual&lt;/p></description></item><item><title>Azure DevOps Repos branch build policies not triggering when expected in PRs - Solved</title><link>https://blogs.blackmarble.co.uk/rfennell/azure-devops-repos-branch-build-policies-not-triggering-when-expected-in-prs-solved/</link><pubDate>Thu, 23 May 2019 15:01:36 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/azure-devops-repos-branch-build-policies-not-triggering-when-expected-in-prs-solved/</guid><description>
&lt;p>I recently hit a problem with builds triggered by &lt;a href="https://docs.microsoft.com/en-us/azure/devops/repos/git/branch-policies?view=azure-devops">branch policies in Azure DevOps Repos&lt;/a>. With the help of Microsoft I found out the problem and I thought it worth writing up uncase others hit the issue.&lt;/p>
&lt;h3 id="setup">Setup&lt;/h3>
&lt;h4 id="folders">Folders&lt;/h4>
&lt;p>Assume you have a Git repo with source for the UI, backend Services and common code in sub folders&lt;/p>
&lt;blockquote>
&lt;p>/ [root]&lt;br>
     UI&lt;br>
     Services&lt;br>
     Common&lt;/p>&lt;/blockquote>
&lt;h4 id="branch-policies">Branch Policies&lt;/h4>
&lt;p>On the Master branch there are a policies of running&lt;/p></description></item><item><title>Regex issues in Node</title><link>https://blogs.blackmarble.co.uk/rfennell/regex-issues-in-node/</link><pubDate>Thu, 23 May 2019 13:13:17 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/regex-issues-in-node/</guid><description>
&lt;p>I have been trying to use Regex to select a block of an XML based .NET Core CSPROJ file, and yes before you say know I could use XPATH, but why am not is another story.&lt;/p>
&lt;p>I was trying to use the Regex&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="ln">1&lt;/span>&lt;span class="cl">content.match(/&amp;lt;PropertyGroup&amp;gt;((.|n)\*)&amp;lt;/PropertyGroup&amp;gt;/gmi)
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>The strange thing was this selection string worked in online Regex testers and in online Javascript IDEs, but failed inside my Node based Azure DevOps Pipeline extension.&lt;/p></description></item><item><title>A fix for Error: SignerSign() failed.&amp;quot; (-2146958839/0x80080209) with SignTool.exe</title><link>https://blogs.blackmarble.co.uk/rfennell/a-fix-for-error-signersign-failed-2146958839-0x80080209-with-signtool-exe/</link><pubDate>Tue, 30 Apr 2019 15:56:21 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/a-fix-for-error-signersign-failed-2146958839-0x80080209-with-signtool-exe/</guid><description>
&lt;p>I have spent too long recently trying to sign a UWP .MSIXBUNDLE generated from an Azure DevOps build using the SignTool.exe and our code signing certificate. I kept getting the error&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="ln">1&lt;/span>&lt;span class="cl">Done Adding Additional Store
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">2&lt;/span>&lt;span class="cl">Error information: &amp;#34;Error: SignerSign() failed.&amp;#34; (-2146958839/0x80080209)
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>From past experience, SignTool errors are usually due to the publisher details in the XML manifest files (in this case unpack the bundle with MakeAppx.exe and look in AppxMetadataAppxBundleManifest.xml, and also check the manifest in the bundled .MSIX files) does not match the subject details for the PFX file being used for signing. &lt;/p></description></item><item><title>Migrating a GUI based build to YAML in Azure DevOps Pipelines</title><link>https://blogs.blackmarble.co.uk/rfennell/migrating-a-gui-based-build-to-yaml-in-azure-devops-pipelines/</link><pubDate>Fri, 26 Apr 2019 14:02:57 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/migrating-a-gui-based-build-to-yaml-in-azure-devops-pipelines/</guid><description>
&lt;h2 id="introduction">Introduction&lt;/h2>
&lt;p>I use Azure DevOps Pipelines for the build and release of my Azure DevOps Pipeline extensions, &lt;a href="https://github.com/rfennell/AzurePipelines/wiki/Outlining-my-VSTS-CI">I previously detailed my process here&lt;/a> .&lt;/p>
&lt;p>For a good few months now &lt;a href="https://docs.microsoft.com/en-us/azure/devops/pipelines/create-first-pipeline?view=azure-devops&amp;amp;tabs=tfs-2018-2">YAML builds&lt;/a> have been available. These provide the key advantage that the build is defined in a YAML text file that is stored with your product’s source code, thus allowing you to more easily track build changes. Also bulk editing becomes easier as a simple text editor can be used.&lt;/p></description></item><item><title>A task for documenting your Azure DevOps Pipeline extensions for YAML usage</title><link>https://blogs.blackmarble.co.uk/rfennell/a-task-for-documenting-your-azure-devops-pipeline-extensions-for-yaml-usage/</link><pubDate>Tue, 18 Dec 2018 22:13:32 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/a-task-for-documenting-your-azure-devops-pipeline-extensions-for-yaml-usage/</guid><description>
&lt;p>I have posted in the past a &lt;a href="https://blogs.blackmarble.co.uk/rfennell/2018/10/25/yaml-documentation-for-my-azure-pipeline-tasks-and-how-i-generated-it/">quick script&lt;/a> to generate some markdown documentation for the YAML usage of Azure DevOps Pipeline extensions. Well I decided that having this script as a task itself would be a good idea, so a wrote it, and please to say have just &lt;a href="https://marketplace.visualstudio.com/items?itemName=richardfennellBM.BM-VSTS-YAMLGenerator">release it to the marketplace&lt;/a>&lt;/p>
&lt;p>The YAML Documenter task scans an extension’s &lt;strong>vss-extension.json&lt;/strong> and &lt;strong>task.json&lt;/strong> files to find the details it needs to build the markdown documentation on the YAML usage. It can also, optionally, copy the extension’s &lt;strong>readme.md&lt;/strong> as the extensions primary documentation.&lt;/p></description></item><item><title>Programmatically adding User Capabilities to Azure DevOps Agents</title><link>https://blogs.blackmarble.co.uk/rfennell/programmatically-adding-user-capabilities-to-azure-devops-agents/</link><pubDate>Thu, 06 Dec 2018 14:56:58 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/programmatically-adding-user-capabilities-to-azure-devops-agents/</guid><description>
&lt;p>I am automating the process by which we keep our build agent up to date. The basic process is to use a fork of the standard Microsoft Azure DevOps Pipeline agent that has the additional code included we need, &lt;a href="https://blogs.blackmarble.co.uk/rfennell/2018/02/27/building-private-vsts-build-agents-using-the-microsoft-packer-based-agent-image-creation-model/">notably Biztalk&lt;/a>. Once I have the Packer created VM up and running, I need to install the agent. This is well document, just run _.config.cmd –help _for details. However, there is no option to add user capabilities to the agent. I know I could set them via environment variables, but I don’t want the same user capabilities on each agent on a VM (we use multiple agents on a single VM). There was no documented Azure DevOps API I could find to add capabilities, but a bit of hacking around with Chrome Dev tools and Postman got me a solution, which I have provided a&lt;/p></description></item><item><title>Azure Pipeline YAML support on VSCode</title><link>https://blogs.blackmarble.co.uk/rfennell/azure-pipeline-yaml-support-on-vscode/</link><pubDate>Thu, 06 Dec 2018 12:45:48 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/azure-pipeline-yaml-support-on-vscode/</guid><description>
&lt;p>A major problem when moving from the graphic editing of Azure Pipeline builds to YAML has been the difficulty in knowing the options available, and of course making typos.&lt;/p>
&lt;p>Microsoft have just released a VSCode extension to help address this problem – it is called &lt;a href="https://marketplace.visualstudio.com/items?itemName=ms-azure-devops.azure-pipelines">Azure Pipelines&lt;/a>&lt;/p>
&lt;p>
&lt;img
loading="lazy"
decoding="async"
alt=""
class="image_figure image_external image_processed"
width="640"
height="337"
src="https://blogs.blackmarble.co.uk/images/Dtm59RqWoAEE1qA_16869747362220915409.jpg"
/>
&lt;/p>
&lt;p>I have yet to give it a really good workout, but first impressions are good.&lt;/p>
&lt;p>It does not remove the need for good documentation of task options, there is a need for my &lt;a href="https://blogs.blackmarble.co.uk/rfennell/2018/10/25/yaml-documentation-for-my-azure-pipeline-tasks-and-how-i-generated-it/">script to generate YAML documentation from a task.json file&lt;/a>, but anything extra to ease editing helps.&lt;/p></description></item><item><title>Keeping Azure DevOps organisations inherited process templates in sync</title><link>https://blogs.blackmarble.co.uk/rfennell/keeping-azure-devops-organisations-inherited-process-templates-in-sync/</link><pubDate>Thu, 29 Nov 2018 17:27:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/keeping-azure-devops-organisations-inherited-process-templates-in-sync/</guid><description>
&lt;h3 id="the-problem">The problem&lt;/h3>
&lt;p>If you are like me for historic reasons you have multiple Azure DevOps organisations (instances) backed by the same Azure Active Directory (AAD). In my case for example: one was created when Azure DevOps was first released as &lt;em>TFSPreview.com&lt;/em> and another is from our migration from on-prem TFS using the &lt;a href="https://azure.microsoft.com/en-us/services/devops/migrate/">DB Migration Tools&lt;/a> method; and I have others. I make active use of all of these for different purposes, though one is primary with the majority of work done on it, and so I want to make sure the &lt;a href="https://docs.microsoft.com/en-us/azure/devops/organizations/settings/work/manage-process?view=vsts&amp;amp;tabs=new-nav">inherited process templates&lt;/a> are the same on each of them. Using the primary organisation as the master customisation. &lt;strong>Note&lt;/strong> I have already &lt;a href="https://docs.microsoft.com/en-us/azure/devops/reference/on-premises-xml-process-model?view=vsts">converted all my old on-premises XML process models&lt;/a> to inherited process templates. There is no out the box way to do keep processes in syncs, but it is possible using a few tools. The main one is the &lt;a href="https://github.com/Microsoft/process-migrator">Microsoft Process Migrator for Node&lt;/a> on GitHub.&lt;/p></description></item><item><title>DPI problems after upgrading from Camtasia 8 to 2018</title><link>https://blogs.blackmarble.co.uk/rfennell/dpi-problems-after-upgrading-from-camtasia-8-to-2018/</link><pubDate>Mon, 26 Nov 2018 14:18:06 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/dpi-problems-after-upgrading-from-camtasia-8-to-2018/</guid><description>
&lt;p>&lt;em>This is another of those posts I do so I don’t forget how I fixed something.&lt;/em>&lt;/p>
&lt;p>I have a requirement to record videos for a client in 720p resolution. As I use as SurfaceBook with a High-Res screen I have found the best way to do this is set my Windows screen resolution to 1280x720 and do all my recording at this as native resolution. Any attempt to record smaller portions of a screen or scale video in production have lead to quality problems, especially as remote desktops within remote desktops are required.&lt;/p></description></item><item><title>Just released a new Azure Pipelines Extension to update Git based WIKIs</title><link>https://blogs.blackmarble.co.uk/rfennell/just-released-a-new-azure-pipelines-extension-to-update-git-based-wikis/</link><pubDate>Tue, 20 Nov 2018 10:18:18 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/just-released-a-new-azure-pipelines-extension-to-update-git-based-wikis/</guid><description>
&lt;p>I have just release a new &lt;a href="https://marketplace.visualstudio.com/items?itemName=richardfennellBM.BM-VSTS-WIKIUpdater-Tasks">Azure DevOps Pipelines extension to update a page in a Git based WIKI.&lt;/a> &lt;/p>
&lt;p>It has been tested again&lt;/p>
&lt;ul>
&lt;li>Azure DevOps WIKI – running as the build agent (so the same Team Project)&lt;/li>
&lt;li>Azure DevOps WIKI – using provided credentials (so any Team Project)&lt;/li>
&lt;li>GitHub – using provided credentials&lt;/li>
&lt;/ul>
&lt;p>It takes a string (markdown) input and writes it to a new page, or updates it if it already exists. It is designed to be used with my &lt;a href="https://marketplace.visualstudio.com/items?itemName=richardfennellBM.BM-VSTS-XplatGenerateReleaseNotes">Generate Release Notes Extension&lt;/a>, but you will no doubt find other uses&lt;/p></description></item><item><title>Azure DevOps Services &amp;amp; Server Alerts DSL - an alternative to TFS Aggregator?</title><link>https://blogs.blackmarble.co.uk/rfennell/azure-devops-services-server-alerts-dsl-an-alternative-to-tfs-aggregator/</link><pubDate>Tue, 30 Oct 2018 21:10:59 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/azure-devops-services-server-alerts-dsl-an-alternative-to-tfs-aggregator/</guid><description>
&lt;p>Whilst listening to a recent  &lt;a href="http://www.radiotfs.com/Show/167/TasksandReleaseGateswithJesseHouwing">Radio TFS&lt;/a> it was mentioned that &lt;a href="https://tfsaggregator.github.io/">TFS Aggregator&lt;/a> uses the C# SOAP based Azure DevOps APIs; hence needed a major re-write as these &lt;a href="https://blogs.msdn.microsoft.com/devops/2018/05/21/announcing-the-deprecation-of-the-wit-and-test-client-om-at-jan-1-2020-2/">APIs are being deprecated.&lt;/a>&lt;/p>
&lt;p>Did you know that there was a REST API alternative to TFS Aggregator?&lt;/p>
&lt;p>My &lt;a href="https://marketplace.visualstudio.com/items?itemName=richardfennellBM.BM-VSTS-ServiceHooks-DSL#overview">Azure DevOps Services &amp;amp; Server Alerts DSL&lt;/a> is out there, and has been for a while, but I don’t think used by many people. It aims to do the same as TFS Aggregator, but is based around Python scripting.&lt;/p></description></item><item><title>YAML documentation for my Azure Pipeline Tasks (and how I generated it)</title><link>https://blogs.blackmarble.co.uk/rfennell/yaml-documentation-for-my-azure-pipeline-tasks-and-how-i-generated-it/</link><pubDate>Thu, 25 Oct 2018 16:42:27 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/yaml-documentation-for-my-azure-pipeline-tasks-and-how-i-generated-it/</guid><description>
&lt;p>There is a general move in &lt;a href="https://docs.microsoft.com/en-us/azure/devops/pipelines/get-started/what-is-azure-pipelines?toc=/azure/devops/pipelines/toc.json&amp;amp;bc=/azure/devops/boards/pipelines/breadcrumb/toc.json&amp;amp;view=vsts">Azure DevOps Pipelines&lt;/a> to using &lt;a href="https://docs.microsoft.com/en-us/azure/devops/pipelines/get-started-yaml?view=vsts">YAML&lt;/a>, as opposed to the designer, to define your pipelines. This is particularly enforced when using them via the new &lt;a href="https://github.com/marketplace/azure-pipelines">GitHub Marketplace Azure Pipelines&lt;/a> method where YAML appears to be the only option.&lt;/p>
&lt;p>This has shown up a hole in my &lt;a href="https://github.com/rfennell/AzurePipelines/wiki">Pipeline Tasks documentation&lt;/a>, I had nothing on YAML!&lt;/p>
&lt;p>So I have added a YAML usage page for each set of tasks in each of my extensions e.g &lt;a href="https://github.com/rfennell/AzurePipelines/wiki/File-Copier-Tasks-YAML">the file utilities tasks&lt;/a>.&lt;/p></description></item><item><title>Microsoft post root cause analysis on recent Azure DevOps Issues</title><link>https://blogs.blackmarble.co.uk/rfennell/microsoft-post-root-cause-analysis-on-recent-azure-devops-issues/</link><pubDate>Wed, 17 Oct 2018 10:34:32 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/microsoft-post-root-cause-analysis-on-recent-azure-devops-issues/</guid><description>
&lt;p>Azure DevOps has had some serious issue over the past couple of weeks with availability here in Europe.&lt;/p>
&lt;p>A really good open and detailed &lt;a href="https://blogs.msdn.microsoft.com/vsoservice/?p=17665">root cause analysis has just been posted&lt;/a> by the Azure DevOps team at Microsoft. It also covers the mitigations they are putting place to make sure this same issues do not occur again.&lt;/p>
&lt;p>We all have to remember that the cloud is not magic. Cloud service providers will have problems like any on-premise services; but trying to hide them does nothing to build confidence. So I for one applaud posts like this. I just wish all cloud service providers were as open when problem occur.&lt;/p></description></item><item><title>Using Paths in PR Triggers on an Azure DevOps Pipelines Builds</title><link>https://blogs.blackmarble.co.uk/rfennell/using-paths-in-pr-triggers-on-an-azure-devops-pipelines-builds/</link><pubDate>Tue, 02 Oct 2018 19:49:08 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/using-paths-in-pr-triggers-on-an-azure-devops-pipelines-builds/</guid><description>
&lt;p>When I started creating OSS extensions for Azure DevOps Pipelines (starting on TFSPreview, then VSO, then VSTS and now named Azure DevOps) I made the mistake of putting all my extensions in a single GitHub repo. I thought this would make life easier, I was wrong, it should have been a repo per extension.&lt;/p>
&lt;p>I have considered splitting the GitHub repo, but as a number of people have forked it, over 100 at the last count, I did not want to start a chain of chaos for loads of people.&lt;/p></description></item><item><title>Registration open for free Black Marble events on modern process adoption using the cloud</title><link>https://blogs.blackmarble.co.uk/rfennell/registration-open-for-free-black-marble-events-on-modern-process-adoption-using-the-cloud/</link><pubDate>Mon, 01 Oct 2018 16:41:50 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/registration-open-for-free-black-marble-events-on-modern-process-adoption-using-the-cloud/</guid><description>
&lt;p>Registration for the new season of &lt;a href="http://blackmarble.com/events/">Black Marble events&lt;/a> have just been opened. If you can make it to Yorkshire why not come to an event (or two)&lt;/p>
&lt;ul>
&lt;li>&lt;a href="http://blackmarble.com/events/384">Azure DevOps: So VSTS has Changed&lt;/a> - 24 Oct 2018&lt;/li>
&lt;li>&lt;a href="http://blackmarble.com/events/386">Next Generation Business Productivity with Office 365 and Teams&lt;/a> - 25 Oct 2018&lt;/li>
&lt;li>&lt;a href="http://blackmarble.com/events/375">Moving your Development Process to the Cloud with Azure DevOps&lt;/a> - 14 Nov 2018&lt;/li>
&lt;li>&lt;a href="http://blackmarble.com/events/373">Modernising Enterprise Information Architecture&lt;/a> - 21 Nov 2018&lt;/li>
&lt;li>&lt;a href="http://blackmarble.com/events/387">Next Generation Business Productivity with Office 365 and Teams&lt;/a> - 05 Dec 2018&lt;/li>
&lt;li>&lt;a href="http://blackmarble.com/events/376">Architecture Forum in the North – 11&lt;/a> - 12 Dec 2018&lt;/li>
&lt;li>&lt;a href="http://blackmarble.com/events/383">Moving your Development Process to the Cloud with Azure DevOps&lt;/a> -16 Jan 2019&lt;/li>
&lt;/ul>
&lt;p>If you are stuck in the grim south, why not look out for us at &lt;a href="http://blackmarble.com/news/black-marble-at-future-decoded-2018/">Future Decoded&lt;/a> in London at the end of the month&lt;/p></description></item><item><title>TFS 2018 Update 3 Released</title><link>https://blogs.blackmarble.co.uk/rfennell/tfs-2018-update-3-released/</link><pubDate>Mon, 17 Sep 2018 13:15:07 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/tfs-2018-update-3-released/</guid><description>
&lt;p>Whilst I was off work last week TFS 2018 Update 3 was released. As stated in the &lt;a href="https://docs.microsoft.com/en-us/visualstudio/releasenotes/tfs2018-update3">2018.3 release notes&lt;/a> this is the final bug fix update release of TFS 2018.&lt;/p>
&lt;p>The next major release of TFS will not be named TFS 2019 as you might have expected, but will use the new name of &lt;a href="https://azure.microsoft.com/en-us/blog/introducing-azure-devops/">Azure DevOps Server&lt;/a>. You can see the features planned for this next release in the &lt;a href="https://docs.microsoft.com/en-us/azure/devops/release-notes/">Azure DevOps Features Timeline&lt;/a>&lt;/p></description></item><item><title>Postmortem published by the Microsoft VSTS Team on last week's Azure outage</title><link>https://blogs.blackmarble.co.uk/rfennell/postmortem-published-by-the-microsoft-vsts-team-on-last-weeks-azure-outage/</link><pubDate>Tue, 11 Sep 2018 07:40:58 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/postmortem-published-by-the-microsoft-vsts-team-on-last-weeks-azure-outage/</guid><description>
&lt;p>The Azure DevOps (VSTS) team have published the &lt;a href="https://blogs.msdn.microsoft.com/vsoservice/?p=17485">promised postmortem&lt;/a> on the outage on the 4th of September. It gives good detail on what actually happened to the South Central Azure Datacenter and how it effected VSTS (as it was then called). More interestingly it provides a discussion of mitigations they plan to put in place to stop a single datacentre failure having such a serious effect in the future. Great openness as always from the team&lt;/p></description></item><item><title>VSTS becomes Azure DevOps</title><link>https://blogs.blackmarble.co.uk/rfennell/vsts-becomes-azure-devops/</link><pubDate>Mon, 10 Sep 2018 15:49:11 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/vsts-becomes-azure-devops/</guid><description>
&lt;p>Today Microsoft made a big announcement, VSTS is now Azure DevOps. The big change is they have split VSTS into 5 services you can use together or independently, including Azure Pipelines for CI/CD - free for open source and available in the GitHub CI marketplace. An important thing to note is that &lt;strong>IT IS NOT JUST FOR AZURE.&lt;/strong> Don't be afraid of the name. There a wide range of connectors to other cloud providers such as AWS and Google Cloud, as will as many other DevOps tools &lt;a href="https://azure.microsoft.com/en-us/blog/introducing-azure-devops/">Learn more at have a look at the official post&lt;/a>&lt;/p></description></item><item><title>Videos do not play in VSTS WIKI via relative links - workaround</title><link>https://blogs.blackmarble.co.uk/rfennell/videos-do-not-play-in-vsts-wiki-via-relative-links-workaround/</link><pubDate>Fri, 31 Aug 2018 12:01:54 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/videos-do-not-play-in-vsts-wiki-via-relative-links-workaround/</guid><description>
&lt;h3 id="the-problem">The Problem&lt;/h3>
&lt;p>The &lt;a href="https://docs.microsoft.com/en-us/vsts/project/wiki/markdown-guidance?view=vsts">documentation&lt;/a> for the VSTS WIKI suggests you can embed a video in a VSTS WIKI using the markdown/HTML```
&lt;video src="\_media/vstswiki\_mid.mp4" width=400 controls>
&lt;/video>&lt;/p>
&lt;p>&lt;code>Problem is that this does not seem to work, the MP4 just does not appear, you get an empty video player. However, if you swap to a full URL it does work e.g.&lt;/code>
&lt;video src="https://sec.ch9.ms/ch9/7247/7c8ddc1a-348b-4ba9-ab61-51fded6e7247/vstswiki\_high.mp4" width=400 controls>
&lt;/video>&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="ln">1&lt;/span>&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">2&lt;/span>&lt;span class="cl">### The Workaround
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">3&lt;/span>&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">4&lt;/span>&lt;span class="cl">The workaround is to either place the MP4 file in some URL accessible location e.g. some Azure web space (not really addressing the problem), or more usefully use the [VSTS API to get the file](https://docs.microsoft.com/en-us/rest/api/vsts/git/items/get?view=vsts-rest-4.1) out the repo that backs the WIKI. The format of the HTML tag becomes```
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">5&lt;/span>&lt;span class="cl">&amp;lt;video src=&amp;#34;https://vstsinstance.visualstudio.com/MyTeamProject/\_apis/git/repositories/MyTeamProject.wiki/Items?path=\_media%2Fvstswiki\_high.mp4 width=400&amp;#34; controls&amp;gt;
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">6&lt;/span>&lt;span class="cl">&amp;lt;/video&amp;gt;
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">7&lt;/span>&lt;span class="cl">```This will get the current version of the file on default branch, you can add extra parameters to to specify versions and branches if required as per the [API documentation](https://docs.microsoft.com/en-us/rest/api/vsts/git/?view=vsts-rest-4.1). So not a perfect solution as you have to think about branches and versions, they are not handled automatically, but at least it does work
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div></description></item><item><title>Registering an agent with VSTS and getting the message &amp;quot;Agent pool not found&amp;quot;</title><link>https://blogs.blackmarble.co.uk/rfennell/registering-an-agent-with-vsts-and-getting-the-message-agent-pool-not-found/</link><pubDate>Thu, 16 Aug 2018 20:58:06 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/registering-an-agent-with-vsts-and-getting-the-message-agent-pool-not-found/</guid><description>
&lt;p>When you want to register a build agent with VSTS, you use the VSTS instance’s URL and a user’s Personal Access Token (PAT). Whilst doing this today I connected to the VSTS instance OK but got the error &amp;quot;Agent pool not found&amp;quot;.when I was asked to pick the agent pool to add the new agent to.&lt;/p>
&lt;p>As the user who’s PAT I was using was a Build Administrator I was a bit confused, but then I remembered to check their user access level. It was set to Stakeholder, once this was changed to Basic I was able to register the agent without use.&lt;/p></description></item><item><title>Experiences migrating TFS XML Team Project Templates to Inherited Team Project Templates</title><link>https://blogs.blackmarble.co.uk/rfennell/experiences-migrating-tfs-xml-team-project-templates-to-inherited-team-project-templates/</link><pubDate>Thu, 02 Aug 2018 20:20:30 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/experiences-migrating-tfs-xml-team-project-templates-to-inherited-team-project-templates/</guid><description>
&lt;p>You have always been able to customise your Team Projects in TFS, &lt;a href="https://docs.microsoft.com/en-us/vsts/work/customize/reference/process-templates/customize-process?view=vsts">by editing a host of XML files&lt;/a>, but it was not a pleasant experience. In VSTS a far more pleasant to use web based &lt;a href="https://docs.microsoft.com/en-us/vsts/organizations/settings/work/customize-process?view=vsts">inherited customisation model&lt;/a> was added, much to, I think, most administrators relief.&lt;/p>
&lt;p>If you used the &lt;a href="https://docs.microsoft.com/en-us/vsts/articles/migration-overview?view=vsts">TFS DB migration service&lt;/a> you ended up with a VSTS instance full of the the XML style team projects, and you were stuck there, with no way to change these to the new inherited mode, that is until now as &lt;a href="https://blogs.msdn.microsoft.com/devops/2018/07/06/moving-from-hosted-xml-to-inheritance/">Microsoft have released to preview a conversion tool&lt;/a>.&lt;/p></description></item><item><title>Hello sign in does not work on my first generation Surface Book after a rebuild - fixed</title><link>https://blogs.blackmarble.co.uk/rfennell/hello-sign-in-does-not-work-on-my-first-generation-surface-book-after-a-rebuild-fixed/</link><pubDate>Thu, 02 Aug 2018 16:13:11 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/hello-sign-in-does-not-work-on-my-first-generation-surface-book-after-a-rebuild-fixed/</guid><description>
&lt;p>I have just rebuilt my first generation Surface Book from our company standard Windows image. These images are used by all our staff all the time without issue (on Surface and Lenovo devices), so I was not expecting any problems.&lt;/p>
&lt;p>I used to rebuild my PC every 6 months or so, but got out the habit when I moved to a model I could not swap the hard drive out of as backup during the process (using a new disk for new install). I got around this by using &lt;a href="https://docs.microsoft.com/en-us/sysinternals/downloads/disk2vhd">Disk2VHD&lt;/a>, not quite as good as I can’t just swap the disk back in, but I won’t have lost any stray files, even though I always aim to keep data in OneDrive, Source Control or SharePoint, so it should not been an issue anyway.&lt;/p></description></item><item><title>Getting Remote Desktop Manager 2.7 working sanely with mixed high DPI screens</title><link>https://blogs.blackmarble.co.uk/rfennell/getting-remote-desktop-manager-2-7-working-sanely-with-mixed-high-dpi-screens/</link><pubDate>Fri, 08 Jun 2018 10:00:52 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/getting-remote-desktop-manager-2-7-working-sanely-with-mixed-high-dpi-screens/</guid><description>
&lt;p>&lt;strong>Updated 3 July 2018&lt;/strong> - A colleague, &lt;a href="https://blogs.blackmarble.co.uk/adavidson/">Andy Davidson&lt;/a>,  suggested &lt;a href="https://mremoteng.org/">mRemoteNG&lt;/a> as an alternative tool to this address this issue. mRemoteNG also has the advantage that it support most major remoting technologies not just RDP, so I am giving that a try for a while. &lt;em>This is one of those post I do mostly for myself so I don’t forget how I did something, it is all based on answers on&lt;/em> &lt;a href="https://superuser.com/questions/891413/remote-connection-desktop-manager-2-7-does-not-support-dpi-scaling-anymore">&lt;em>SuperUser.Com&lt;/em>&lt;/a>&lt;em>, I can claim no credit&lt;/em> I have a SurfaceBook (first generation) and when I am in the office it is linked to an external monitor, with a different lower DPI, via a dock. If I use Remote Desktop (MSTSC) as built into Windows 10, I can drag sessions between the two monitors and the DPI shift is handled OK. However, if I use my preferred tool &lt;a href="https://www.microsoft.com/en-gb/download/details.aspx?id=44989">Remote Desktop Manager 2.7&lt;/a> (as it allow me to store all my commonly used RDP settings) I am in DPI hell. I either get huge fonts or microscopic ones. This is bad whether working on the single high DPI laptop screen work with an external screen. As the &lt;a href="https://superuser.com/questions/891413/remote-connection-desktop-manager-2-7-does-not-support-dpi-scaling-anymore">&lt;em>SuperUser.Com&lt;/em>&lt;/a> post states the answer is to change the compatibility settings for the manager by right clicking on the file &amp;quot;C:Program Files (x86)MicrosoftRemote Desktop Connection ManagerRDCMan.exe&amp;quot;, selecting compatibility, change high DPI settings, and unchecking high DPI setting override &lt;a href="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/2018/06/image.png">
&lt;img
loading="lazy"
decoding="async"
alt="image"
class="image_figure image_external image_processed"
width="411"
height="311"
src="https://blogs.blackmarble.co.uk/images/image_thumb_11177491680180314124.png"
title="image"
/>
&lt;/a> Once this was done, I have readable resolutions on all screens. Why did I not do a better search months ago?&lt;/p></description></item><item><title>A workaround for the error &amp;lsquo;TF14061: The workspace ws_1_18;Project Collection Build Service does not exist&amp;rsquo; when mapping a TFVC workspace</title><link>https://blogs.blackmarble.co.uk/rfennell/a-workaround-for-the-error-tf14061-the-workspace-ws_1_18project-collection-build-service-does-not-exist-when-mapping-a-tfvc-workspace/</link><pubDate>Wed, 30 May 2018 12:17:30 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/a-workaround-for-the-error-tf14061-the-workspace-ws_1_18project-collection-build-service-does-not-exist-when-mapping-a-tfvc-workspace/</guid><description>
&lt;p>Whilst writing some training material for VSTS I hit a problem creating a TFVC workspace. I was using VS2017, linking a TFVC Repo to a local folder. I was connecting to the VSTS instance using an MSA.&lt;/p>
&lt;p>In Team Explorer, when I came to do a ‘Map &amp;amp; Get’ to map the source locations I got a ‘TF14061: The workspace ws_1_18;Project Collection Build Service does not exist’ error&lt;/p>
&lt;p>&lt;a href="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/2018/05/image.png">
&lt;img
loading="lazy"
decoding="async"
alt="image"
class="image_figure image_external image_processed"
width="223"
height="244"
src="https://blogs.blackmarble.co.uk/images/image_thumb_7362260565562830813.png"
title="image"
/>
&lt;/a>&lt;/p></description></item><item><title>Still a few spaces left at the Yorkshire Global DevOps BootCamp Venue hosted at Black Marble</title><link>https://blogs.blackmarble.co.uk/rfennell/still-a-few-spaces-left-at-the-yorkshire-global-devops-bootcamp-venue-hosted-at-black-marble/</link><pubDate>Fri, 25 May 2018 14:54:08 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/still-a-few-spaces-left-at-the-yorkshire-global-devops-bootcamp-venue-hosted-at-black-marble/</guid><description>
&lt;p>There are still a few spaces left at the Yorkshire &lt;a href="https://globaldevopsbootcamp.com/">Global DevOps BootCamp&lt;/a> Venue hosted at Black Marble &lt;img
loading="lazy"
decoding="async"
alt=""
class="image_figure image_internal image_unprocessed"
src="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/2018/05/GDBC-3-Twitter_preview-300x150.png"
/>
Come and learn about all things cool in DevOps, including&lt;/p>
&lt;ul>
&lt;li>Video keynote by Microsoft&lt;/li>
&lt;li>Local keynote: Breaking down the Monolith&lt;/li>
&lt;li>Hackathon/HandsOn DevOps challenges. The hands-on part with be based on a common application where we try to solve as many challenges as possible, including ideas like
&lt;ul>
&lt;li>How to containerize an existing application&lt;/li>
&lt;li>How to add telemetry (app insights) to the application and gather hypothesis information&lt;/li>
&lt;li>How to use telemetry to monitor availability&lt;/li>
&lt;li>How to use feature toggles to move application into production without disrupting end users&lt;/li>
&lt;li>How to use release gates&lt;/li>
&lt;li>How to make DB schema changes&lt;/li>
&lt;li>Use Blue Green Deployments&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;p>And there is free lunch too! &lt;a href="https://www.eventbrite.com/e/global-devops-bootcamp-2018-black-marble-tickets-42496702782">To register click here&lt;/a>&lt;/p></description></item><item><title>Where do I put my testing effort?</title><link>https://blogs.blackmarble.co.uk/rfennell/where-do-i-put-my-testing-effort/</link><pubDate>Thu, 17 May 2018 20:28:40 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/where-do-i-put-my-testing-effort/</guid><description>
&lt;p>In the past I have blog on the subject of &lt;a href="https://blogs.blackmarble.co.uk/rfennell/2013/02/26/for-those-hard-to-mock-moments-microsoft-fakes-or-typemock-isolator/">using advanced unit test mocking tools to ‘mock the unmockable’&lt;/a>. It is an interesting question to revisit; how important today are units tests where this form of complex mocking is required?&lt;/p>
&lt;p>Of late I have certainly seen a bit of a move towards using more functional style tests; still using unit test frameworks, but relying on APIs as access points with real backend systems such as DBs and WebServices being deployed as test environments.&lt;/p></description></item><item><title>Making sure when you use VSTS build numbers to version Android Packages they can be uploaded to the Google Play Store</title><link>https://blogs.blackmarble.co.uk/rfennell/making-sure-when-you-use-vsts-build-numbers-to-version-android-packages-they-can-be-uploaded-to-the-google-play-store/</link><pubDate>Sat, 12 May 2018 15:13:38 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/making-sure-when-you-use-vsts-build-numbers-to-version-android-packages-they-can-be-uploaded-to-the-google-play-store/</guid><description>
&lt;h3 id="background">Background&lt;/h3>
&lt;p>I have a &lt;a href="https://marketplace.visualstudio.com/items?itemName=richardfennellBM.BM-VSTS-Versioning-Task">VSTS build extension that can apply a VSTS generated build number to Android APK packages&lt;/a>. This takes a VSTS build number and generates, and applies, the Version Name (a string) and Version Code (an integer) to the APK file manifest.&lt;/p>
&lt;p>The default parameters mean that the behaviour of this task is to assume (using a regular expression) the VSTS build number has at least three fields &lt;strong>major.minor.patch&lt;/strong> e.g. 1.2.3, and uses the 1.2 as the Version Name and the 3 as the Version Code.&lt;/p></description></item><item><title>Major new release of my VSTS Cross Platform Extension to build Release Notes</title><link>https://blogs.blackmarble.co.uk/rfennell/major-new-release-of-my-vsts-cross-platform-extension-to-build-release-notes/</link><pubDate>Fri, 27 Apr 2018 13:18:31 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/major-new-release-of-my-vsts-cross-platform-extension-to-build-release-notes/</guid><description>
&lt;p>Today I have released a major new release, V2, of my &lt;a href="https://marketplace.visualstudio.com/items?itemName=richardfennellBM.BM-VSTS-XplatGenerateReleaseNotes">VSTS Cross Platform Extension to build release notes&lt;/a>. This new version is all down to the efforts of &lt;a href="https://github.com/gregpakes">Greg Pakes&lt;/a> who has completely re-written the task to use newer VSTS APIs.&lt;/p>
&lt;p>A minor issue is that this re-write has introduced a couple of breaking changes, as detailed below and on the &lt;a href="https://github.com/rfennell/vNextBuild/wiki/GenerateReleaseNotes---Node-based-Cross-Platform-Task">project wiki&lt;/a>&lt;/p>
&lt;ul>
&lt;li>oAuth script access has to be enabled on the agent running the task&lt;/li>
&lt;/ul>
&lt;p>&lt;a href="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/2018/04/image.png">
&lt;img
loading="lazy"
decoding="async"
alt="image"
class="image_figure image_external image_processed"
width="409"
height="134"
src="https://blogs.blackmarble.co.uk/images/image_thumb_11936455201836003920.png"
title="image"
/>
&lt;/a>&lt;/p></description></item><item><title>Backing up your TFVC and Git Source from VSTS</title><link>https://blogs.blackmarble.co.uk/rfennell/backing-up-your-tfvc-and-git-source-from-vsts/</link><pubDate>Fri, 20 Apr 2018 12:49:08 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/backing-up-your-tfvc-and-git-source-from-vsts/</guid><description>
&lt;h3 id="the-issue">The Issue&lt;/h3>
&lt;p>Azure is a highly resilient service, and &lt;a href="https://azure.microsoft.com/en-gb/support/legal/sla/visual-studio-team-services/v1_2/">VSTS has excellent SLAs&lt;/a>. However, a question that is often asked is ‘How do I backup my VSTS instance?’. The simple answer is you don’t. Microsoft handle keeping the instance up, patched and serviceable. Hence, there is no built in means for you to get a local copy of all your source code, work items or CI/CD definitions. &lt;a href="https://visualstudio.uservoice.com/forums/330519-visual-studio-team-services/suggestions/5339461-provide-a-backup-service-for-visual-studio-team-se">Though there have been requests for such a service&lt;/a>. This can be an issue for some organisations, particularly for source control, where there can be a need to have a way to keep a private copy of source code for escrow, DR or similar purposes.&lt;/p></description></item><item><title>Opps, I made that test VSTS extension public by mistake, what do I do now?</title><link>https://blogs.blackmarble.co.uk/rfennell/opps-i-made-that-test-vsts-extension-public-by-mistake-what-do-i-do-now/</link><pubDate>Sat, 14 Apr 2018 13:50:55 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/opps-i-made-that-test-vsts-extension-public-by-mistake-what-do-i-do-now/</guid><description>
&lt;p>I recently, whilst changing a &lt;a href="https://blogs.blackmarble.co.uk/rfennell/2017/11/09/major-update-to-my-cicd-process-for-vsts-extensions/">CI/CD release pipeline&lt;/a>, updated what was previously a private version of a VSTS extension in the &lt;a href="https://marketplace.visualstudio.com/">VSTS Marketplace&lt;/a> with a version of the VSIX package set to be public.&lt;/p>
&lt;p>&lt;em>Note, in my CI/CD process I have a private and public version of each extension (set of tasks), the former is used for functional testing within the CD process, the latter is the one everyone can see&lt;/em>.&lt;/p>
&lt;p>So, this meant I had two public versions of the same extension, confusing.&lt;/p></description></item><item><title>Fix for 2755 and 1632 &amp;lsquo;The Temp folder is on a drive that is full or is inaccessible&amp;rsquo; errors</title><link>https://blogs.blackmarble.co.uk/rfennell/fix-for-2755-and-1632-the-temp-folder-is-on-a-drive-that-is-full-or-is-inaccessible-errors/</link><pubDate>Wed, 21 Mar 2018 17:01:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/fix-for-2755-and-1632-the-temp-folder-is-on-a-drive-that-is-full-or-is-inaccessible-errors/</guid><description>
&lt;p>Whilst trying to install an MSI package we kept getting the errors 2755 and 1632 ‘The Temp folder is on a drive that is full or is inaccessible’.&lt;/p>
&lt;p>After much fiddling we found the problem was that the &lt;strong>%systemroot%installer&lt;/strong> folder was missing. Once this was manually re-added the MSIs installed without a problem. The actual TEMP folder setting was a red herring&lt;/p></description></item><item><title>Using VSTS Gates to help improve my deployment pipeline of VSTS Extensions to the Visual Studio Marketplace</title><link>https://blogs.blackmarble.co.uk/rfennell/using-vsts-gates-to-help-improve-my-deployment-pipeline-of-vsts-extensions-to-the-visual-studio-marketplace/</link><pubDate>Tue, 20 Mar 2018 11:30:43 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/using-vsts-gates-to-help-improve-my-deployment-pipeline-of-vsts-extensions-to-the-visual-studio-marketplace/</guid><description>
&lt;p>My existing &lt;a href="https://blogs.blackmarble.co.uk/rfennell/2017/11/09/major-update-to-my-cicd-process-for-vsts-extensions/">VSTS CI/CD process&lt;/a> has a problem that the deployment of a VSTS extension, from the moment it is uploaded to when it’s tasks are available to a build agent, is not instantiation. The process can potentially take a few minutes to roll out. The problem this delay causes is a perfect candidate for using &lt;a href="https://docs.microsoft.com/en-us/vsts/build-release/concepts/definitions/release/approvals/gates">VSTS Release Gates&lt;/a>; using the gate to make sure the expected version of a task is available to an agent before running the next stage of the CD pipeline e.g waiting after deploying a private build of an extension before trying to run functional tests. The problem is how to achieve this with the current VSTS gate options?&lt;/p></description></item><item><title>Fixing a &amp;lsquo;git-lfs filter-process: gif-lfs: command not found&amp;rsquo; error in Visual Studio 2017</title><link>https://blogs.blackmarble.co.uk/rfennell/fixing-a-git-lfs-filter-process-gif-lfs-command-not-found-error-in-visual-studio-2017/</link><pubDate>Fri, 09 Mar 2018 12:02:17 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/fixing-a-git-lfs-filter-process-gif-lfs-command-not-found-error-in-visual-studio-2017/</guid><description>
&lt;p>I am currently looking at the best way to migrate a large legacy codebase from TFVC to Git. There are a number of ways I could do this, as I have &lt;a href="https://blogs.blackmarble.co.uk/rfennell/2017/05/10/options-migrating-tfs-to-vsts/">posted about before&lt;/a>. Obviously, I have ruled out anything that tries to migrate history as ‘that way hell lies’; if people need to see history they will be able to look at the archived TFVC instance. TFVC and Git are just too different in the way they work to make history migrations worth the effort in my opinion.&lt;/p></description></item><item><title>Building private VSTS build agents using the Microsoft Packer based agent image creation model</title><link>https://blogs.blackmarble.co.uk/rfennell/building-private-vsts-build-agents-using-the-microsoft-packer-based-agent-image-creation-model/</link><pubDate>Tue, 27 Feb 2018 18:48:32 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/building-private-vsts-build-agents-using-the-microsoft-packer-based-agent-image-creation-model/</guid><description>
&lt;h3 id="background">Background&lt;/h3>
&lt;p>Having automated builds is essential to any good development process. Irrespective of the build engine in use, VSTS, Jenkins etc. you need to have a means to create the VMs that are running the builds.&lt;/p>
&lt;p>You can of course do this by hand, but in many ways you are just extending the old ‘it works on my PC – the developer can build it only on their own PC’ problem i.e. it is hard to be sure what version of tools are in use. This is made worse by the fact it is too tempting for someone to remote onto the build VM to update some SDK or tool without anyone else’s knowledge.&lt;/p></description></item><item><title>Yorkshire Venue for the Global DevOps BootCamp 2018</title><link>https://blogs.blackmarble.co.uk/rfennell/yorkshire-venue-for-the-global-devops-bootcamp-2018/</link><pubDate>Thu, 22 Feb 2018 18:15:15 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/yorkshire-venue-for-the-global-devops-bootcamp-2018/</guid><description>
&lt;p>I am really pleased that we at Black Marble are again the first UK location announcing that we are hosting an event on June 16th as part of the 2018 &lt;a href="https://globaldevopsbootcamp.com/">Global DevOps BootCamp&lt;/a>. As the event’s site says…&lt;/p>
&lt;p>&lt;em>“The Global DevOps Bootcamp takes place once a year on venues all over the world. The more people joining in, the better it gets! The Global DevOps Bootcamp is a free one-day event hosted by local passionate DevOps communities around the globe and centrally organized by Xpirit &amp;amp; Solidify and sponsored by Microsoft. This event is all about DevOps on the Microsoft Stack. It shows the latest DevOps trends and insights in modern technologies. It is an amazing combination between getting your hands dirty and sharing experience and knowledge in VSTS, Azure, DevOps with other community members.”&lt;/em> &lt;/p></description></item><item><title>New release of my Generate Parameters.xml tools to add support for app.config files</title><link>https://blogs.blackmarble.co.uk/rfennell/new-release-of-my-generate-parameters-xml-tools-to-add-support-for-app-config-files/</link><pubDate>Tue, 13 Feb 2018 09:39:12 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/new-release-of-my-generate-parameters-xml-tools-to-add-support-for-app-config-files/</guid><description>
&lt;p>I recently released an updated version of my &lt;a href="https://marketplace.visualstudio.com/items?itemName=RichardFennellMVP.ParametersXmlGenerator">Generate Parameters.XML tool for Visual Studio&lt;/a>. This release adds support for generating &lt;strong>parameters.xml&lt;/strong> files from &lt;strong>app.config&lt;/strong> files as well as &lt;strong>web.config&lt;/strong> files Why you might ask why add support for &lt;strong>app.config&lt;/strong> files when the &lt;strong>parameters.xml&lt;/strong> model is only part of &lt;a href="https://www.iis.net/downloads/microsoft/web-deploy">WebDeploy&lt;/a>? Well, at Black Marble we like the model of updating a single file using a tokenised set of parameters from within our DevOps CI/CD pipelines. It makes it easy to take release variables and write them, at deploy time, into a &lt;strong>parameters.xml&lt;/strong> file to be injected into a machine’s configuration. We wanted to extend this to configuring services and the like where for example a DLL based service is configured with a &lt;strong>mycode.dll.config&lt;/strong> file The injection process of the &lt;strong>parameters.xml&lt;/strong> into a &lt;strong>web.config&lt;/strong> file is automatically done as part of the WebDeploy process (or a VSTS extension wrapping WebDeploy), but if you want to use a similar model for &lt;strong>app.config&lt;/strong> files then you need some PowerShell. For example, if we have the &lt;strong>app.config&lt;/strong>&lt;/p></description></item><item><title>Versioning your ARM templates within a VSTS CI/CD pipeline with Semantic Versioning</title><link>https://blogs.blackmarble.co.uk/rfennell/versioning-your-arm-templates-within-a-vsts-ci-cd-pipeline-with-semantic-versioning/</link><pubDate>Sat, 03 Feb 2018 15:23:59 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/versioning-your-arm-templates-within-a-vsts-ci-cd-pipeline-with-semantic-versioning/</guid><description>
&lt;p>I wrote a post recently &lt;a href="https://blogs.blackmarble.co.uk/rfennell/2018/01/22/versioning-your-arm-templates-within-a-vsts-ci-cd-pipeline/">Versioning your ARM templates within a VSTS CI/CD pipeline&lt;/a>. I realised since writing it that it does not address the issue of if you wish to version your ARM Templates using &lt;a href="https://semver.org/">Semantic Versioning&lt;/a>. My JSON versioning task I used did not support the option of not extracting a numeric version number e.g. 1.2.3.4 from a VSTS build number. To address this limitation I have modified &lt;a href="https://marketplace.visualstudio.com/items?itemName=richardfennellBM.BM-VSTS-Versioning-Task">my Version JSON file task&lt;/a> to address. This change to my task allows it to be used with the &lt;a href="https://marketplace.visualstudio.com/items?itemName=gittools.gitversion#overview">GitVersion VSTS task&lt;/a> to manage the semantic versioning. For more details on &lt;a href="http://gitversion.readthedocs.io/en/latest/">GitVersion see the project documentation&lt;/a>. Hence, I my now able to generate a version number using GitVersion and pass this in to the versioning task directly using a build variable.&lt;/p></description></item><item><title>What I wish I had known when I started developing Lability DevTest Lab Environments</title><link>https://blogs.blackmarble.co.uk/rfennell/what-i-wish-i-had-known-when-i-started-developing-lability-devtest-lab-environments/</link><pubDate>Wed, 31 Jan 2018 12:33:16 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/what-i-wish-i-had-known-when-i-started-developing-lability-devtest-lab-environments/</guid><description>
&lt;p>At Black Marble we have been migrating our DevTest labs to from on-premises &lt;a href="https://blogs.blackmarble.co.uk/rfennell/2017/02/06/how-you-can-keep-using-lab-management-after-a-move-to-vsts-after-a-fashion/">TFS Lab Management&lt;/a> to a mixture of on-premise and Azure hosted &lt;a href="https://github.com/VirtualEngine/Lability">Lability&lt;/a> defined Labs &lt;a href="https://blogs.blackmarble.co.uk/rhepworth/2017/03/02/define-once-deploy-everywhere-sort-of/">as discussed by Rik Hepworth on his blog&lt;/a>. I have only been tangentially involved in this effort until recently, consuming the labs but not creating the definitions.&lt;/p>
&lt;p>So this post is one of those I do where I don’t want to forget things I learnt the hard way, or to put it another way asking &lt;a href="https://blogs.blackmarble.co.uk/rhepworth">Rik&lt;/a> or &lt;a href="https://chrislgardner.github.io/">Chris&lt;/a> after watching a 2 hour environment deploy fail for the Xth time.&lt;/p></description></item><item><title>Versioning your ARM templates within a VSTS CI/CD pipeline</title><link>https://blogs.blackmarble.co.uk/rfennell/versioning-your-arm-templates-within-a-vsts-ci-cd-pipeline/</link><pubDate>Mon, 22 Jan 2018 14:55:17 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/versioning-your-arm-templates-within-a-vsts-ci-cd-pipeline/</guid><description>
&lt;p>&lt;strong>Updated 3 Feb 2018&lt;/strong> - &lt;a href="https://blogs.blackmarble.co.uk/rfennell/2018/02/03/versioning-your-arm-templates-within-a-vsts-ci-cd-pipeline-with-semantic-versioning/">Also see Versioning your ARM templates within a VSTS CI/CD pipeline with Semantic Versioning&lt;/a> Azure Resource Templates (ARM) allow your DevOps infrastructure deployments to be treated as ‘content as code’. So infrastructure definitions can be stored in source control. As with any code it is really useful to know which version you have out in production. Now a CI/CD process and its usage logs can help here, but just having a version string stored somewhere accessible on the production systems is always useful. In an ARM Template this can be achieved using the ‘content version’ field in the template (&lt;a href="https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-group-authoring-templates">see documentation for more detail on this file&lt;/a>). The question becomes how best to update this field with a version number? The solution I used was a &lt;a href="https://marketplace.visualstudio.com/items?itemName=richardfennellBM.BM-VSTS-Versioning-Task">VSTS JSON Versioning Task&lt;/a> I had already created to update the template’s .JSON definition file. I popped this task at the start of my ARM templates CI build process and it set the value prior to the storage of the template as a build artifact used within the CD pipeline &lt;a href="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/2018/01/image-2.png">
&lt;img
loading="lazy"
decoding="async"
alt="image"
class="image_figure image_external image_processed"
width="645"
height="324"
src="https://blogs.blackmarble.co.uk/images/image_thumb-2_5631458575217792041.png"
title="image"
/>
&lt;/a>&lt;/p></description></item><item><title>Creating test data for my Generate Release Notes Extension for use in CI/CD process</title><link>https://blogs.blackmarble.co.uk/rfennell/creating-test-data-for-my-generate-release-notes-extension-for-use-in-ci-cd-process/</link><pubDate>Fri, 19 Jan 2018 20:13:38 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/creating-test-data-for-my-generate-release-notes-extension-for-use-in-ci-cd-process/</guid><description>
&lt;p>As part of the continued improvement to my CI/CD process I needed to provide a means so that whenever I test my &lt;a href="https://marketplace.visualstudio.com/items?itemName=richardfennellBM.BM-VSTS-GenerateReleaseNotes-Task">Generate Release Notes Task&lt;/a>, within it’s CI/CD process, new commits and work item associations are made. This is required because the task only picks up new commits and work items since the last successful running of a given build. So if the last release of the task extension was successful then the next set of tests have no associations to go in the release notes, not exactly exercising all the code paths! In the past I added this test data by hand, a new manual commit to the repo prior to a release; but why have a dog and bark yourself? Better to automate the process. This can done using a PowerShell file, run inline or stored in the builds source repo and run within a VSTS build. The code is shown below, you can pass in the required parameters, but I set sensible default for my purposes&lt;/p></description></item><item><title>How I fixed my problem that my VSTS Build Extension was too big to upload to the Marketplace</title><link>https://blogs.blackmarble.co.uk/rfennell/how-i-fixed-my-problem-that-my-vsts-build-extension-was-too-big-to-upload-to-the-marketplace/</link><pubDate>Fri, 05 Jan 2018 14:48:33 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/how-i-fixed-my-problem-that-my-vsts-build-extension-was-too-big-to-upload-to-the-marketplace/</guid><description>
&lt;p>Whist adding a couple of new tasks to my &lt;a href="https://marketplace.visualstudio.com/items?itemName=richardfennellBM.BM-VSTS-Versioning-Task">VSTS Manifest Versioning Extension&lt;/a> I hit the problem that VSIX package became too big to upload to the Marketplace. The error I saw in my CI/CD VSTS pipeline was```
##vso[task.logissue type=error;]error:
Failed Request: Bad Request(400) -
The extension package size '23255292 bytes' exceeds the
maximum package size '20971520 bytes'&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-gdscript3" data-lang="gdscript3">&lt;span class="line">&lt;span class="ln"> 1&lt;/span>&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 2&lt;/span>&lt;span class="cl">&lt;span class="mf">1.&lt;/span> &lt;span class="n">They&lt;/span> &lt;span class="n">get&lt;/span> &lt;span class="n">a&lt;/span> &lt;span class="n">list&lt;/span> &lt;span class="n">of&lt;/span> &lt;span class="n">files&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 3&lt;/span>&lt;span class="cl">&lt;span class="mf">2.&lt;/span> &lt;span class="n">Extract&lt;/span> &lt;span class="n">a&lt;/span> &lt;span class="n">version&lt;/span> &lt;span class="n">number&lt;/span> &lt;span class="n">from&lt;/span> &lt;span class="n">the&lt;/span> &lt;span class="n">build&lt;/span> &lt;span class="n">number&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 4&lt;/span>&lt;span class="cl">&lt;span class="mf">3.&lt;/span> &lt;span class="n">Then&lt;/span> &lt;span class="n">apply&lt;/span> &lt;span class="n">this&lt;/span> &lt;span class="n">to&lt;/span> &lt;span class="n">one&lt;/span> &lt;span class="ow">or&lt;/span> &lt;span class="n">more&lt;/span> &lt;span class="n">files&lt;/span> &lt;span class="ow">in&lt;/span> &lt;span class="n">a&lt;/span> &lt;span class="n">product&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">task&lt;/span> &lt;span class="n">specific&lt;/span> &lt;span class="n">manner&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 5&lt;/span>&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 6&lt;/span>&lt;span class="cl">&lt;span class="n">there&lt;/span> &lt;span class="n">has&lt;/span> &lt;span class="n">been&lt;/span> &lt;span class="n">some&lt;/span> &lt;span class="n">cut&lt;/span> &lt;span class="ow">and&lt;/span> &lt;span class="n">paste&lt;/span> &lt;span class="n">coding&lt;/span>&lt;span class="o">.&lt;/span> &lt;span class="n">This&lt;/span> &lt;span class="n">means&lt;/span> &lt;span class="n">that&lt;/span> &lt;span class="n">I&lt;/span> &lt;span class="n">have&lt;/span> &lt;span class="n">NPM&lt;/span> &lt;span class="n">modules&lt;/span> &lt;span class="ow">in&lt;/span> &lt;span class="n">the&lt;/span> &lt;span class="n">tasks&lt;/span> &lt;span class="o">**&lt;/span>&lt;span class="n">package&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">json&lt;/span>&lt;span class="o">**&lt;/span> &lt;span class="n">file&lt;/span> &lt;span class="n">that&lt;/span> &lt;span class="n">were&lt;/span> &lt;span class="ow">not&lt;/span> &lt;span class="n">needed&lt;/span> &lt;span class="k">for&lt;/span> &lt;span class="n">a&lt;/span> &lt;span class="n">given&lt;/span> &lt;span class="n">task&lt;/span>&lt;span class="o">.&lt;/span> &lt;span class="n">I&lt;/span> &lt;span class="n">could&lt;/span> &lt;span class="n">manually&lt;/span> &lt;span class="n">address&lt;/span> &lt;span class="n">this&lt;/span> &lt;span class="n">but&lt;/span> &lt;span class="n">there&lt;/span> &lt;span class="n">is&lt;/span> &lt;span class="n">an&lt;/span> &lt;span class="n">NPM&lt;/span> &lt;span class="n">module&lt;/span> &lt;span class="n">to&lt;/span> &lt;span class="n">help&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">DepCheck&lt;/span>&lt;span class="o">.&lt;/span> &lt;span class="n">First&lt;/span> &lt;span class="n">install&lt;/span> &lt;span class="n">the&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">DepCheck&lt;/span>&lt;span class="p">](&lt;/span>&lt;span class="n">https&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="o">//&lt;/span>&lt;span class="n">www&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">npmjs&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">com&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">package&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">depcheck&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="n">module&lt;/span>&lt;span class="err">```&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 7&lt;/span>&lt;span class="cl">&lt;span class="n">npm&lt;/span> &lt;span class="n">install&lt;/span> &lt;span class="n">depcheck&lt;/span> &lt;span class="err">–&lt;/span>&lt;span class="n">g&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 8&lt;/span>&lt;span class="cl">&lt;span class="err">```&lt;/span>&lt;span class="n">then&lt;/span> &lt;span class="n">run&lt;/span> &lt;span class="o">**&lt;/span>&lt;span class="n">depcheck&lt;/span>&lt;span class="o">**&lt;/span> &lt;span class="n">from&lt;/span> &lt;span class="n">the&lt;/span> &lt;span class="n">command&lt;/span> &lt;span class="n">line&lt;/span> &lt;span class="n">whist&lt;/span> &lt;span class="n">within&lt;/span> &lt;span class="n">your&lt;/span> &lt;span class="n">task&lt;/span>&lt;span class="err">’&lt;/span>&lt;span class="n">s&lt;/span> &lt;span class="n">folder&lt;/span>&lt;span class="o">.&lt;/span> &lt;span class="n">This&lt;/span> &lt;span class="n">returns&lt;/span> &lt;span class="n">a&lt;/span> &lt;span class="n">list&lt;/span> &lt;span class="n">of&lt;/span> &lt;span class="n">modules&lt;/span> &lt;span class="n">listed&lt;/span> &lt;span class="ow">in&lt;/span> &lt;span class="n">the&lt;/span> &lt;span class="o">**&lt;/span>&lt;span class="n">package&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">json&lt;/span>&lt;span class="o">**&lt;/span> &lt;span class="n">that&lt;/span> &lt;span class="n">are&lt;/span> &lt;span class="ow">not&lt;/span> &lt;span class="n">referenced&lt;/span> &lt;span class="ow">in&lt;/span> &lt;span class="n">the&lt;/span> &lt;span class="n">code&lt;/span> &lt;span class="n">files&lt;/span>&lt;span class="o">.&lt;/span> &lt;span class="n">These&lt;/span> &lt;span class="n">can&lt;/span> &lt;span class="n">then&lt;/span> &lt;span class="n">be&lt;/span> &lt;span class="n">removed&lt;/span> &lt;span class="n">from&lt;/span> &lt;span class="n">the&lt;/span> &lt;span class="o">**&lt;/span>&lt;span class="n">package&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">json&lt;/span>&lt;span class="o">.**&lt;/span>  &lt;span class="n">e&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">g&lt;/span>&lt;span class="o">.&lt;/span> &lt;span class="n">I&lt;/span> &lt;span class="n">saw&lt;/span>&lt;span class="err">```&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 9&lt;/span>&lt;span class="cl">&lt;span class="n">Unused&lt;/span> &lt;span class="n">dependencies&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">10&lt;/span>&lt;span class="cl">\&lt;span class="o">*&lt;/span> &lt;span class="err">@&lt;/span>&lt;span class="n">types&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">node&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">11&lt;/span>&lt;span class="cl">\&lt;span class="o">*&lt;/span> &lt;span class="err">@&lt;/span>&lt;span class="n">types&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">q&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">12&lt;/span>&lt;span class="cl">\&lt;span class="o">*&lt;/span> &lt;span class="n">Buffer&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">13&lt;/span>&lt;span class="cl">\&lt;span class="o">*&lt;/span> &lt;span class="n">fs&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">14&lt;/span>&lt;span class="cl">\&lt;span class="o">*&lt;/span> &lt;span class="n">request&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">15&lt;/span>&lt;span class="cl">\&lt;span class="o">*&lt;/span> &lt;span class="n">tsd&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">16&lt;/span>&lt;span class="cl">&lt;span class="n">Unused&lt;/span> &lt;span class="n">devDependencies&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">17&lt;/span>&lt;span class="cl">\&lt;span class="o">*&lt;/span> &lt;span class="err">@&lt;/span>&lt;span class="n">types&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">chai&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">18&lt;/span>&lt;span class="cl">\&lt;span class="o">*&lt;/span> &lt;span class="err">@&lt;/span>&lt;span class="n">types&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">mocha&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">19&lt;/span>&lt;span class="cl">\&lt;span class="o">*&lt;/span> &lt;span class="err">@&lt;/span>&lt;span class="n">types&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">node&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">20&lt;/span>&lt;span class="cl">\&lt;span class="o">*&lt;/span> &lt;span class="n">mocha&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">junit&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">reporter&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">21&lt;/span>&lt;span class="cl">\&lt;span class="o">*&lt;/span> &lt;span class="n">ts&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">loader&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">22&lt;/span>&lt;span class="cl">\&lt;span class="o">*&lt;/span> &lt;span class="n">ts&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">node&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">23&lt;/span>&lt;span class="cl">\&lt;span class="o">*&lt;/span> &lt;span class="n">typings&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">24&lt;/span>&lt;span class="cl">&lt;span class="err">```&lt;/span>&lt;span class="n">The&lt;/span> &lt;span class="n">important&lt;/span> &lt;span class="n">ones&lt;/span> &lt;span class="n">to&lt;/span> &lt;span class="n">focus&lt;/span> &lt;span class="n">on&lt;/span> &lt;span class="n">are&lt;/span> &lt;span class="n">the&lt;/span> &lt;span class="n">first&lt;/span> &lt;span class="n">block&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="n">non&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">development&lt;/span> &lt;span class="n">references&lt;/span>&lt;span class="p">),&lt;/span> &lt;span class="n">as&lt;/span> &lt;span class="n">these&lt;/span> &lt;span class="n">are&lt;/span> &lt;span class="n">the&lt;/span> &lt;span class="n">ones&lt;/span> &lt;span class="n">that&lt;/span> &lt;span class="n">are&lt;/span> &lt;span class="n">packaged&lt;/span> &lt;span class="n">with&lt;/span> &lt;span class="n">the&lt;/span> &lt;span class="n">production&lt;/span> &lt;span class="n">code&lt;/span> &lt;span class="ow">in&lt;/span> &lt;span class="n">the&lt;/span> &lt;span class="n">VSIX&lt;/span>&lt;span class="p">;&lt;/span> &lt;span class="n">I&lt;/span> &lt;span class="n">was&lt;/span> &lt;span class="n">already&lt;/span> &lt;span class="n">pruning&lt;/span> &lt;span class="n">the&lt;/span> &lt;span class="o">**&lt;/span>&lt;span class="n">node&lt;/span>\&lt;span class="n">_module&lt;/span>&lt;span class="o">**&lt;/span> &lt;span class="n">folder&lt;/span> &lt;span class="n">of&lt;/span> &lt;span class="n">development&lt;/span> &lt;span class="n">dependencies&lt;/span> &lt;span class="n">prior&lt;/span> &lt;span class="n">to&lt;/span> &lt;span class="n">creating&lt;/span> &lt;span class="n">the&lt;/span> &lt;span class="n">VSIX&lt;/span> &lt;span class="n">to&lt;/span> &lt;span class="n">remove&lt;/span> &lt;span class="n">devDependancies&lt;/span> &lt;span class="n">using&lt;/span> &lt;span class="n">the&lt;/span> &lt;span class="n">command&lt;/span>&lt;span class="err">```&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">25&lt;/span>&lt;span class="cl">&lt;span class="n">npm&lt;/span> &lt;span class="n">prune&lt;/span> &lt;span class="err">–&lt;/span>&lt;span class="n">production&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">26&lt;/span>&lt;span class="cl">&lt;span class="err">```&lt;/span>&lt;span class="n">I&lt;/span> &lt;span class="n">did&lt;/span> &lt;span class="n">find&lt;/span> &lt;span class="n">some&lt;/span> &lt;span class="n">of&lt;/span> &lt;span class="n">the&lt;/span> &lt;span class="n">listed&lt;/span> &lt;span class="n">modules&lt;/span> &lt;span class="n">strange&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">as&lt;/span> &lt;span class="n">I&lt;/span> &lt;span class="n">knew&lt;/span> &lt;span class="n">they&lt;/span> &lt;span class="n">really&lt;/span> &lt;span class="n">were&lt;/span> &lt;span class="n">needed&lt;/span> &lt;span class="ow">and&lt;/span> &lt;span class="n">a&lt;/span> &lt;span class="n">quick&lt;/span> &lt;span class="n">test&lt;/span> &lt;span class="n">of&lt;/span> &lt;span class="n">removing&lt;/span> &lt;span class="n">them&lt;/span> &lt;span class="n">did&lt;/span> &lt;span class="n">show&lt;/span> &lt;span class="n">the&lt;/span> &lt;span class="n">code&lt;/span> &lt;span class="n">failed&lt;/span> &lt;span class="k">if&lt;/span> &lt;span class="n">they&lt;/span> &lt;span class="n">were&lt;/span> &lt;span class="n">missing&lt;/span>&lt;span class="o">.&lt;/span> &lt;span class="n">These&lt;/span> &lt;span class="n">are&lt;/span> &lt;span class="n">what&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">depchecks&lt;/span> &lt;span class="n">documentation&lt;/span> &lt;span class="n">calls&lt;/span> &lt;span class="bp">false&lt;/span> &lt;span class="n">alerts&lt;/span>&lt;span class="p">](&lt;/span>&lt;span class="n">https&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="o">//&lt;/span>&lt;span class="n">www&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">npmjs&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">com&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">package&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">depcheck&lt;/span>&lt;span class="p">)&lt;/span>&lt;span class="o">.&lt;/span> &lt;span class="n">I&lt;/span> &lt;span class="n">found&lt;/span> &lt;span class="n">I&lt;/span> &lt;span class="n">could&lt;/span> &lt;span class="n">remove&lt;/span> &lt;span class="n">the&lt;/span> &lt;span class="o">**&lt;/span>&lt;span class="err">@&lt;/span>&lt;span class="n">type&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">xxx&lt;/span>&lt;span class="o">**&lt;/span> &lt;span class="ow">and&lt;/span> &lt;span class="o">**&lt;/span>&lt;span class="n">tsd&lt;/span>&lt;span class="o">**&lt;/span> &lt;span class="n">references&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">which&lt;/span> &lt;span class="n">were&lt;/span> &lt;span class="n">the&lt;/span> &lt;span class="n">big&lt;/span> &lt;span class="n">ones&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">that&lt;/span> &lt;span class="n">are&lt;/span> &lt;span class="n">only&lt;/span> &lt;span class="n">needed&lt;/span> &lt;span class="ow">in&lt;/span> &lt;span class="n">development&lt;/span> &lt;span class="n">when&lt;/span> &lt;span class="n">working&lt;/span> &lt;span class="ow">in&lt;/span> &lt;span class="n">TypeScript&lt;/span>&lt;span class="o">.&lt;/span> &lt;span class="n">Once&lt;/span> &lt;span class="n">these&lt;/span> &lt;span class="n">were&lt;/span> &lt;span class="n">removed&lt;/span> &lt;span class="k">for&lt;/span> &lt;span class="n">all&lt;/span> &lt;span class="n">four&lt;/span> &lt;span class="n">of&lt;/span> &lt;span class="n">my&lt;/span> &lt;span class="n">NodeJS&lt;/span> &lt;span class="n">based&lt;/span> &lt;span class="n">tasks&lt;/span> &lt;span class="n">my&lt;/span> &lt;span class="n">VSIX&lt;/span> &lt;span class="n">dropped&lt;/span> &lt;span class="ow">in&lt;/span> &lt;span class="n">size&lt;/span> &lt;span class="n">from&lt;/span> &lt;span class="mi">22&lt;/span>&lt;span class="n">Mb&lt;/span> &lt;span class="n">to&lt;/span> &lt;span class="mi">7&lt;/span>&lt;span class="n">Mb&lt;/span>&lt;span class="o">.&lt;/span> &lt;span class="n">So&lt;/span> &lt;span class="n">problem&lt;/span> &lt;span class="n">solved&lt;/span>&lt;span class="o">.&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div></description></item><item><title>Added a new JSON version task to my VSTS Version Extension</title><link>https://blogs.blackmarble.co.uk/rfennell/added-a-new-json-version-task-to-my-vsts-version-extension/</link><pubDate>Fri, 05 Jan 2018 11:04:21 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/added-a-new-json-version-task-to-my-vsts-version-extension/</guid><description>
&lt;p>In response to requests on the VSTS Marketplace I have added a pair of tasks to added/edit entries in a .JSON format files.&lt;/p>
&lt;p>The first is for adding a version to a file like a package.json file e.g.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="ln">1&lt;/span>&lt;span class="cl">{
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">2&lt;/span>&lt;span class="cl">&amp;#34;name&amp;#34;: &amp;#34;myapp&amp;#34;,
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">3&lt;/span>&lt;span class="cl">&amp;#34;version&amp;#34;: &amp;#34;1.0.0&amp;#34;,
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">4&lt;/span>&lt;span class="cl">&amp;#34;license&amp;#34;: &amp;#34;MIT&amp;#34;
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">5&lt;/span>&lt;span class="cl">}
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>The second is designed for angular environment.ts file e.g.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-gdscript3" data-lang="gdscript3">&lt;span class="line">&lt;span class="ln">1&lt;/span>&lt;span class="cl">&lt;span class="k">export&lt;/span> &lt;span class="k">const&lt;/span> &lt;span class="n">environment&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">2&lt;/span>&lt;span class="cl">&lt;span class="n">production&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="bp">true&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">3&lt;/span>&lt;span class="cl">&lt;span class="n">version&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s1">&amp;#39;1.0.0.0&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">4&lt;/span>&lt;span class="cl">&lt;span class="p">};&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>But I bet people find other uses, they always do.&lt;/p>
&lt;p>You can find the extension in the &lt;a href="https://marketplace.visualstudio.com/items?itemName=richardfennellBM.BM-VSTS-Versioning-Task">marketplace&lt;/a>, you need 1.31.x or later to see the new versioner tasks&lt;/p></description></item><item><title>Announcing a new VSTS Extension for Starting and Stopping Azure DevTest Labs VMs</title><link>https://blogs.blackmarble.co.uk/rfennell/announcing-a-new-vsts-extension-for-starting-and-stopping-azure-devtest-labs-vms/</link><pubDate>Thu, 30 Nov 2017 12:13:05 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/announcing-a-new-vsts-extension-for-starting-and-stopping-azure-devtest-labs-vms/</guid><description>
&lt;h3 id="background">Background&lt;/h3>
&lt;p>I have &lt;a href="https://blogs.blackmarble.co.uk/rfennell/2017/11/23/creating-a-%3Cpre.vsts-build-agent-on-an-azure-devlabs-windows-server-vm-with-no-gui/">recently been posting&lt;/a> on using Azure to host private VSTS build/release agents to avoid agent queue deadlocking issues with more complex release pipelines. One of the areas discussed is reducing cost of running a private agent in Azure by only running the private agent within a limited time range, when you guess it might be needed. I have done this using DevTest Labs &lt;a href="https://azure.microsoft.com/en-gb/updates/azure-devtest-labs-schedule-vm-auto-start/">Auto Start&lt;/a> and &lt;a href="https://azure.microsoft.com/en-gb/updates/azure-devtest-labs-set-auto-shutdown-for-a-single-lab-vm/">Auto Stop&lt;/a> features. This works, but is it not better to only start the agent VM when it is actually really needed, not when you guess it might be? I need this private agent only when working on my VSTS extensions, not something I do everyday. Why waste CPU cycles that are never used?&lt;/p></description></item><item><title>Creating a VSTS build agent on an Azure DevLabs Windows Server VM with no GUI - Using Artifacts</title><link>https://blogs.blackmarble.co.uk/rfennell/creating-a-vsts-build-agent-on-an-azure-devlabs-windows-server-vm-with-no-gui-using-artifacts/</link><pubDate>Tue, 28 Nov 2017 20:34:10 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/creating-a-vsts-build-agent-on-an-azure-devlabs-windows-server-vm-with-no-gui-using-artifacts/</guid><description>
&lt;p>&lt;a href="https://blogs.blackmarble.co.uk/rfennell/2017/11/23/creating-a-vsts-build-agent-on-an-azure-devlabs-windows-server-vm-with-no-gui/">In my last post I discussed creating a private VSTS build agent within an Azure DevTest Lab on a VM with no GUI&lt;/a>. It was pointed out to me today, by &lt;a href="https://blogs.blackmarble.co.uk/rhepworth">Rik Hepworth&lt;/a>, that I had overlooked an obvious alternative way to get the VSTS agent onto the VM i.e. not having to use a series of commands at an RDP connected command prompt. The alternative I missed is to use a DevTest Lab Artifact; in fact there is such an artifact available within the standard set in DevTest Labs. You just provide a few parameters and you are good to go. &lt;a href="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/2017/11/image-1.png">
&lt;img
loading="lazy"
decoding="async"
alt="image"
class="image_figure image_external image_processed"
width="488"
height="409"
src="https://blogs.blackmarble.co.uk/images/image_thumb-1_13152693051650321809.png"
title="image"
/>
&lt;/a> Well you should be good to go, but there is an issue. The PowerShell used to extract the downloaded Build Agent ZIP file does not work on a non-UI based Windows VM. &lt;a href="http://www.codewrecks.com/blog/index.php/2016/05/27/avoid-using-shell-command-in-powershell-scipts/">The basic issue here is discussed in this post by my fellow ALM MVP Ricci Gian Maria&lt;/a>. Luckily the fix is simple; I just used the same code to do the extraction of the ZIP file that I used in my &lt;a href="https://blogs.blackmarble.co.uk/rfennell/2017/11/23/creating-a-vsts-build-agent-on-an-azure-devlabs-windows-server-vm-with-no-gui/">previous post&lt;/a>. I have submitted this fix as a &lt;a href="https://github.com/Azure/azure-devtestlab/pull/319">Pull Request to the DevTest Lab Team&lt;/a> so hopefully the standard repository will have the fix soon and you won’t need to do a fork to create a private artifacts repo as I have. &lt;strong>Update 1st December 2017&lt;/strong> The &lt;a href="https://github.com/Azure/azure-devtestlab/pull/319">Pull Request to the DevTest Lab Team&lt;/a> with the fixed code has been accepted and the fix is now in the master branch of the public artifact repo, so automatically available to all&lt;/p></description></item><item><title>Creating a VSTS build agent on an Azure DevLabs Windows Server VM with no GUI</title><link>https://blogs.blackmarble.co.uk/rfennell/creating-a-vsts-build-agent-on-an-azure-devlabs-windows-server-vm-with-no-gui/</link><pubDate>Thu, 23 Nov 2017 12:38:48 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/creating-a-vsts-build-agent-on-an-azure-devlabs-windows-server-vm-with-no-gui/</guid><description>
&lt;p>&lt;strong>Updates&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>&lt;strong>28th Nov 2017&lt;/strong>: Also see this second post &lt;a href="https://blogs.blackmarble.co.uk/rfennell/2017/11/28/creating-a-vsts-build-agent-on-an-azure-devlabs-windows-server-vm-with-no-gui-using-artifacts/">Creating a VSTS build agent on an Azure DevLabs Windows Server VM with no GUI - Using Artifacts&lt;/a>&lt;/li>
&lt;li>&lt;strong>30th Nov 2017&lt;/strong>: Also see associated post &lt;a href="https://blogs.blackmarble.co.uk/rfennell/2017/11/30/announcing-a-new-vsts-extension-for-starting-and-stopping-azure-devtest-labs-vms/">Announcing a new VSTS Extension for Starting and Stopping Azure DevTest Labs VMs&lt;/a>&lt;/li>
&lt;/ul>
&lt;hr>
&lt;p>As I &lt;a href="https://blogs.blackmarble.co.uk/rfennell/2017/11/09/major-update-to-my-cicd-process-for-vsts-extensions/">posted recently&lt;/a> I have been trying to add more functional tests to the VSTS based release CI/CD pipeline for my &lt;a href="https://marketplace.visualstudio.com/search?term=fennell&amp;amp;target=VSTS&amp;amp;category=All%20categories&amp;amp;sortBy=Relevance">VSTS Extensions&lt;/a>, and as I noted depending on how you want to run your tests e.g. trigger sub-builds, you can end up with scheduling deadlocks where a single build agent is scheduling the release and trying to run a new build. The answer is to use a second build agent in a different agent pool e.g. if the release is running on the Hosted build agent use a private build agent for the sub-build, or of course just pay for more hosted build instances. The problem with a private build agent is where to run it. As my extensions are a personal project I don’t have a corporate Hyper-V server to run any extra private agents on, as I would have for an company projects. My MVP MSDN Azure benefits are the obvious answer, but I want any agents to be cheap to run, so I don’t burn through all my MSDN credits for a single build agent. To this end I created a Windows Server 2016 VM in &lt;a href="https://azure.microsoft.com/en-gb/services/devtest-lab/">DevLabs&lt;/a> (I prefer to create my VMs in DevLabs as it makes it easier tidying up of my Azure account) using an A0 sizing VM. This is tiny so cheap; I don’t intend to ever do a build on this agent, just schedule releases, so need to install few if any tools, so the size should not be an issue. To further reduce costs I used the auto start and stop features on the VM so it is only running during the hours I might be working. So I get an admittedly slow and limited private build agent but for less that $10 a month. As the VM is small it makes sense to not run a GUI. This means when you RDP to the new VM you just get a command prompt. So how do you get the agent onto the VM and setup? You can’t just open a browser to VSTS or cut and paste a file via RDP, and I wanted to avoid the complexity of having to open up PowerShell remoting on the VM. The process I used was as follows:&lt;/p></description></item><item><title>Future of Reporting on VSTS with VSTS Analytics</title><link>https://blogs.blackmarble.co.uk/rfennell/future-of-reporting-on-vsts-with-vsts-analytics/</link><pubDate>Thu, 16 Nov 2017 10:25:38 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/future-of-reporting-on-vsts-with-vsts-analytics/</guid><description>
&lt;p>Reporting has always been important for software development, simply put the ability to know what has been done, and what remains to be done. For many teams the out the box reporting within TFS/VSTS dashboards has been enough e.g. sprint burndowns and kanban charts etc. Also TFS has always had SQL Reporting Services (SSRS) to provide rich reporting on a whole host of areas; though in my experience few clients use the out the box reports or customise their own reports. The lack of SSRS based reporting on VSTS has been a blocking limitation for some clients, preventing their move to VSTS. Also irrespective of peoples past use of custom reports, most people would like an easier way, than SSRS, to produce custom reports and charts. So enter &lt;a href="http://aka.ms/VSTSAnalytics">VSTS Analytics&lt;/a> Microsoft’s new free reporting option for VSTS that provide a host of reporting options for dashboards, Power BI and OData. For a great introduction have a look at Gregg Boer’s Channel9 video &lt;a href="https://channel9.msdn.com/Events/connect/2017/T251">Visual Studio Team Services Reporting: Dashboards, Power BI, and OData&lt;/a>&lt;/p></description></item><item><title>Major update to my CI/CD process for VSTS extensions</title><link>https://blogs.blackmarble.co.uk/rfennell/major-update-to-my-cicd-process-for-vsts-extensions/</link><pubDate>Thu, 09 Nov 2017 12:51:36 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/major-update-to-my-cicd-process-for-vsts-extensions/</guid><description>
&lt;p>As time passes I have found there is a need for more cross platform VSTS extensions as there is more uptake of VSTS beyond it’s historic Microsoft platform based roots.&lt;/p>
&lt;p>Historically most of my extensions have been Powershell based. Now this is not a fundamental problem for cross platform usage. this is due to the availability of  &lt;a href="https://blogs.msdn.microsoft.com/powershell/2017/06/09/getting-started-with-powershell-core-on-windows-mac-and-linux/">Powershell Core&lt;/a>. However, Typescript and Node.JS is a better fit I think in many cases. This has caused me to revise the way I structure my repo and build my VSTS extensions to provide a consistent understandable process. My old Gulp based process  for Typescript was too complex and inconsistent between tasks, it even confused me!  &lt;a href="https://github.com/rfennell/vNextBuild/wiki/Building-the-VSTS-Extensions">My process revisions have been documented in my vNextBuild Github’s WIKI&lt;/a>, so I don’t propose too repeat the bulk of the content here.&lt;/p></description></item><item><title>Moving BM-Bloggers from BlogEngine.NET to WordPress</title><link>https://blogs.blackmarble.co.uk/rfennell/moving-bm-bloggers-from-blogengine-net-to-wordpress/</link><pubDate>Wed, 18 Oct 2017 10:52:28 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/moving-bm-bloggers-from-blogengine-net-to-wordpress/</guid><description>
&lt;p>&lt;a href="https://github.com/rxtur/BlogEngine.NET">BlogEngine.Net&lt;/a> has served us well as a blogging platform for a good few years. However, it is &lt;a href="https://github.com/rxtur/BlogEngine.NET/issues/164">no longer under active support&lt;/a>, so it is time to move on, too much risk of future security issues to ignore the lack of support. After a bit of thought we decided on WordPress as a replacement. OK this has had its own history of problems, but it has an active community and is well supported and in the Azure Marketplace.&lt;/p></description></item><item><title>Restarting VS Code fixed NPM INSTALL intermittent EPERM issues</title><link>https://blogs.blackmarble.co.uk/rfennell/restarting-vs-code-fixed-npm-install-intermittent-eperm-issues/</link><pubDate>Mon, 26 Jun 2017 15:07:02 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/restarting-vs-code-fixed-npm-install-intermittent-eperm-issues/</guid><description>
&lt;p>Whilst doing some NPM build work for VSTS Extensions I kept getting &lt;a href="https://github.com/npm/npm/issues/12059">intermittent EPERM errors about renaming Windows files during NPM install (as discussed on GitHub)l&lt;/a>. When you get this it completely blocks any development.&lt;/p>
&lt;p>As the Github issue discusses there are many possible reasons for this issue, and many proposed potential solutions. However the only one that worked for me was to restart VS Code; as this appeared to be locking the &lt;strong>node_modules&lt;/strong> folder somehow. This was even though I could delete it via Windows Explorer without any problems.&lt;/p></description></item><item><title>Duplicate project GUID blocking SonarQube analysis of Windows 10 Universal Projects</title><link>https://blogs.blackmarble.co.uk/rfennell/duplicate-project-guid-blocking-sonarqube-analysis-of-windows-10-universal-projects/</link><pubDate>Fri, 09 Jun 2017 16:17:52 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/duplicate-project-guid-blocking-sonarqube-analysis-of-windows-10-universal-projects/</guid><description>
&lt;p>I have working on getting a Windows 10 Universal application analysed with SonarQube 6.x as part of a VSTS build. The problem has been that when the VSTS task to complete the SonarQube analysis ran I kept getting an error in the form&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-gdscript3" data-lang="gdscript3">&lt;span class="line">&lt;span class="ln">1&lt;/span>&lt;span class="cl">&lt;span class="n">WARNING&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="n">Duplicate&lt;/span> &lt;span class="n">project&lt;/span> &lt;span class="n">GUID&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;8ace107e-8e3c-4a1b-9920-e76eb1db5e53&amp;#34;&lt;/span>&lt;span class="o">.&lt;/span> &lt;span class="n">Check&lt;/span> &lt;span class="n">that&lt;/span> &lt;span class="n">the&lt;/span> &lt;span class="n">project&lt;/span> &lt;span class="n">is&lt;/span> &lt;span class="n">only&lt;/span> &lt;span class="n">being&lt;/span> &lt;span class="n">built&lt;/span> &lt;span class="k">for&lt;/span> &lt;span class="n">a&lt;/span> &lt;span class="n">single&lt;/span> &lt;span class="n">platform&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">configuration&lt;/span> &lt;span class="ow">and&lt;/span> &lt;span class="n">that&lt;/span> &lt;span class="n">that&lt;/span> &lt;span class="n">the&lt;/span> &lt;span class="n">project&lt;/span> &lt;span class="n">guid&lt;/span> &lt;span class="n">is&lt;/span> &lt;span class="n">unique&lt;/span>&lt;span class="o">.&lt;/span> &lt;span class="n">The&lt;/span> &lt;span class="n">project&lt;/span> &lt;span class="n">will&lt;/span> &lt;span class="ow">not&lt;/span> &lt;span class="n">be&lt;/span> &lt;span class="n">analyzed&lt;/span> &lt;span class="n">by&lt;/span> &lt;span class="n">SonarQube&lt;/span>&lt;span class="o">.&lt;/span> &lt;span class="n">Project&lt;/span> &lt;span class="n">file&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="n">E&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="n">Build1&lt;/span>\&lt;span class="n">_work58sBlackMarble&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">Victory&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">Common&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">Module&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">csproj&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">2&lt;/span>&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">3&lt;/span>&lt;span class="cl">&lt;span class="err">…&lt;/span> &lt;span class="n">plus&lt;/span> &lt;span class="n">loads&lt;/span> &lt;span class="n">more&lt;/span> &lt;span class="n">similar&lt;/span> &lt;span class="n">lines&lt;/span>&lt;span class="o">.&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">4&lt;/span>&lt;span class="cl">&lt;span class="n">The&lt;/span> &lt;span class="n">exclude&lt;/span> &lt;span class="n">flag&lt;/span> &lt;span class="n">has&lt;/span> &lt;span class="n">been&lt;/span> &lt;span class="n">set&lt;/span> &lt;span class="n">so&lt;/span> &lt;span class="n">the&lt;/span> &lt;span class="n">project&lt;/span> &lt;span class="n">will&lt;/span> &lt;span class="ow">not&lt;/span> &lt;span class="n">be&lt;/span> &lt;span class="n">analyzed&lt;/span> &lt;span class="n">by&lt;/span> &lt;span class="n">SonarQube&lt;/span>&lt;span class="o">.&lt;/span> &lt;span class="n">Project&lt;/span> &lt;span class="n">file&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="n">E&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="n">Build1&lt;/span>\&lt;span class="n">_work58sBlackMarble&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">Victory&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">Ux&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">Common&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">csproj&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">5&lt;/span>&lt;span class="cl">&lt;span class="err">…&lt;/span> &lt;span class="n">plus&lt;/span> &lt;span class="n">loads&lt;/span> &lt;span class="n">more&lt;/span> &lt;span class="n">similar&lt;/span> &lt;span class="n">lines&lt;/span>&lt;span class="o">.&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">6&lt;/span>&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">7&lt;/span>&lt;span class="cl">&lt;span class="n">WARNING&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="n">Duplicate&lt;/span> &lt;span class="n">project&lt;/span> &lt;span class="n">GUID&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;1e7b2f4e-6de2-40ab-bff9-a0c63db47ca2&amp;#34;&lt;/span>&lt;span class="o">.&lt;/span> &lt;span class="n">Check&lt;/span> &lt;span class="n">that&lt;/span> &lt;span class="n">the&lt;/span> &lt;span class="n">project&lt;/span> &lt;span class="n">is&lt;/span> &lt;span class="n">only&lt;/span> &lt;span class="n">being&lt;/span> &lt;span class="n">built&lt;/span> &lt;span class="k">for&lt;/span> &lt;span class="n">a&lt;/span> &lt;span class="n">single&lt;/span> &lt;span class="n">platform&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="n">configuration&lt;/span> &lt;span class="ow">and&lt;/span> &lt;span class="n">that&lt;/span> &lt;span class="n">that&lt;/span> &lt;span class="n">the&lt;/span> &lt;span class="n">project&lt;/span> &lt;span class="n">guid&lt;/span> &lt;span class="n">is&lt;/span> &lt;span class="n">unique&lt;/span>&lt;span class="o">.&lt;/span> &lt;span class="n">The&lt;/span> &lt;span class="n">project&lt;/span> &lt;span class="n">will&lt;/span> &lt;span class="ow">not&lt;/span> &lt;span class="n">be&lt;/span> &lt;span class="n">analyzed&lt;/span> &lt;span class="n">by&lt;/span> &lt;span class="n">SonarQube&lt;/span>&lt;span class="o">.&lt;/span> &lt;span class="mi">2017&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="mi">06&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="mi">09&lt;/span>&lt;span class="n">T15&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="mi">50&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="mf">41.9993583&lt;/span>&lt;span class="n">Z&lt;/span> &lt;span class="c1">##\[error\]No analysable projects were found but some duplicate project IDs were found. Possible cause: you are building multiple configurations (e.g. DEBUG|x86 and RELEASE|x64) at the same time, which is not supported by the SonarQube integration. Please build and analyse each configuration individually. &lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">8&lt;/span>&lt;span class="cl">&lt;span class="n">Generation&lt;/span> &lt;span class="n">of&lt;/span> &lt;span class="n">the&lt;/span> &lt;span class="n">sonar&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">properties&lt;/span> &lt;span class="n">file&lt;/span> &lt;span class="n">failed&lt;/span>&lt;span class="o">.&lt;/span> &lt;span class="n">Unable&lt;/span> &lt;span class="n">to&lt;/span> &lt;span class="n">complete&lt;/span> &lt;span class="n">SonarQube&lt;/span> &lt;span class="n">analysis&lt;/span>&lt;span class="o">.&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Turns out the issue was that even though my CI build was only set to create an x86|Debug build the act of creating the .APPX package was causing both x64 and ARM builds to be build too, this was too much for SonarQube as it though I had a multiplatform build..&lt;/p></description></item><item><title>Book your free place at a Global DevOps Bootcamp venue for the 17th June 2017 event</title><link>https://blogs.blackmarble.co.uk/rfennell/book-your-free-place-at-a-global-devops-bootcamp-venue-for-the-17th-june-2017-event/</link><pubDate>Thu, 11 May 2017 19:33:02 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/book-your-free-place-at-a-global-devops-bootcamp-venue-for-the-17th-june-2017-event/</guid><description>
&lt;p>Are you enthused by the all news at &lt;a href="https://build.microsoft.com/">Build 2017&lt;/a>?&lt;/p>
&lt;p>Do you want to find out more about VSTS, DevOps and Continuous Delivery?&lt;/p>
&lt;p>Well why not take the chance to join us on June 17th at Black Marble, or one of the over 25 other venues around the world for the first Global DevOps Bootcamp?&lt;/p>
&lt;p>&lt;a href="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/gdb-logo_%28002%29_%28002%29.png">&lt;img
loading="lazy"
decoding="async"
alt="gdb-logo (002) (002)"
class="image_figure image_internal image_unprocessed"
src="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/gdb-logo_%28002%29_%28002%29_thumb.png"
title="gdb-logo (002) (002)"
/>
&lt;/a>&lt;/p>
&lt;p>The Global DevOps Bootcamp is a free one-day event hosted by local passionate DevOps communities around the globe. Find your local venue on the &lt;a href="http://globaldevopsbootcamp.com/">Global DevOps Bootcamp website&lt;/a> or search for Global DevOps Bootcamp on &lt;a href="https://www.eventbrite.com/d/worldwide/global-devops-bootcamp/">EventBrite&lt;/a>&lt;/p></description></item><item><title>Options migrating TFS to VSTS</title><link>https://blogs.blackmarble.co.uk/rfennell/options-migrating-tfs-to-vsts/</link><pubDate>Wed, 10 May 2017 14:11:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/options-migrating-tfs-to-vsts/</guid><description>
&lt;p>I did an event yesterday on using the &lt;a href="https://www.visualstudio.com/en-us/articles/adopting-vsts">TFS Database Import Service&lt;/a> to do migrations from on premises TFS to VSTS. During the presentation I discussed some of the other migration options available. Not everyone needs a high fidelity migration, bring everything over. Some teams may want to just bring over their current source or just a subset of their source. Maybe they are making a major change in work practices and want to start anew on VSTS. To try to give an idea of the options I have produced this flow chart to help with the choices&lt;/p></description></item><item><title>Debugging Typescript in Visual Studio Code</title><link>https://blogs.blackmarble.co.uk/rfennell/debugging-typescript-in-visual-studio-code/</link><pubDate>Thu, 04 May 2017 19:34:24 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/debugging-typescript-in-visual-studio-code/</guid><description>
&lt;p>&lt;em>This is one of those posts I do as a reminder to myself. I have struggled to get debugging working in VSCode for Typescript files. If I set breakpoints in the underlying generated JavaScript they worked, but did not work if they were set in the Typescript source file. There are loads of walkthroughs and answers on Stackoverflow, but all with that vital little bit (for me) missing. So this is what I needed to do for my usage scenario…&lt;/em>&lt;/p></description></item><item><title>Two new tasks in my Manifest Version VSTS Extension</title><link>https://blogs.blackmarble.co.uk/rfennell/two-new-tasks-in-my-manifest-version-vsts-extension/</link><pubDate>Tue, 02 May 2017 16:04:21 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/two-new-tasks-in-my-manifest-version-vsts-extension/</guid><description>
&lt;p>I have just released a new version of my &lt;a href="https://marketplace.visualstudio.com/items?itemName=richardfennellBM.BM-VSTS-Versioning-Task">VSTS Manifest Version Extension&lt;/a> (1.5.22). This adds two new tasks to the set of versioning tasks in the extension. The complete set now is&lt;/p>
&lt;ul>
&lt;li>VersionAssemblies - sets the version in the assemblyinfo.cs or .vb (used pre build)&lt;/li>
&lt;li>&lt;strong>VersionDotNetCoreAssemblies - sets the version in the *.csproj (used pre build)&lt;/strong>  - cross platform&lt;/li>
&lt;li>VersionAPPX - sets the version in the Package.appxmanifest (used pre build)&lt;/li>
&lt;li>VersionVSIX - sets the version in the source.extension.vsixmanifest (used pre build)&lt;/li>
&lt;li>VersionDacpac - sets the version in a SQL DACPAC (used post build)&lt;/li>
&lt;li>VersionNuspec - sets the version in a Nuget Nuspec file (used pre packing)&lt;/li>
&lt;li>VersionSharePoint - sets the version in a SharePoint 2013/2016/O365 Add-In&lt;/li>
&lt;li>&lt;strong>VersionWix - sets the version in a Wix Project&lt;/strong>&lt;/li>
&lt;/ul>
&lt;p>As with all the other tasks, these new tasks aim to find files recursively to update with a version number extracted from the build number&lt;/p></description></item><item><title>401.1 Permission error with on-premises TFS when accessing the API with a PAT</title><link>https://blogs.blackmarble.co.uk/rfennell/401-1-permission-error-with-on-premises-tfs-when-accessing-the-api-with-a-pat/</link><pubDate>Sat, 29 Apr 2017 15:27:53 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/401-1-permission-error-with-on-premises-tfs-when-accessing-the-api-with-a-pat/</guid><description>
&lt;h3 id="background">Background&lt;/h3>
&lt;p>If you are creating VSTS build extensions you will need to get the build or release’s PAT token if you wish to call the VSTS REST API.&lt;/p>
&lt;p>This is done using a call like this (Node)&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-gdscript3" data-lang="gdscript3">&lt;span class="line">&lt;span class="ln">1&lt;/span>&lt;span class="cl">&lt;span class="n">import&lt;/span> &lt;span class="n">tl&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">require&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s1">&amp;#39;vsts-task-lib/task&amp;#39;&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">2&lt;/span>&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">3&lt;/span>&lt;span class="cl">&lt;span class="k">var&lt;/span> &lt;span class="n">auth&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">tl&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">getEndpointAuthorization&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s1">&amp;#39;SYSTEMVSSCONNECTION&amp;#39;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="bp">false&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">4&lt;/span>&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">5&lt;/span>&lt;span class="cl">&lt;span class="k">if&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="n">auth&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">scheme&lt;/span> &lt;span class="o">===&lt;/span> &lt;span class="s1">&amp;#39;OAuth&amp;#39;&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">6&lt;/span>&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">7&lt;/span>&lt;span class="cl">&lt;span class="k">var&lt;/span> &lt;span class="n">token&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">auth&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">parameters&lt;/span>\&lt;span class="p">[&lt;/span>&lt;span class="s1">&amp;#39;AccessToken&amp;#39;&lt;/span>\&lt;span class="p">];&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>or (PowerShell)&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="ln">1&lt;/span>&lt;span class="cl">$vssEndPoint = Get-ServiceEndPoint -Name &amp;#34;SystemVssConnection&amp;#34; -Context $distributedTaskContext
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">2&lt;/span>&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">3&lt;/span>&lt;span class="cl">$personalAccessToken = $vssEndpoint.Authorization.Parameters.AccessToken
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>You pop the resultant PAT into the headers of your REST web request and you are away and running.&lt;/p></description></item><item><title>Rik and my ‘Living the Dream - real world DevOps’ session available on YouTube</title><link>https://blogs.blackmarble.co.uk/rfennell/rik-and-my-living-the-dream-real-world-devops-session-available-on-youtube/</link><pubDate>Fri, 28 Apr 2017 10:18:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/rik-and-my-living-the-dream-real-world-devops-session-available-on-youtube/</guid><description>
&lt;p>&lt;a href="https://blogs.blackmarble.co.uk/blogs/rhepworth">Rik Hepworth&lt;/a> and myself have been doing our ‘Living the Dream – Real world DevOps with VSTS and ARM’ at a good few events over the past few months.&lt;/p>
&lt;p>We now, at last, have a recording of a version of it up on &lt;a href="http://bit.ly/BMDevOpsPL">Black Marble YouTube Channel’s DevOps Playlist&lt;/a>&lt;/p>
&lt;p>Enjoy….&lt;/p></description></item><item><title>Still spaces available for the Leeds venue of the Global DevOps Bootcamp</title><link>https://blogs.blackmarble.co.uk/rfennell/still-spaces-available-for-the-leeds-venue-of-the-global-devops-bootcamp/</link><pubDate>Tue, 25 Apr 2017 11:59:55 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/still-spaces-available-for-the-leeds-venue-of-the-global-devops-bootcamp/</guid><description>
&lt;p>There are still spaces available at the Black Marble hosted venue for the &lt;a href="http://globaldevopsbootcamp.com">Global DevOps Bootcamp&lt;/a> on the 17th of June&lt;/p>
&lt;p>&lt;img
loading="lazy"
decoding="async"
alt="image"
class="image_figure image_internal image_unprocessed"
src="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_342.png"
/>
&lt;/p>
&lt;p>&lt;a href="https://www.eventbrite.com/e/global-devops-bootcamp-black-marble-tickets-32433470383?aff=es2">If you are interested register here&lt;/a>&lt;/p></description></item><item><title>Presenting at an event in Leeds - Making it easy to migrate your ALM process to the Cloud</title><link>https://blogs.blackmarble.co.uk/rfennell/presenting-at-an-event-in-leeds-making-it-easy-to-migrate-your-alm-process-to-the-cloud/</link><pubDate>Tue, 25 Apr 2017 11:54:46 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/presenting-at-an-event-in-leeds-making-it-easy-to-migrate-your-alm-process-to-the-cloud/</guid><description>
&lt;p>Do you find your TFS server gets forgotten?&lt;/p>
&lt;ul>
&lt;li>It is not owned by the IT department and the Development team don’t have the time to support it fully, it never gets patched or upgrades?&lt;/li>
&lt;li>Or maybe you are adopting a cloud first strategy for all you systems?&lt;/li>
&lt;/ul>
&lt;p>Well maybe it is time to consider moving your on-premises TFS instance to VSTS?&lt;/p>
&lt;p>On the 9th of May at the Crowne Plaza Hotel in Leeds I will be presenting at a Black Marble /Microsoft event where we will be looking at Microsoft’s new high fidelity &lt;a href="https://www.visualstudio.com/en-us/articles/migration-overview">VSTS database import tools that can be used to move a TFS instance to VSTS&lt;/a>.&lt;/p></description></item><item><title>On RadioTFS again</title><link>https://blogs.blackmarble.co.uk/rfennell/on-radiotfs-again/</link><pubDate>Thu, 20 Apr 2017 07:12:18 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/on-radiotfs-again/</guid><description>
&lt;p>&lt;a href="http://blogs.blackmarble.co.uk/blogs/author/rik">Rik&lt;/a> and myself had a great time fun last night chatting all things ALM and DevOps with Greg Duncan on &lt;a href="http://radiotfs.com/Show/136">RadioTFS show 136&lt;/a>. I was amazed it was a year since I was last on.&lt;/p>
&lt;p>The Podcast is now up at &lt;a href="https://t.co/BSBtF9eo5z">http://radiotfs.com/Show/136&lt;/a> , why not have a listen&lt;/p></description></item><item><title>New Cross Platform version of my Generate Release Notes VSTS Extension</title><link>https://blogs.blackmarble.co.uk/rfennell/new-cross-platform-version-of-my-generate-release-notes-vsts-extension/</link><pubDate>Wed, 12 Apr 2017 17:17:06 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/new-cross-platform-version-of-my-generate-release-notes-vsts-extension/</guid><description>
&lt;p>My &lt;a href="https://marketplace.visualstudio.com/items?itemName=richardfennellBM.BM-VSTS-GenerateReleaseNotes-Task">Generate Release Notes VSTS extension&lt;/a> has been my most popular by a long way. I have enhanced it, with the help of others via pull requests, but there have been two repeating common questions that have not been resolved&lt;/p>
&lt;ol>
&lt;li>Is it cross platform?&lt;/li>
&lt;li>Why does it show different work items and commit associations to the VSTS Release Status UI?&lt;/li>
&lt;/ol>
&lt;p>Well the answer to the first is that the core of the logic for the extension came from a PowerShell script we used internally, so PowerShell was the obvious first platform, especially as though my PowerShell skills are not great, my Node was weaker!&lt;/p></description></item><item><title>VSTS Build Task Development - Now that is a misleading error message !</title><link>https://blogs.blackmarble.co.uk/rfennell/vsts-build-task-development-now-that-is-a-misleading-error-message/</link><pubDate>Sun, 02 Apr 2017 15:00:43 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/vsts-build-task-development-now-that-is-a-misleading-error-message/</guid><description>
&lt;p>I have been working on a new Node.JS based VSTS Build Extension, so loads of Node learning going on as it is a language I have not done much with in the past. I expect to get caught out in places, but I have just wasted a good few hours on this one!&lt;/p>
&lt;p>I am working in VS Code using Typescript to generate my Node based task. Whilst hacking around I have been just running the script in the VS Code debugger, getting the logic right before packaging it up and testing within a VSTS Build extension.&lt;/p></description></item><item><title>Migrating projects from CodePlex to GitHub due to CodePlex shutting down at the end of year</title><link>https://blogs.blackmarble.co.uk/rfennell/migrating-projects-from-codeplex-to-github-due-to-codeplex-shutting-down-at-the-end-of-year/</link><pubDate>Sun, 02 Apr 2017 09:26:43 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/migrating-projects-from-codeplex-to-github-due-to-codeplex-shutting-down-at-the-end-of-year/</guid><description>
&lt;p>It has just been &lt;a href="https://blogs.msdn.microsoft.com/bharry/2017/03/31/shutting-down-codeplex/">announced by Microsoft that it’s Open Source service CodePlex is shutting down&lt;/a> before the end of the year. The reality is that the Microsoft focused Open Source community, and Microsoft itself, have moved to GitHub a good while ago.&lt;/p>
&lt;p>I think I, like most developers, have moved any &lt;a href="http://github.com/rfennell">active Open Source projects to GitHub&lt;/a> a good while ago,  but I still had legacy ones on CodePlex.&lt;/p>
&lt;p>Microsoft have provided a &lt;a href="https://codeplex.codeplex.com/wikipage?title=Migrating%20to%20GitHub">nicely documented process to move the key assets of projects&lt;/a>, whether TFVC or Git based, to GitHub. This process worked for me. However, I will suggest a could of changes/additions&lt;/p></description></item><item><title>Leeds venue for the Global DevOps Bootcamp</title><link>https://blogs.blackmarble.co.uk/rfennell/leeds-venue-for-the-global-devops-bootcamp/</link><pubDate>Thu, 16 Mar 2017 13:02:17 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/leeds-venue-for-the-global-devops-bootcamp/</guid><description>
&lt;p>&lt;a href="http://globaldevopsbootcamp.com/">&lt;img
loading="lazy"
decoding="async"
alt="image"
class="image_figure image_internal image_unprocessed"
src="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_342.png"
title="image"
/>
&lt;/a>&lt;/p>
&lt;p>I m really pleased to say that we at Black Marble are hosting a Yorkshire venue for the upcoming &lt;a href="http://globaldevopsbootcamp.com/">Global DevOps Bootcamp&lt;/a>, to quote the main bootcamp site…&lt;/p>
&lt;p>&lt;em>“Global DevOps Bootcamp is a global event that will be held on Saturday June 17th and is all about DevOps on the Microsoft Stack. Centrally organized by&lt;/em> &lt;a href="https://xpirit.com/">&lt;em>Xpirit&lt;/em>&lt;/a> &lt;em>and&lt;/em> &lt;a href="http://www.solidify.se/">&lt;em>Solidify&lt;/em>&lt;/a> &lt;em>and offered to you by&lt;/em> &lt;a href="http://www.blackmarble.co.uk/">&lt;em>Black Marble&lt;/em>&lt;/a>&lt;em>. During this 1-day event we will join (Microsoft) DevOps communities all around the world to talk, learn and play with DevOps concepts.&lt;/em>&lt;/p></description></item><item><title>Speaking at VS2017 launch event in Dublin on the 30th</title><link>https://blogs.blackmarble.co.uk/rfennell/speaking-at-vs2017-launch-event-in-dublin-on-the-30th/</link><pubDate>Sat, 11 Mar 2017 17:08:57 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/speaking-at-vs2017-launch-event-in-dublin-on-the-30th/</guid><description>
&lt;p>I am speaking “Any Developer, Any App, Any Platform” a Visual Studio 2017 Launch Event at Microsoft’s offices in Dublin on the 30th of this month.&lt;/p>
&lt;p>A bit of a departure for me I will be speaking on Xamarin, makes a change&lt;/p>
&lt;p>&lt;a href="http://bit.ly/VS2017LaunchMSIE">To register see the event site&lt;/a>&lt;/p></description></item><item><title>Speaking at the SharePoint Usergroup (Leeds) on Modern ALM &amp;amp; DevOps</title><link>https://blogs.blackmarble.co.uk/rfennell/speaking-at-the-sharepoint-usergroup-leeds-on-modern-alm-devops/</link><pubDate>Mon, 13 Feb 2017 17:05:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/speaking-at-the-sharepoint-usergroup-leeds-on-modern-alm-devops/</guid><description>
&lt;p>Pleased to say I'm presenting on DevOps with VSTS at the SharePoint UG in Leeds on the 7th of March&lt;/p>
&lt;p>To register have a look at the &lt;a href="http://www.suguk.org/Event.aspx?id=31150012526">Usergroup's events site&lt;/a>&lt;/p></description></item><item><title>You never know how people will use a tool</title><link>https://blogs.blackmarble.co.uk/rfennell/you-never-know-how-people-will-use-a-tool/</link><pubDate>Tue, 07 Feb 2017 19:57:28 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/you-never-know-how-people-will-use-a-tool/</guid><description>
&lt;p>You never know how people will use a tool once it is out ‘in the wild’. I wrote my &lt;a href="https://marketplace.visualstudio.com/items?itemName=richardfennellBM.BM-VSTS-GenerateReleaseNotes-Task">Generate Release Notes VSTS&lt;/a> extension to generate markdown files, but people have attempted to use it in other ways.&lt;/p>
&lt;p>I realised, via an issue raised on &lt;a href="https://github.com/rfennell/vNextBuild/issues/73">Github&lt;/a>, that it can also be used, without any code changes, to generate other formats such as HTML. The only change required is to provide an HTML based template as opposed to markdown one.&lt;/p></description></item><item><title>How you can keep using Lab Management after a move to VSTS (after a fashion)</title><link>https://blogs.blackmarble.co.uk/rfennell/how-you-can-keep-using-lab-management-after-a-move-to-vsts-after-a-fashion/</link><pubDate>Mon, 06 Feb 2017 17:50:38 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/how-you-can-keep-using-lab-management-after-a-move-to-vsts-after-a-fashion/</guid><description>
&lt;p>I have posted on previously how we used &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/?tag=Lab&amp;#43;Management">TFS Lab Management&lt;/a> to provision our test and development environments. &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/post/2017/01/03/A-nice-relaxing-Christmas-break-%28and-by-the-way-I-migrated-our-on-premises-TFS-to-VSTS-as-well%29">With our move to VSTS&lt;/a>, where Lab Management does not exist, we needed to look again at how to provision these labs. There are a few options…&lt;/p>
&lt;h3 id="move-to-the-cloud--aka-stop-using-lab-management">Move to the Cloud – aka stop using Lab Management&lt;/h3>
&lt;p>Arguably the best option is to move all your lab VMs up to the cloud. Microsoft even has the specific service to help with this &lt;a href="https://azure.microsoft.com/en-gb/services/devtest-lab/">Azure DevTest Labs&lt;/a>. This service allows you to create single VMs or sets of VMs for more complex scenarios &lt;a href="https://azure.microsoft.com/en-gb/blog/announcing-azure-devtest-labs-support-for-creating-environment-with-arm-templates/">using of ARM templates&lt;/a>.&lt;/p></description></item><item><title>I’m on @techstringy podcast talking on #DevOps</title><link>https://blogs.blackmarble.co.uk/rfennell/im-on-techstringy-podcast-talking-on-devops/</link><pubDate>Mon, 06 Feb 2017 12:01:03 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/im-on-techstringy-podcast-talking-on-devops/</guid><description>
&lt;p>I recorded a podcast on DevOps with &lt;a href="https://techstringy.wordpress.com">Paul Stringfellow&lt;/a> &lt;a href="https://twitter.com/techstringy">@techstringy&lt;/a> last weeks Black Marble event. It has just been &lt;a href="https://techstringy.wordpress.com/2017/02/06/release-your-inner-dev-child-with-devops-richard-fennell-ep-14/">published on his blog&lt;/a>&lt;/p></description></item><item><title>New version of my Parameters.Xml Generator Visual Studio add-in now supports VS2017 too</title><link>https://blogs.blackmarble.co.uk/rfennell/new-version-of-my-parameters-xml-generator-visual-studio-add-in-now-supports-vs2017-too/</link><pubDate>Sun, 29 Jan 2017 22:39:58 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/new-version-of-my-parameters-xml-generator-visual-studio-add-in-now-supports-vs2017-too/</guid><description>
&lt;p>I have just published Version 1.5 of my &lt;a href="https://marketplace.visualstudio.com/items?itemName=RichardFennellMVP.ParametersXmlGenerator">Parameters.Xml Generator Visual Studio add-in&lt;/a> . After much fiddling this VSIX now supports VS2017 as well as VS2013 and VS2015.&lt;/p>
&lt;p>The complexity was that VS2017 uses a new VSIX format, V3. You have to makes changes to the project that generates the VSIX and to the VSIX manifest too. The &lt;a href="https://docs.microsoft.com/en-us/visualstudio/extensibility/faq-2017#why-does-the-vsixinstaller-now-wait-for-processes-to-exit-before-installing-the-vsix">FAQ&lt;/a> says you can do this within VS2015 my hand, but I had no luck getting it right. The recommended option, and the method I used, is to &lt;a href="https://docs.microsoft.com/en-us/visualstudio/extensibility/how-to-migrate-extensibility-projects-to-visual-studio-2017">upgrade your solution to VS2017&lt;/a> (or the RC at the time of writing as the product has not RTM’d yet).&lt;/p></description></item><item><title>Can’t add users to a VSTS instance backed by an Azure Directory</title><link>https://blogs.blackmarble.co.uk/rfennell/cant-add-users-to-a-vsts-instance-backed-by-an-azure-directory/</link><pubDate>Thu, 26 Jan 2017 21:00:59 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/cant-add-users-to-a-vsts-instance-backed-by-an-azure-directory/</guid><description>
&lt;p>I have a VSTS instance that is &lt;a href="https://www.visualstudio.com/en-us/docs/setup-admin/team-services/manage-organization-access-for-your-account-vs">backed by an Azure Directory&lt;/a>. This is a great way to help secure a VSTS instance, only users in the Azure Directory can be added to VSTS, not just any old MSA (LiveIDs). This is a directory that can be shared with any other Azure based services such as O365, and centrally managed and linked to an on-premises Active Directory.&lt;/p>
&lt;p>When I tried to add a user to VSTS, one that was a valid user in the Azure Directory, their account did not appear in the available users drop down.&lt;/p></description></item><item><title>Version 2.0.x of my Generate Release Notes VSTS Task has been released with release rollup support</title><link>https://blogs.blackmarble.co.uk/rfennell/version-2-0-x-of-my-generate-release-notes-vsts-task-has-been-released-with-release-rollup-support/</link><pubDate>Thu, 05 Jan 2017 13:02:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/version-2-0-x-of-my-generate-release-notes-vsts-task-has-been-released-with-release-rollup-support/</guid><description>
&lt;p>I have just released a major update to my &lt;a href="https://marketplace.visualstudio.com/items?itemName=richardfennellBM.BM-VSTS-GenerateReleaseNotes-Task">Generate Release Notes VSTS Build extension&lt;/a>. This V2 update adds support to look back into past releases to find when there was a successful release to a given stage/environment and creates a rollup set of build artifacts, and hence commits/changesets and workitems, in the release notes.&lt;/p>
&lt;p>
&lt;img
loading="lazy"
decoding="async"
alt=""
class="image_figure image_external image_processed"
width="253"
height="281"
src="https://blogs.blackmarble.co.uk/images/0f35c0d0-6307-11e6-8d3e-afff88108348_5911799910306356392.png"
/>
&lt;/p>
&lt;p>This has been &lt;a href="https://github.com/rfennell/vNextBuild/issues/34">a long running request on GitHub for this extension&lt;/a> which I am pleased to have been able to address.&lt;/p></description></item><item><title>A nice relaxing Christmas break (and by the way I migrated our on-premises TFS to VSTS as well)</title><link>https://blogs.blackmarble.co.uk/rfennell/a-nice-relaxing-christmas-break-and-by-the-way-i-migrated-our-on-premises-tfs-to-vsts-as-well/</link><pubDate>Tue, 03 Jan 2017 20:12:15 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/a-nice-relaxing-christmas-break-and-by-the-way-i-migrated-our-on-premises-tfs-to-vsts-as-well/</guid><description>
&lt;p>Over the Christmas break I migrated our on premises TFS 2015 instance to VSTS. The reason for the migration was multi-fold:&lt;/p>
&lt;ul>
&lt;li>We were blocked on moving to TFS 2017 as we could not easily upgrade our SQL cluster to SQL 2014&lt;/li>
&lt;li>We wanted to be on the latest, greatest and newest features of VSTS/TFS&lt;/li>
&lt;li>We wanted to get away from having to perform on-premises updates every few months&lt;/li>
&lt;/ul>
&lt;p>To do the migration we used &lt;a href="https://blogs.msdn.microsoft.com/visualstudioalm/2016/11/16/import-your-tfs-database-into-visual-studio-team-services/">the public preview of the TFS to VSTS Migrator&lt;/a>.&lt;/p></description></item><item><title>My TFSAlertsDSL project has moved to GitHub and become VSTSServiceHookDsl</title><link>https://blogs.blackmarble.co.uk/rfennell/my-tfsalertsdsl-project-has-moved-to-github-and-become-vstsservicehookdsl/</link><pubDate>Wed, 21 Dec 2016 20:51:44 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/my-tfsalertsdsl-project-has-moved-to-github-and-become-vstsservicehookdsl/</guid><description>
&lt;h3 id="introduction">Introduction&lt;/h3>
&lt;p>A while ago I create the &lt;a href="https://tfsalertsdsl.codeplex.com">TFSAlertsDSL project&lt;/a> to provide a means to script responses to TFS Alert SOAP messages using Python. The SOAP Alert technology has been overtaken by time with the move to &lt;a href="https://www.visualstudio.com/en-us/docs/integrate/get-started/service-hooks/get-started">Service Hooks&lt;/a>.&lt;/p>
&lt;p>So I have taken the time to move this project over to the newer technology, which is supported both on TFS 2015 (onwards) and VSTS. I also took the chance to move from CodePlex to &lt;a href="https://github.com/rfennell/VSTSServiceHookDsl">GitHub and renamed the project to VSTSServiceHookDsl&lt;/a>.&lt;/p></description></item><item><title>Transform tool for transferring TFS 2015.3 Release Templates to VSTS</title><link>https://blogs.blackmarble.co.uk/rfennell/transform-tool-for-transferring-tfs-2015-3-release-templates-to-vsts/</link><pubDate>Tue, 20 Dec 2016 21:58:10 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/transform-tool-for-transferring-tfs-2015-3-release-templates-to-vsts/</guid><description>
&lt;p>If you are moving from on-premises TFS to VSTS you might hit the same problem I have just have. The structure of a VSTS releases is changing, there is now the concept of multiple ‘Deployment Steps’ in an environment. This means you can use a number of different agents for a single environment – a good thing.&lt;/p>
&lt;p>The downside this that if you export a TFS2015.3 release process and try to import it to VSTS it will fail saying the JSON format is incorrect.&lt;/p></description></item><item><title>Deleting unwanted orphan XAML Build Controllers on a migrated VSTS instance</title><link>https://blogs.blackmarble.co.uk/rfennell/deleting-unwanted-orphan-xaml-build-controllers-on-a-migrated-vsts-instance/</link><pubDate>Tue, 20 Dec 2016 21:55:03 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/deleting-unwanted-orphan-xaml-build-controllers-on-a-migrated-vsts-instance/</guid><description>
&lt;p>Whilst working with the &lt;a href="https://blogs.msdn.microsoft.com/visualstudioalm/2016/11/16/import-your-tfs-database-into-visual-studio-team-services/">VSTS Data Import Service&lt;/a> I ended up migrating a TFS TPC up to VSTS that had an old XAML Build Controller defined. I did not need this XAML build controller, in fact I needed to remove it because it was using my free private build controller slot. Problem was I could not find a way to remove it via the VSTS (or Visual Studio Team Explorer) UI, and the VM that had been running the build controller was long gone.&lt;/p></description></item><item><title>Problem adding external AAD user to a directory backed VSTS instance</title><link>https://blogs.blackmarble.co.uk/rfennell/problem-adding-external-aad-user-to-a-directory-backed-vsts-instance/</link><pubDate>Wed, 30 Nov 2016 21:31:36 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/problem-adding-external-aad-user-to-a-directory-backed-vsts-instance/</guid><description>
&lt;h3 id="background">Background&lt;/h3>
&lt;p>I recently decided to change one of my VSTS instance to be directory backed. What this means is that in the past users logged in using LiveIDs (MSAs by their new name); once the VSTS instance was linked to an Azure Active Directory (AAD), via the Azure portal, they could login only if&lt;/p>
&lt;ul>
&lt;li>they were using an account in the AAD&lt;/li>
&lt;li>their MSA was listed as a guest in the AAD&lt;/li>
&lt;li>they used a work ID in another AAD that is listed as a guest in my AAD&lt;/li>
&lt;/ul>
&lt;p>Thus giving me centralised user management.&lt;/p></description></item><item><title>You can now manage complex ARM based environments in Azure DevTest Labs</title><link>https://blogs.blackmarble.co.uk/rfennell/you-can-now-manage-complex-arm-based-environments-in-azure-devtest-labs/</link><pubDate>Tue, 29 Nov 2016 13:42:39 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/you-can-now-manage-complex-arm-based-environments-in-azure-devtest-labs/</guid><description>
&lt;p>&lt;a href="https://azure.microsoft.com/en-gb/services/devtest-lab/">Azure DevTest Labs&lt;/a> has been available for a while and I &lt;a href="https://blogs.blackmarble.co.uk/blogs/rfennell/post/2016/05/27/Easier-management-of-DevTest-VMs-with-Azure-DevTest-Labs">have found it a good way&lt;/a> to make sure I control costs of VMs i.e. making sure they are shutdown outside office hours. However, in the past, have had a major limitation for me that they only allowed templates that contained a single VM. You could group these together but it was bit awkward.&lt;/p>
&lt;p>Well at &lt;a href="https://blogs.msdn.microsoft.com/devtestlab/2016/11/16/connect-2016-news-for-azure-devtest-labs-azure-resource-manager-template-based-environments-vm-auto-shutdown-and-more/">Connect() it was announced&lt;/a> that there is now complex ARM template support. So you can now build multi-VM environment that simulate the environments you need to work on as a single unit.&lt;/p></description></item><item><title>There are now no excuses for not using Continuous Delivery from VSTS for Azure Web Apps</title><link>https://blogs.blackmarble.co.uk/rfennell/there-are-now-no-excuses-for-not-using-continuous-delivery-from-vsts-for-azure-web-apps/</link><pubDate>Wed, 23 Nov 2016 23:02:38 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/there-are-now-no-excuses-for-not-using-continuous-delivery-from-vsts-for-azure-web-apps/</guid><description>
&lt;p>One type of feature I hate people demoing in any IDE, especially Visual Studio, is the ‘just click here to publish to live from the developers PC’. This is just not good practice, we want to encourage a good DevOps process with&lt;/p>
&lt;ul>
&lt;li>Source Control&lt;/li>
&lt;li>Automated build&lt;/li>
&lt;li>Automated release with approvals&lt;/li>
&lt;/ul>
&lt;p>The problem is, this can all be a bit much for people, it takes work and knowledge, and that right click is just too tempting.&lt;/p></description></item><item><title>As announced at Connect() there is now a tool to fully migrate an on-premises TFS to VSTS</title><link>https://blogs.blackmarble.co.uk/rfennell/as-announced-at-connect-there-is-now-a-tool-to-fully-migrate-an-on-premises-tfs-to-vsts/</link><pubDate>Wed, 16 Nov 2016 16:47:14 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/as-announced-at-connect-there-is-now-a-tool-to-fully-migrate-an-on-premises-tfs-to-vsts/</guid><description>
&lt;p>I am often asked asked ‘How can I move my TFS installation to VSTS?’&lt;/p>
&lt;p>In the past the only real answer I  had was the consultant’s answer ‘it depends’. There were options, but they all ended up losing fidelity i.e. that the history of past changes got removed or altered in some manner. For many companies the implication of such changes meant they stayed on-premises; with all the regular backups, updates and patch running the use of any on-premises service entails.&lt;/p></description></item><item><title>Changes to LiveID/MSA and what I have done about it to get around the new domain limitations</title><link>https://blogs.blackmarble.co.uk/rfennell/changes-to-liveidmsa-and-what-i-have-done-about-it-to-get-around-the-new-domain-limitations/</link><pubDate>Wed, 09 Nov 2016 16:44:30 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/changes-to-liveidmsa-and-what-i-have-done-about-it-to-get-around-the-new-domain-limitations/</guid><description>
&lt;h3 id="what-are-the-changes-in-allowed-email-addresses-in-msas">What are the changes in allowed email addresses in MSAs?&lt;/h3>
&lt;p>You may or may not have noticed that there has been a recent change in LiveID (or Microsoft Account MSA as they are now called). In the past you could create a MSA using an existing email address e.g. &lt;a href="mailto:richard@mydomain.co.uk">richard@mydomain.co.uk&lt;/a> . This is no longer an option. If you try to create a new MSA with a non Microsoft (outlook.com/hotmal.com) email they are blocked saying &lt;em>‘This email is part of a reserved domain. Please enter a different email address’&lt;/em>.&lt;/p></description></item><item><title>Can’t login to OneDrive desktop application on Windows 10</title><link>https://blogs.blackmarble.co.uk/rfennell/cant-login-to-onedrive-desktop-application-on-windows-10/</link><pubDate>Tue, 25 Oct 2016 09:47:56 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/cant-login-to-onedrive-desktop-application-on-windows-10/</guid><description>
&lt;p>Whilst I have been on holiday my PC has been switched off and in a laptop bag. This did not seem to stopped me getting problems when I tried to use it again…&lt;/p>
&lt;ul>
&lt;li>Outlook could not sync to O365 – turns out there had been some changes in our hybrid Exchange infrastructure, I just need to restart/patch the PC on our company LAN to pick up all the new group policy settings etc.&lt;/li>
&lt;li>Could not login to OneDrive getting a script error &lt;strong>&lt;a href="https://auth.gfx.ms/16.000.26657.00/DefaultLogin_Core.js">https://auth.gfx.ms/16.000.26657.00/DefaultLogin_Core.js&lt;/a>&lt;/strong>&lt;/li>
&lt;/ul>
&lt;p>&lt;a href="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_329.png">&lt;img
loading="lazy"
decoding="async"
alt="image"
class="image_figure image_internal image_unprocessed"
src="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_thumb_324.png"
title="image"
/>
&lt;/a>&lt;/p></description></item><item><title>My video about DevOps with VSTS has been published on Channel9</title><link>https://blogs.blackmarble.co.uk/rfennell/my-video-about-devops-with-vsts-has-been-published-on-channel9/</link><pubDate>Mon, 24 Oct 2016 16:44:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/my-video-about-devops-with-vsts-has-been-published-on-channel9/</guid><description>
&lt;p>I have been on holiday in Nepal for a couple of weeks; trekking to Annapurna Base Camp&lt;/p>
&lt;p>&lt;a href="https://blogs.blackmarble.co.uk/blogs/rfennell/image.axd?picture=IMG_0020_1.jpg">&lt;img
loading="lazy"
decoding="async"
alt="IMG_0020"
class="image_figure image_internal image_unprocessed"
src="https://blogs.blackmarble.co.uk/blogs/rfennell/image.axd?picture=IMG_0020_thumb_1.jpg"
title="IMG_0020"
/>
&lt;/a>&lt;/p>
&lt;p>Whilst I was ‘off the grid’ a video I made on using the tools within &lt;a href="https://channel9.msdn.com/events/TechDaysOnline/UK-TechDays-Online-2016/A-whistle-stop-tour-of-Visual-Studio-Team-Services-and-DevOps">VSTS to build a DevOps pipeline got published on Channel9&lt;/a>&lt;/p>
&lt;p>Hope you find it useful&lt;/p>
&lt;p>&lt;strong>Note to myself&lt;/strong>: In the future I must make sure I have my eyes open for the landing screen. - Now fixed thanks to the CH9 curators&lt;/p></description></item><item><title>Devils with Arms and Cats - the new name for DevOps?</title><link>https://blogs.blackmarble.co.uk/rfennell/devils-with-arms-and-cats-the-new-name-for-devops/</link><pubDate>Sun, 02 Oct 2016 10:10:01 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/devils-with-arms-and-cats-the-new-name-for-devops/</guid><description>
&lt;p>Great day at &lt;a href="http://www.dddnorth.co.uk/">DDDNorth&lt;/a> yesterday, hope everyone enjoyed it. Thanks to all the team who helped during the preparation and on the day.&lt;/p>
&lt;p>The slides from &lt;a href="http://blogs.blackmarble.co.uk/blogs/rhepworth">Rik Hepworth&lt;/a> and my presentation on ‘_Living the dream - Real world DevOps with Azure and VSTS’ are up at &lt;a href="http://bit.ly/2cIAiz7" title="http://bit.ly/2cIAiz7">Github&lt;/a>. _&lt;/p>
&lt;p>We were a late stand in session  to cover for a presenter who could not attend on the day. So I hope it was not too much of let down, that we were not the speaker on the agenda, covered a different subject and did not match the title the spell checker converted out session title too. Though ‘Devils with Arms and Cats’  is maybe a good term for DevOps?&lt;/p></description></item><item><title>My DevTest Labs video is up on Channel9</title><link>https://blogs.blackmarble.co.uk/rfennell/my-devtest-labs-video-is-up-on-channel9/</link><pubDate>Thu, 29 Sep 2016 18:54:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/my-devtest-labs-video-is-up-on-channel9/</guid><description>
&lt;p>The video of my session at TechDays online is now &lt;a href="https://channel9.msdn.com/events/TechDaysOnline/UK-TechDays-Online-September-2016/DevTest-in-the-Cloud-with-Azure-and-Friends">available on Channel9&lt;/a>, along with all the &lt;a href="https://channel9.msdn.com/Events/TechDaysOnline/UK-TechDays-Online-September-2016">TechDay Online UK content&lt;/a>&lt;/p>
&lt;p>Enjoy…&lt;/p></description></item><item><title>Running Test Suites within a network Isolated Lab Management environment when using TFS vNext build and release tooling</title><link>https://blogs.blackmarble.co.uk/rfennell/running-test-suites-within-a-network-isolated-lab-management-environment-when-using-tfs-vnext-build-and-release-tooling/</link><pubDate>Tue, 27 Sep 2016 19:17:18 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/running-test-suites-within-a-network-isolated-lab-management-environment-when-using-tfs-vnext-build-and-release-tooling/</guid><description>
&lt;p>&lt;em>&lt;strong>Updated 27 Sep 2016&lt;/strong>: Added solutions to known issues&lt;/em>&lt;/p>
&lt;h3 id="background">Background&lt;/h3>
&lt;p>As I have &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/?tag=Lab&amp;#43;Management">posted many times&lt;/a> we make use of TFS Lab Management to provide network isolated dev/test environments. Going forward I see us moving to &lt;a href="https://azure.microsoft.com/en-gb/services/devtest-lab/">Azure Dev Labs&lt;/a> and/or &lt;a href="https://azure.microsoft.com/en-gb/overview/azure-stack/">Azure Stack&lt;/a> with &lt;a href="https://azure.microsoft.com/en-gb/documentation/templates/">ARM templates&lt;/a>, but that isn’t going to help me today, especially when I have already made the investment in setting up a Lab Management environments and they are ready to use.&lt;/p></description></item><item><title>If I add a custom field to a VSTS work item type what is it’s name?</title><link>https://blogs.blackmarble.co.uk/rfennell/if-i-add-a-custom-field-to-a-vsts-work-item-type-what-is-its-name/</link><pubDate>Fri, 23 Sep 2016 16:08:22 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/if-i-add-a-custom-field-to-a-vsts-work-item-type-what-is-its-name/</guid><description>
&lt;p>The process customisation options in VSTS are now fairly extensive. &lt;a href="https://www.visualstudio.com/en-us/docs/work/process/customize-process">You can add fields, states and custom items&lt;/a>, making VSTS is ‘very possible’ option for many more people.&lt;/p>
&lt;p>As well as the obvious uses of this customisation such as storing more data or matching your required process, customisation can also aid in migrating work items into VSTS from other VSTS instances, or on-premises TFS.&lt;/p>
&lt;p>Whether using &lt;a href="https://tfsintegration.codeplex.com/">TFS Integration&lt;/a> (now with no support – beware) or &lt;a href="https://github.com/nkdAgility/vsts-data-bulk-editor">Martin Hinshelwood’s vsts-data-bulk-editor&lt;/a> (an active open source solution so probably a much better choice for most people) as &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/post/2016/06/20/Migrating-a-TFS-TFVC-team-project-to-a-Git-team-project">mentioned in my past post&lt;/a> you need to add a custom field on the target VSTS server to contain the original work item ID. Commonly called &lt;strong>ReflectedWorkItemId&lt;/strong>&lt;/p></description></item><item><title>Typemock have released official VSTS build extension</title><link>https://blogs.blackmarble.co.uk/rfennell/typemock-have-released-official-vsts-build-extension/</link><pubDate>Mon, 12 Sep 2016 21:17:35 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/typemock-have-released-official-vsts-build-extension/</guid><description>
&lt;p>Typemock have just released an &lt;a href="https://marketplace.visualstudio.com/items?itemName=Typemock.Typemock-Tasks">official VSTS build extension to run Typemock Isolator based tests&lt;/a>. Given there is now an official extension I have decided to deprecate mine, &lt;a href="https://marketplace.visualstudio.com/items?itemName=richardfennellBM.BM-VSTS-TypeMockRunner-Task">it is still available in the Marketplace&lt;/a> but I would recommend using the official one &lt;/p>
&lt;p>The new Typemock extension includes two tasks&lt;/p>
&lt;h3 id="smartrunner-task">SmartRunner Task&lt;/h3>
&lt;p>The SmartRunner is a unit test runner, that can run nunit and mstest based tests. It handles the deployment of Typemock Isolator.  SmartRunner can run on both Shared and On Premises Agents&lt;/p></description></item><item><title>Fix for my Docker image create dates being 8 hours in the past</title><link>https://blogs.blackmarble.co.uk/rfennell/fix-for-my-docker-image-create-dates-being-8-hours-in-the-past/</link><pubDate>Wed, 24 Aug 2016 20:18:10 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/fix-for-my-docker-image-create-dates-being-8-hours-in-the-past/</guid><description>
&lt;p>I have been having a look at &lt;a href="https://docs.docker.com/docker-for-windows/">Docker for Windows&lt;/a> recently. I have been experiencing a problem that when I create a new image the created date/time (as shown with &lt;strong>docker images&lt;/strong>) is 8 hours in the past.&lt;/p>
&lt;p>&lt;a href="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_326.png">&lt;img
loading="lazy"
decoding="async"
alt="image"
class="image_figure image_internal image_unprocessed"
src="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_thumb_321.png"
title="image"
/>
&lt;/a>&lt;/p>
&lt;p>Turns out the problem seems to be due to putting my Windows 10 laptop into sleep mode. So the process to see the problem is&lt;/p>
&lt;ol>
&lt;li>Create a new Docker image – the create date is correct, the current time&lt;/li>
&lt;li>Sleep the PC&lt;/li>
&lt;li>Wake up the PC&lt;/li>
&lt;li>Check the create date, it is now 8 hours off in the past&lt;/li>
&lt;/ol>
&lt;p>Now the create date is not an issue in itself, but the fact that the time within the Docker images is also off by 8 hours can be, especially when trying to connect to cloud based services. I needed to sort it out&lt;/p></description></item><item><title>I am speaking at Microsoft UK TechDays Online event on Azure DevTest Labs</title><link>https://blogs.blackmarble.co.uk/rfennell/i-am-speaking-at-microsoft-uk-techdays-online-event-on-azure-devtest-labs/</link><pubDate>Wed, 24 Aug 2016 09:06:48 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/i-am-speaking-at-microsoft-uk-techdays-online-event-on-azure-devtest-labs/</guid><description>
&lt;p>The &lt;a href="https://www.eventbrite.co.uk/e/techdays-online-september-2016-led-by-mvps-tickets-27251539087?ref=estw">registration link&lt;/a> for Microsoft UK TechDays Online is now live. This is a 5 day event live broadcast from the Microsoft Campus in Reading. You will be able to view the sessions live at &lt;a href="https://channel9.msdn.com/">https://channel9.msdn.com/&lt;/a>&lt;/p>
&lt;p>The themes for each day are:&lt;/p>
&lt;ul>
&lt;li>Monday, 12 September: Explore the world of Data Platform and BOTs&lt;/li>
&lt;li>Tuesday, 13 September: DevOps in practice&lt;/li>
&lt;li>Wednesday, 14 September: A day at the Office!&lt;/li>
&lt;li>Thursday, 15 September: The inside track on Azure and UK Datacenter&lt;/li>
&lt;li>Friday, 16 September: Find out more about Artificial Intelligence&lt;/li>
&lt;/ul>
&lt;p>I am doing a session on the Thursday on &lt;a href="https://azure.microsoft.com/en-gb/services/devtest-lab/">Azure DevTest Labs&lt;/a>.&lt;/p></description></item><item><title>Why have I got a ‘.NETCore50’ and a ‘netcore50’ folder in my nuget package?</title><link>https://blogs.blackmarble.co.uk/rfennell/why-have-i-got-a-netcore50-and-a-netcore50-folder-in-my-nuget-package/</link><pubDate>Tue, 23 Aug 2016 14:23:57 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/why-have-i-got-a-netcore50-and-a-netcore50-folder-in-my-nuget-package/</guid><description>
&lt;p>I &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/post/2016/08/16/Experiences-versioning-related-sets-of-NuGet-packages-within-a-VSTS-build">recently posted on how we were versioning our Nuget packages as part of a release pipeline&lt;/a>. In test we noticed that the packages being produced by this process has an extra folder inside them.&lt;/p>
&lt;p>&lt;a href="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_325.png">&lt;img
loading="lazy"
decoding="async"
alt="image"
class="image_figure image_internal image_unprocessed"
src="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_thumb_320.png"
title="image"
/>
&lt;/a> &lt;/p>
&lt;p>We expected there to be a &lt;strong>netcore50&lt;/strong> folder, but not a &lt;strong>.NETCore50&lt;/strong> folder. Strangely if we build the package locally we only saw the expect &lt;strong>netcore50&lt;/strong> folder. The addition of this folder did not appear to be causing any problem, but I did want to find out why it had appeared and remove it as it was not needed.&lt;/p></description></item><item><title>Experiences versioning related sets of NuGet packages within a VSTS build</title><link>https://blogs.blackmarble.co.uk/rfennell/experiences-versioning-related-sets-of-nuget-packages-within-a-vsts-build/</link><pubDate>Tue, 16 Aug 2016 11:39:36 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/experiences-versioning-related-sets-of-nuget-packages-within-a-vsts-build/</guid><description>
&lt;h3 id="background">Background&lt;/h3>
&lt;p>We are currently packaging up a set of UX libraries as NuGet packages to go on our internal NuGet server. The assemblies that make up the core of this framework are all in a single Visual Studio solution, however it makes sense to distribute them as a set of NuGet packages as you might not need all the parts in a given project. Hence we have a package structure as follows…&lt;/p></description></item><item><title>Tidy up those VSTS release pipelines with meta-tasks</title><link>https://blogs.blackmarble.co.uk/rfennell/tidy-up-those-vsts-release-pipelines-with-meta-tasks/</link><pubDate>Fri, 12 Aug 2016 13:53:14 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/tidy-up-those-vsts-release-pipelines-with-meta-tasks/</guid><description>
&lt;p>Do you have repeating blocks in your VSTS release pipelines?&lt;/p>
&lt;p>I certainly do. A common one is to run a set of functional test, so I need to repeatedly …&lt;/p>
&lt;ol>
&lt;li>Deploy some test files to a VM&lt;/li>
&lt;li>Deploy a test agent to the VM – &lt;strong>IMPORTANT&lt;/strong> I had not realised you can only run one test run against this deployed agent. You need to redeploy it for the next run&lt;/li>
&lt;li>Run my tests&lt;/li>
&lt;li>… and repeat for next test type/configuration/test plan/DLL etc.&lt;/li>
&lt;/ol>
&lt;p>In the past this lead to a lot of repeat tasks in my release pipeline, all very messy.&lt;/p></description></item><item><title>New version of my generate release notes task–now with authentication options</title><link>https://blogs.blackmarble.co.uk/rfennell/new-version-of-my-generate-release-notes-task-now-with-authentication-options/</link><pubDate>Thu, 11 Aug 2016 13:18:38 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/new-version-of-my-generate-release-notes-task-now-with-authentication-options/</guid><description>
&lt;p>I have just released &lt;a href="https://marketplace.visualstudio.com/items?itemName=richardfennellBM.BM-VSTS-GenerateReleaseNotes-Task">1.4.7 of the release notes VSTS extension&lt;/a>. This provides a new advanced options that allows you to switch the authentication model.&lt;/p>
&lt;p>The default remains the same i.e. use a personal access token provided by the server, but you have the option to enable use of the 'defaultcredentials' (via the advanced properties). If this is done the account the build agent is running as is used. Hopefully this should fix the 401 issues some people have been seeing when using the task with on-prem TFS.&lt;/p></description></item><item><title>Windows 10 Anniversary (Build 1607) messed up my virtual NAT Switch – a fix</title><link>https://blogs.blackmarble.co.uk/rfennell/windows-10-anniversary-build-1607-messed-up-my-virtual-nat-switch-a-fix/</link><pubDate>Wed, 10 Aug 2016 11:43:46 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/windows-10-anniversary-build-1607-messed-up-my-virtual-nat-switch-a-fix/</guid><description>
&lt;p>I use a virtual NAT Switch to allow my VMs to talk to the outside world. The way I do this is &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/post/2015/12/01/An-out-the-box-way-to-let-local-Hyper-V-VMs-see-the-Internet-without-using-a-DD-WRT-router">documented in this post&lt;/a>, based on the &lt;a href="http://www.thomasmaurer.ch/2016/05/set-up-a-hyper-v-virtual-switch-using-a-nat-network/">work of  Thomas Maurer&lt;/a>. The upgrade to Windows 10 Anniversary messed this up, just seemed to loose the virtual network completely, VMs failed to start with invalid configurations and would not even start.&lt;/p>
&lt;p>I had to recreate my NATSwitch &lt;a href="http://www.thomasmaurer.ch/2016/05/set-up-a-hyper-v-virtual-switch-using-a-nat-network/">using Thomas’s revised instructions&lt;/a>, but I did have an problem. The final ‘New-NetNat’ command failed with  a ‘The parameter is incorrect.’ error. I think the issue was that there was debris left from the old setup (seems Microsoft removed the NatSwitch interface type). I could find no way to remove the old NATSwitch as it did not appear in the list in PowerShell and there is no UI remove option. So I just ended up disabling it via the UI and this seemed to do the trick&lt;/p></description></item><item><title>Out with the Band in with the Garmin</title><link>https://blogs.blackmarble.co.uk/rfennell/out-with-the-band-in-with-the-garmin/</link><pubDate>Fri, 05 Aug 2016 10:02:59 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/out-with-the-band-in-with-the-garmin/</guid><description>
&lt;p>I have been using the Microsoft Band (both version &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/post/2015/04/05/After-a-few-days-living-with-a-Microsoft-Band">Band1&lt;/a> and &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/post/2015/11/30/first-experience-of-a-band-2">Band2&lt;/a>) since they came out, and been reasonably happy. However, a year or so on my issues with it have remained the same&lt;/p>
&lt;ul>
&lt;li>Poor battery life, I can live with charging it each day, but even with GPS Power-saver mode on I can’t go for any exercise over about 4 hours (bit of an issue for longer bike rides)&lt;/li>
&lt;li>It is not waterproof, so no swimming (and worried doing the washing up)&lt;/li>
&lt;/ul>
&lt;p>Also there seem to be some build issues with the robustness of the Band2. I had to get mine replaced due to it not accepting recharging and the forums seems to report people suffering problems with the wrist strap splitting. That said, the warrantee service seems excellent, no complaints there, mine was swapped without any issue in a couple of days&lt;/p></description></item><item><title>I’m on RadioTFS</title><link>https://blogs.blackmarble.co.uk/rfennell/im-on-radiotfs/</link><pubDate>Fri, 15 Jul 2016 13:54:37 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/im-on-radiotfs/</guid><description>
&lt;p>The RadioTFS show that I was the guest on has just been published at &lt;a href="http://radiotfs.com/Show/117" title="http://radiotfs.com/Show/117">http://radiotfs.com/Show/117&lt;/a>.&lt;/p>
&lt;p>If you don’t listen to RadioTFS why not?  It is a regular podcast (as you can see with over 100 episodes) on all things TFS and VSTS. A great way to keep up what is new in the technology space.&lt;/p>
&lt;p>&lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/page/Videos-of-my-Presentations">Links to this and all my other recorded sessions can be found here&lt;/a>&lt;/p></description></item><item><title>New Build Management VSTS tasks</title><link>https://blogs.blackmarble.co.uk/rfennell/new-build-management-vsts-tasks/</link><pubDate>Wed, 13 Jul 2016 11:19:46 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/new-build-management-vsts-tasks/</guid><description>
&lt;p>Just published a &lt;a href="https://marketplace.visualstudio.com/items?itemName=richardfennellBM.BM-VSTS-BuildUpdating-Tasks">new VSTS extension&lt;/a> with a couple of tasks in it. The aim to to help formalise the end of a release process. The tasks&lt;/p>
&lt;ul>
&lt;li>Allow you to set the retension ‘keep forever’ flag on a build (or all builds linked to a release)&lt;/li>
&lt;li>Update increment a build variable e.g. all or part of a version number, in a build (or all builds linked to a release)&lt;/li>
&lt;/ul>
&lt;p>The first just replicates functionality I used to have &lt;a href="https://blogs.blackmarble.co.uk/blogs/rfennell/post/2015/08/28/An-alternative-to-setting-a-build-quality-on-a-TFS-vNext-build">in house for builds&lt;/a>&lt;/p></description></item><item><title>Life gets better in Visual Studio Code for PowerShell</title><link>https://blogs.blackmarble.co.uk/rfennell/life-gets-better-in-visual-studio-code-for-powershell/</link><pubDate>Fri, 08 Jul 2016 09:55:51 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/life-gets-better-in-visual-studio-code-for-powershell/</guid><description>
&lt;p>I have been using &lt;a href="https://code.visualstudio.com">Visual Studio Code&lt;/a> for &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/post/2016/06/21/Using-Visual-Studio-Code-to-develop-VSTS-Build-Tasks-with-PowerShell-and-Pester-tests">PowerShell development&lt;/a>, but got a bit behind on &lt;a href="https://code.visualstudio.com/Updates">reading release notes&lt;/a>. Today I just realised I can make my Integrated Terminal a Code a PowerShell instance.&lt;/p>
&lt;p>In File &amp;gt; Preferences &amp;gt; user Settings (settings.json) enter the following&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="ln">1&lt;/span>&lt;span class="cl">// Place your settings in this file to overwrite the default settings
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">2&lt;/span>&lt;span class="cl">{
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">3&lt;/span>&lt;span class="cl">     // The path of the shell that the terminal uses on Windows.
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">4&lt;/span>&lt;span class="cl">    &amp;#34;terminal.integrated.shell.windows&amp;#34;: &amp;#34;C:\\windows\\system32\\WindowsPowerShell\\v1.0\\powershell.exe&amp;#34;
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">5&lt;/span>&lt;span class="cl">}
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Now my terminal is a PowerShell instance, and you can see it has loaded by profile so &lt;a href="https://chocolatey.org/packages/poshgit">POSH Git&lt;/a> is work as well&lt;/p></description></item><item><title>Gotcha’s when developing VSTS Build Extension</title><link>https://blogs.blackmarble.co.uk/rfennell/gotchas-when-developing-vsts-build-extension/</link><pubDate>Tue, 05 Jul 2016 17:53:39 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/gotchas-when-developing-vsts-build-extension/</guid><description>
&lt;p>I recently posted on &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/post/2016/06/21/Using-Visual-Studio-Code-to-develop-VSTS-Build-Tasks-with-PowerShell-and-Pester-tests">my development process for VSTS Extensions&lt;/a>, it has been specifically PowerShell based build ones I have been working on. During this development I have come across a few more gotcha’s that I think are worth mentioning&lt;/p>
&lt;h3 id="3264-bit">32/64 bit&lt;/h3>
&lt;p>The VSTS build agent launches PowerShell 64bit (as does the PowerShell command line on dev PC), but VSCode launches it 32bit. Whilst working &lt;a href="https://marketplace.visualstudio.com/items?itemName=richardfennellBM.BM-VSTS-StyleCop-Task">my StyleCop extension&lt;/a> this caused me a problem as StyleCop it seems can only load dictionaries for spell checking based rules when in a 32bit shell. So my Pester tests for the extension worked in VSCode but failed at the command line and within a VSTS build&lt;/p></description></item><item><title>Running TSLint within SonarQube on a TFS build</title><link>https://blogs.blackmarble.co.uk/rfennell/running-tslint-within-sonarqube-on-a-tfs-build/</link><pubDate>Tue, 05 Jul 2016 12:47:55 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/running-tslint-within-sonarqube-on-a-tfs-build/</guid><description>
&lt;p>I wanted to add some level of static analysis to our Typescript projects, &lt;a href="https://www.npmjs.com/package/tslint">TSLint&lt;/a> being the obvious choice. To make sure it got run as part of our build release process I wanted to wire it into our SonarQube system, this meant using the community &lt;a href="https://github.com/Pablissimo/SonarTsPlugin">TSLintPlugin&lt;/a>, which is still pre-release (0.6 preview at the time of writing).&lt;/p>
&lt;p>I followed the &lt;a href="https://github.com/Pablissimo/SonarTsPlugin">installation&lt;/a> process for plugin without any problems setting the TSLint path to match our build boxes&lt;/p></description></item><item><title>Scroll bars in MTM Lab Center had me foxed – User too stupid error</title><link>https://blogs.blackmarble.co.uk/rfennell/scroll-bars-in-mtm-lab-center-had-me-foxed-user-too-stupid-error/</link><pubDate>Fri, 24 Jun 2016 10:09:14 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/scroll-bars-in-mtm-lab-center-had-me-foxed-user-too-stupid-error/</guid><description>
&lt;p>I thought I had a problem with our TFS Lab Manager setup, 80% of our environments had disappeared. I wondered if it was rights, was it just showing environments I owned? No it was not that.&lt;/p>
&lt;p>Turns our the issue was a UX/Scrollbar issue.&lt;/p>
&lt;p>I had MTM full screen in ‘Test Center’ mode, with a long list of test suites, so long a  scroll bar was needed and I had scrolled to the bottom of the list&lt;/p></description></item><item><title>Using Visual Studio Code to develop VSTS Build Tasks with PowerShell and Pester tests</title><link>https://blogs.blackmarble.co.uk/rfennell/using-visual-studio-code-to-develop-vsts-build-tasks-with-powershell-and-pester-tests/</link><pubDate>Tue, 21 Jun 2016 21:15:25 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/using-visual-studio-code-to-develop-vsts-build-tasks-with-powershell-and-pester-tests/</guid><description>
&lt;h3 id="background">Background&lt;/h3>
&lt;p>I am finding  myself writing a lot of PowerShell at present, mostly for VSTS build extensions. Here I hit a problem (or is it an opportunity for choice?) as to what development environment to use?&lt;/p>
&lt;ul>
&lt;li>PowerShell ISE is the ‘best’ experience for debugging a script, but has no source control integration – and it is on all PCs&lt;/li>
&lt;li>&lt;a href="https://code.visualstudio.com">Visual Studio Code&lt;/a> has good Git support, but you need to jump through some hoops to get debugging working.&lt;/li>
&lt;li>&lt;a href="https://visualstudiogallery.msdn.microsoft.com/c9eb3ba8-0c59-4944-9a62-6eee37294597">Visual Studio PowerShell tools&lt;/a>, are just too heavy weight, it is not even in the frame for me for this job.&lt;/li>
&lt;/ul>
&lt;p>So I have found myself getting the basic scripts working in the PowerShell ISE then moving to VS Code to package up the task/extensions as this means writing .JSON too – so awkward&lt;/p></description></item><item><title>Updated Reprint - Migrating a TFS TFVC team project to a Git team project</title><link>https://blogs.blackmarble.co.uk/rfennell/updated-reprint-migrating-a-tfs-tfvc-team-project-to-a-git-team-project/</link><pubDate>Mon, 20 Jun 2016 08:05:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/updated-reprint-migrating-a-tfs-tfvc-team-project-to-a-git-team-project/</guid><description>
&lt;p>&lt;a href="https://www.microsoft.com/en-gb/developers/articles/week03aug14/migrating-a-tfs-tfvc-based-team-project-to-a-git-team-project/">This is a copy of the guest post done on the Microsoft UK web site&lt;/a> published on the 7th June 2016&lt;/p>
&lt;p>&lt;em>This is a revised version of a post originally published in August 2014. In this revision I have updated version numbers and links for tools used and added a discussion of adapting the process to support VSTS.&lt;/em>&lt;/p>
&lt;p>&lt;em>&lt;a href="https://github.com/rfennell/VSTSPowershell/tree/master/DOTNET">The code for this post can be found in my&lt;/a>&lt;/em> &lt;a href="https://github.com/rfennell/VSTSPowershell/tree/master/DOTNET">GitHub Repo&lt;/a>&lt;/p>
&lt;hr>
&lt;p>In the past I've written on the theory behind &lt;a href="http://www.microsoft.com/en-gb/developers/articles/week02mar2014/migrating-a-tfs-tfvc-based-team-project-to-a-git-team-project-retaining-as-much-source-and-work-item-history-as-possible">migrating TFVC to Git with history&lt;/a>. I've since used this process for real, as opposed to as a proof of concept, and this post documents my experiences. The requirement was to move an on-premises TFS 2013.2 Scrum Team Project using TFVC to another on premises TFS 2013.2 Scrum Team Project, but this time using Git.&lt;/p></description></item><item><title>Update guest post on migrating TFVC projects to Git</title><link>https://blogs.blackmarble.co.uk/rfennell/update-guest-post-on-migrating-tfvc-projects-to-git/</link><pubDate>Tue, 07 Jun 2016 08:47:20 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/update-guest-post-on-migrating-tfvc-projects-to-git/</guid><description>
&lt;p>Microsoft asked my to revise my August 2014 article on ‘Migrating a TFS TFVC team project to a Git team project’, this revised version is now live on &lt;a href="https://www.microsoft.com/en-gb/developers/articles/week03aug14/migrating-a-tfs-tfvc-based-team-project-to-a-git-team-project/">their web site&lt;/a>.&lt;/p>
&lt;p>The changes in the revision are updated links for tools, and information on how to use the technique with VSTS now some work item customisation is available.&lt;/p></description></item><item><title>Running WebTests as part of a VSTS VNext Release pipeline</title><link>https://blogs.blackmarble.co.uk/rfennell/running-webtests-as-part-of-a-vsts-vnext-release-pipeline/</link><pubDate>Mon, 30 May 2016 21:08:24 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/running-webtests-as-part-of-a-vsts-vnext-release-pipeline/</guid><description>
&lt;h3 id="background">Background&lt;/h3>
&lt;p>Most projects will have a range of tests&lt;/p>
&lt;ul>
&lt;li>Unit tests (maybe using a mocking framework) running inside the build process&lt;/li>
&lt;li>Integration/UX and load tests run as part of a release pipeline&lt;/li>
&lt;li>and finally manual tests&lt;/li>
&lt;/ul>
&lt;p>In a recent project we were using &lt;a href="https://msdn.microsoft.com/en-us/library/ms182539%28v=vs.110%29.aspx">WebTests&lt;/a> to provide some integration tests (in addition to integration tests written using unit testing frameworks) as a means to test a REST/ODATA API, injecting data via the API, pausing while a backend &lt;a href="http://www.hanselman.com/blog/IntroducingWindowsAzureWebJobs.aspx">Azure WebJob&lt;/a> processed the injected data, then checking a second API to make sure the processed data was correctly presented. Basically mimicking user operations.&lt;/p></description></item><item><title>Easier management of DevTest VMs with Azure DevTest Labs</title><link>https://blogs.blackmarble.co.uk/rfennell/easier-management-of-devtest-vms-with-azure-devtest-labs/</link><pubDate>Fri, 27 May 2016 11:48:28 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/easier-management-of-devtest-vms-with-azure-devtest-labs/</guid><description>
&lt;ul>
&lt;li>Struggling to manage those DevTest VM in Azure?&lt;/li>
&lt;li>Finding it hard to standardise your VMs and get the right things installed?&lt;/li>
&lt;li>Burning through your Azure credit too fast because you forgot to switch things off?&lt;/li>
&lt;/ul>
&lt;p>Well &lt;a href="https://blogs.msdn.microsoft.com/devtestlab/2016/05/25/announcing-general-availability-of-azure-devtest-labs/">Azure DevTest Labs has just been released for general availability&lt;/a>, might will just be the thing to help, have a look.&lt;/p></description></item><item><title>Building bridges - getting DevOps working through Devs and IT Pros talking and learning from each other</title><link>https://blogs.blackmarble.co.uk/rfennell/building-bridges-getting-devops-working-through-devs-and-it-pros-talking-and-learning-from-each-other/</link><pubDate>Wed, 25 May 2016 20:58:57 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/building-bridges-getting-devops-working-through-devs-and-it-pros-talking-and-learning-from-each-other/</guid><description>
&lt;p>I was lucky enough to attended and be on a panel at yesterdays &lt;a href="http://www.winops.org/">WinOps London conference&lt;/a>, it was a different and very interesting view on DevOps for me. I spend most of my time consulting with test and development teams, with these teams it is very rare to come across a team not using source control and they commonly have some form of automated build too. This means any DevOps discussion usually come from the side of ‘how can I extend my build into deployment…’.&lt;/p></description></item><item><title>Migrating work items to VSTS with custom fields using TFS Integration Platform</title><link>https://blogs.blackmarble.co.uk/rfennell/migrating-work-items-to-vsts-with-custom-fields-using-tfs-integration-platform/</link><pubDate>Fri, 20 May 2016 13:41:52 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/migrating-work-items-to-vsts-with-custom-fields-using-tfs-integration-platform/</guid><description>
&lt;p>If you wish to migrate work items from TFS to VSTS your options are limited. You can of course just pull over work items, without history, using Excel. If you have no work item customisation them &lt;a href="https://visualstudiogallery.msdn.microsoft.com/28a90a17-d00c-4660-b7ae-42d58315ccf2">OpsHub&lt;/a> is an option, but if you have work item customisation then you are going to have to use &lt;a href="https://visualstudiogallery.msdn.microsoft.com/eb77e739-c98c-4e36-9ead-fa115b27fefe">TFS Integration Platform&lt;/a>. And we all know what a lovely experience that is!&lt;/p>
&lt;p>&lt;strong>Note&lt;/strong>: TFS Integration Platform will cease to be supported by Microsoft at the end of May 2016, this does not mean the tool is going away, just that there will be no support via forums.&lt;/p></description></item><item><title>New version of my VSTS Generate Release Notes extension - now supports Builds and Release</title><link>https://blogs.blackmarble.co.uk/rfennell/new-version-of-my-vsts-generate-release-notes-extension-now-supports-builds-and-release/</link><pubDate>Thu, 19 May 2016 22:21:31 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/new-version-of-my-vsts-generate-release-notes-extension-now-supports-builds-and-release/</guid><description>
&lt;p>I am pleased to announce that I have just made public on the VSTS marketplace a new version of my &lt;a href="https://marketplace.visualstudio.com/items?itemName=richardfennellBM.BM-VSTS-GenerateReleaseNotes-Task-DEV">VSTS Generate Release Notes extension&lt;/a>.&lt;/p>
&lt;p>This new version now supports both VSTS/TFS vNext Builds and vNext Releases. The previous versions only supported the generation of release notes as part of a build.&lt;/p>
&lt;p>The adding of support for release has meant I have had to rethink the internals of how the templates is process as well as the way templates are passed into the task and where results are stored&lt;/p></description></item><item><title>Putting a release process around my VSTS extension development</title><link>https://blogs.blackmarble.co.uk/rfennell/putting-a-release-process-around-my-vsts-extension-development/</link><pubDate>Fri, 06 May 2016 12:17:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/putting-a-release-process-around-my-vsts-extension-development/</guid><description>
&lt;p>&lt;strong>Updated: 5th Aug 2016 added notes in PublisherID&lt;/strong>&lt;/p>
&lt;hr>
&lt;p>  I have been developing a few VSTS/TFS build related extensions and have published a few in the &lt;a href="https://marketplace.visualstudio.com/search?term=fennell&amp;amp;target=VSTS&amp;amp;sortBy=Relevance">VSTS marketplace&lt;/a>. This has all been a somewhat manual process, a mixture of Gulp and PowerShell has helped a bit, but I decided it was time to try to do a more formal approach. To do this I have used &lt;a href="https://marketplace.visualstudio.com/items?itemName=jessehouwing.jessehouwing-vsts-extension-tasks">Jesse Houwing’s VSTS Extension Tasks&lt;/a>. Even with this set of tasks I am not sure what I have is ‘best practice’, but it does work. The doubt is due to the way the marketplace handles revisions and preview flags. What I have works for me, but ‘your mileage may differ’&lt;/p></description></item><item><title>Upgrading BlogEngine to 3.3</title><link>https://blogs.blackmarble.co.uk/rfennell/upgrading-blogengine-to-3-3/</link><pubDate>Sun, 01 May 2016 12:16:22 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/upgrading-blogengine-to-3-3/</guid><description>
&lt;p>I have just completed the upgrade of our Blog Server to &lt;a href="http://dotnetblogengine.net/">BlogEngine 3.3&lt;/a>. This upgrade is a &lt;a href="http://dotnetblogengine.net/post/blogengine-net-3-3-goes-live.aspx">bit more complex than the usual upgrade&lt;/a> as between 3.2 to 3.3 there is a change to Razor views for all the widgets. This means you need to remove all the old widgets you have and re-add them using the new razor equivalents.&lt;/p>
&lt;p>As our blog is backed by SQL, this mean a SQL script to clear down the old widgets, then a manual add of the new versions on each blog we have on our server. One point to note, if using SQL you do need to get BlogEngine 3.3 from its &lt;a href="https://github.com/rxtur/BlogEngine.NET">GitHub repo&lt;/a> (at the time of writing, I am sure this will change) as after the formal 3.3 release on CodePlex there is a fix for an issue that stopped the editing of widget properties.&lt;/p></description></item><item><title>Updates to my StyleCop task for VSTS/TFS 2015.2</title><link>https://blogs.blackmarble.co.uk/rfennell/updates-to-my-stylecop-task-for-vststfs-2015-2/</link><pubDate>Tue, 26 Apr 2016 20:46:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/updates-to-my-stylecop-task-for-vststfs-2015-2/</guid><description>
&lt;p>Tracking the current version of StyleCop is a bit awkward. Last week I got an automated email from &lt;a href="https://stylecop.codeplex.com/releases/view/620994">CodePlex saying 4.7.52.0 had been released&lt;/a> . I thought this was the most up to date version, so upgraded my StyleCop command line wrapper and my VSTS StyleCop task from 4.7.47.0 to 4.7.52.0.&lt;/p>
&lt;p>However, I was wrong about the current version. I had not realised that the &lt;a href="https://github.com/Visual-Stylecop/Visual-StyleCop">StyleCop team  had forked the code onto GitHub&lt;/a>. GitHub is now the home of the Visual Studio 2015 and C# 6 development of StyleCop, while Codeplex remains the home of the legacy Visual Studio versions. I had only upgraded to a legacy patch version, not the current version.&lt;/p></description></item><item><title>How to build a connection string from other parameters within MSDeploy packages to avoid repeating yourself in Release Management variables</title><link>https://blogs.blackmarble.co.uk/rfennell/how-to-build-a-connection-string-from-other-parameters-within-msdeploy-packages-to-avoid-repeating-yourself-in-release-management-variables/</link><pubDate>Mon, 18 Apr 2016 21:04:07 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/how-to-build-a-connection-string-from-other-parameters-within-msdeploy-packages-to-avoid-repeating-yourself-in-release-management-variables/</guid><description>
&lt;p>Whilst working with the new &lt;a href="https://www.visualstudio.com/en-us/features/release-management-vs.aspx">Release Management features in VSTS/TFS 2015.2&lt;/a> I found I needed to pass in configuration variables i.e. server name, Db name, UID and Password to create a SQL server via an &lt;a href="https://azure.microsoft.com/en-gb/documentation/articles/resource-group-overview/">Azure Resource Management Template&lt;/a> release step and a connection string to the same SQL instance for a web site’s web.config, set using an MSDeploy release step using token replacement (&lt;a href="https://www.microsoft.com/en-gb/developers/articles/week01feb16/how-to-extend-a-VSTS-release-process-to-on-premises/">as discussed in this post&lt;/a>)&lt;/p>
&lt;p>Now I could just create RM configuration variables for both the connection string and ARM settings,&lt;/p></description></item><item><title>In place upgrade times from TFS 2013 to 2015</title><link>https://blogs.blackmarble.co.uk/rfennell/in-place-upgrade-times-from-tfs-2013-to-2015/</link><pubDate>Tue, 29 Mar 2016 17:58:54 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/in-place-upgrade-times-from-tfs-2013-to-2015/</guid><description>
&lt;p>There is no easy way to work out how long a TFS in place upgrade will take, there are just too many factors to make any calculation reasonable&lt;/p>
&lt;ul>
&lt;li>Start and end TFS version&lt;/li>
&lt;li>Quality/Speed of hardware&lt;/li>
&lt;li>Volume of source code&lt;/li>
&lt;li>Volume of work items&lt;/li>
&lt;li>Volume of work item attachments&lt;/li>
&lt;li>The list goes on….&lt;/li>
&lt;/ul>
&lt;p>The best option I have found to a graph various upgrades I have done and try to make an estimate based in the shape of the curve. &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/post/2014/01/21/How-long-is-my-TFS-2010-to-2013-upgrade-going-to-take.aspx">I did this for 2010 &amp;gt; 2013 upgrades&lt;/a>, and now I think I have enough data from upgrades of sizable TFS instances to do the same for 2013 to 2015.&lt;/p></description></item><item><title>Announcing release of my vNext build tasks as extensions in the VSTS/TFS Marketplace</title><link>https://blogs.blackmarble.co.uk/rfennell/announcing-release-of-my-vnext-build-tasks-as-extensions-in-the-vststfs-marketplace/</link><pubDate>Tue, 22 Mar 2016 18:40:30 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/announcing-release-of-my-vnext-build-tasks-as-extensions-in-the-vststfs-marketplace/</guid><description>
&lt;p>In the past I have posted about the vNext TFS build tasks I have made available via my &lt;a href="https://github.com/rfennell/vnextbuild">GitHub repo&lt;/a>. Over the past few weeks I have been making an effort to repackage these as extensions in the new &lt;a href="https://marketplace.visualstudio.com/VSTS">VSTS/TFS Marketplace&lt;/a>, thus making them easier to consume in VSTS or using the &lt;a href="https://www.visualstudio.com/news/tfs2015-update2-vs#suppext">new extensions support in TFS 2015.2&lt;/a>&lt;/p>
&lt;p>This it is an ongoing effort, but I pleased to announce the release of the first set of extension.&lt;/p></description></item><item><title>Happy 10th Birthday TFS</title><link>https://blogs.blackmarble.co.uk/rfennell/happy-10th-birthday-tfs/</link><pubDate>Fri, 18 Mar 2016 09:01:11 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/happy-10th-birthday-tfs/</guid><description>
&lt;p>Did you know TFS was 10 years old this week? I have been working with TFS all that time, doesn’t time fly, and wow has the product changed from TFS 2005 to 2015/VSTS or what.&lt;/p>
&lt;p>If you want to find out a bit more about the past 10 years try listening to the &lt;a href="http://radiotfs.com/Show/109/HappyBirthdayTFS">latest Radio TFS podcast with Brian Harry&lt;/a>&lt;/p></description></item><item><title>New books on VSTS/TFS ALM DevOps</title><link>https://blogs.blackmarble.co.uk/rfennell/new-books-on-vststfs-alm-devops/</link><pubDate>Thu, 03 Mar 2016 19:13:23 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/new-books-on-vststfs-alm-devops/</guid><description>
&lt;p>It has been a while since I have mentioned any had new books on TFS/VSTS, and just like buses a couple come along together.&lt;/p>
&lt;p>These two, one from Tarun Arora and the other from Mathias Olausson and Jakob Ehn are both nicely on trend for the big area of interest for many of the companies I am working with at present; best practice ‘cook book’ style guidance on how to best use the tools in an ALM process.&lt;/p></description></item><item><title>A vNext build task and PowerShell script to generate release notes as part of TFS vNext build.</title><link>https://blogs.blackmarble.co.uk/rfennell/a-vnext-build-task-and-powershell-script-to-generate-release-notes-as-part-of-tfs-vnext-build/</link><pubDate>Tue, 01 Mar 2016 12:03:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/a-vnext-build-task-and-powershell-script-to-generate-release-notes-as-part-of-tfs-vnext-build/</guid><description>
&lt;p>&lt;strong>Updated 22 Mar 2016:&lt;/strong> This task is now available as &lt;a href="https://marketplace.visualstudio.com/items?itemName=richardfennellBM.BM-VSTS-GenerateReleaseNotes-Task">an extension in the VSTS marketplace&lt;/a>&lt;/p>
&lt;p>A common request I get from clients is how can I create a custom set of release notes for a build? The standard TFS build report often includes the information required (work items and changesets/commits associate with the build) but not in a format that is easy to redistribute. So I decided to create a set to tools to try to help.&lt;/p></description></item><item><title>Using MSDeploy to deploy to nested virtual applications in Azure Web Apps</title><link>https://blogs.blackmarble.co.uk/rfennell/using-msdeploy-to-deploy-to-nested-virtual-applications-in-azure-web-apps/</link><pubDate>Thu, 25 Feb 2016 20:52:26 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/using-msdeploy-to-deploy-to-nested-virtual-applications-in-azure-web-apps/</guid><description>
&lt;p>Azure provides many ways to scale and structure web site and virtual applications. I recently needed to deploy the following structure where each service endpoint was its own Visual Studio Web Application Project built as a MSDeploy Package&lt;/p>
&lt;ul>
&lt;li>&lt;a href="http://demo.azurewebsites.net/api/service1">http://demo.azurewebsites.net/api/service1&lt;/a>&lt;/li>
&lt;li>&lt;a href="http://demo.azurewebsites.net/api/service2">http://demo.azurewebsites.net/api/service2&lt;/a>&lt;/li>
&lt;li>&lt;a href="http://demo.azurewebsites.net/api/service3">http://demo.azurewebsites.net/api/service3&lt;/a>&lt;/li>
&lt;/ul>
&lt;p>To do this in the Azure Portal in …&lt;/p>
&lt;ol>
&lt;li>Created a Web App for the site &lt;strong>&lt;a href="http://demo.azurewebsites.net">http://demo.azurewebsites.net&lt;/a>&lt;/strong> This pointed to the disk location &lt;strong>sitewwwoot&lt;/strong>, I disabled the folder as an application as there is not application running at this level &lt;/li>
&lt;li>Created a virtual directory &lt;strong>api&lt;/strong> point to &lt;strong>sitewwrootapi&lt;/strong>, again disabling this folder as an application &lt;/li>
&lt;li>Created a virtual application for each of my services, each with their own folder&lt;/li>
&lt;/ol>
&lt;p>&lt;a href="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_297.png">&lt;img
loading="lazy"
decoding="async"
alt="image"
class="image_figure image_internal image_unprocessed"
src="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_thumb_293.png"
title="image"
/>
&lt;/a>&lt;/p></description></item><item><title>Running Pester PowerShell tests in the VSTS hosted build service</title><link>https://blogs.blackmarble.co.uk/rfennell/running-pester-powershell-tests-in-the-vsts-hosted-build-service/</link><pubDate>Sun, 21 Feb 2016 23:43:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/running-pester-powershell-tests-in-the-vsts-hosted-build-service/</guid><description>
&lt;p>**Updated 22 Mar 2016 **This task is available in the &lt;a href="https://marketplace.visualstudio.com/items?itemName=richardfennellBM.BM-VSTS-PesterRunner-Task">VSTS Marketplace&lt;/a> If you are using &lt;a href="https://github.com/pester/Pester/wiki">Pester&lt;/a> to unit test your PowerShell code then there is a good chance you will want to include it in your automated build process. To do this, you need to get Pester installed on your build machine. The usual options would be&lt;/p>
&lt;ul>
&lt;li>Manual install from &lt;a href="https://github.com/pester/Pester">GitHub&lt;/a>&lt;/li>
&lt;li>Install via &lt;a href="https://chocolatey.org/packages/pester">Chocolaty&lt;/a>&lt;/li>
&lt;li>Install via &lt;a href="https://www.nuget.org/packages/Pester/">Nuget&lt;/a>&lt;/li>
&lt;/ul>
&lt;p>If you own the build agent VM then any of these options are good, you can even write the NuGet restore into your build process itself. However there is a problem, both the first two options need administrative access as they put the Pester module in the &lt;strong>$PSModules&lt;/strong> folder (under ‘Program Files’); so these can’t be used on VSTS’s hosted build system, where your are not an administrator So this means you are left with copying the module (and associated functions folder) to some local working folder and running it manually; but do you really want to have to store the Pester module in your source repo? My solution was to write a vNext build tasks to deploy the Pester files and run the Pester tests. &lt;a href="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_thumb[12].png">&lt;img
loading="lazy"
decoding="async"
alt="image_thumb[12]"
class="image_figure image_internal image_unprocessed"
src="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_thumb[12]_thumb.png"
title="image_thumb[12]"
/>
&lt;/a> The task takes two parameters&lt;/p></description></item><item><title>A vNext build task to get artifacts from a different TFS server</title><link>https://blogs.blackmarble.co.uk/rfennell/a-vnext-build-task-to-get-artifacts-from-a-different-tfs-server/</link><pubDate>Thu, 18 Feb 2016 12:53:02 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/a-vnext-build-task-to-get-artifacts-from-a-different-tfs-server/</guid><description>
&lt;p>With the advent of &lt;a href="https://blogs.msdn.microsoft.com/bharry/2016/02/10/team-foundation-server-2015-update-2-rc-1-is-available/">TFS 2015.2 RC&lt;/a> (and the associated VSTS release) we have seen &lt;a href="https://blogs.msdn.microsoft.com/visualstudioalm/2015/11/28/deploy-artifacts-from-onprem-tfs-server-with-release-management-service/">the short term removal of the ‘External TFS Build’ option for the Release Management artifacts source&lt;/a>. This causes me a bit of a problem as I wanted to try out the new on premises vNext based Release Management features on 2015.2, but don’t want to place the RC on my production server (though there is go live support). Also the &lt;a href="https://blogs.msdn.microsoft.com/visualstudioalm/2015/11/28/deploy-artifacts-from-onprem-tfs-server-with-release-management-service/">ability to get artifacts from an on premises TFS instance when using VSTS&lt;/a> open up a number of scenarios, something I know some of my clients had been investigating.&lt;/p></description></item><item><title>Running a SaaS service at scale</title><link>https://blogs.blackmarble.co.uk/rfennell/running-a-saas-service-at-scale/</link><pubDate>Fri, 12 Feb 2016 17:16:26 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/running-a-saas-service-at-scale/</guid><description>
&lt;p>Brian Harry has done a couple of very interesting posts (&lt;a href="https://blogs.msdn.microsoft.com/bharry/2016/02/05/vs-team-services-incidents-on-feb-3-4/">post 1&lt;/a> and &lt;a href="https://blogs.msdn.microsoft.com/bharry/2016/02/06/a-bit-more-on-the-feb-3-and-4-incidents/">post 2&lt;/a>) on the recent outages of the VSTS service. Whether you use VSTS or not they make interesting reading for anyone who is involved in running SaaS based systems, or anything at scale.&lt;/p>
&lt;p>From the posts the obvious reading is you cannot under estimate the importance of&lt;/p>
&lt;ul>
&lt;li>in production montoring&lt;/li>
&lt;li>having an response plan&lt;/li>
&lt;li>doing a proper root cause analysis&lt;/li>
&lt;li>and putting steps in place to stop the problem happening again&lt;/li>
&lt;/ul>
&lt;p>Well worth a read&lt;/p></description></item><item><title>Repost: What I learnt extending my VSTS Release Process to on-premises Lab Management Network Isolated Environments</title><link>https://blogs.blackmarble.co.uk/rfennell/repost-what-i-learnt-extending-my-vsts-release-process-to-on-premises-lab-management-network-isolated-environments/</link><pubDate>Fri, 12 Feb 2016 17:00:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/repost-what-i-learnt-extending-my-vsts-release-process-to-on-premises-lab-management-network-isolated-environments/</guid><description>
&lt;p>This a a repost of a guest article first posted on the Microsoft UK Developers Blog: &lt;a href="https://www.microsoft.com/en-gb/developers/articles/week01feb16/how-to-extend-a-VSTS-release-process-to-on-premises/">How to extend a VSTS release process to on-premises&lt;/a>&lt;/p>
&lt;p>Note that since I write the original post there have been some changes on &lt;a href="https://blogs.msdn.microsoft.com/visualstudioalm/2016/02/12/impact-of-new-release-management-orchestration-features/">VSTS&lt;/a> and the release to &lt;a href="https://blogs.msdn.microsoft.com/bharry/2016/02/10/team-foundation-server-2015-update-2-rc-1-is-available/">TFS 2015.2 RC1&lt;/a>. These mean there is no longer an option to pull build artifacts from the an external TFS server as part of a release; so invalidating some of the options this post discusses. I have struck out the outdated sections. The rest of the post is still valid, especially the section on where to update configuration settings. The release of &lt;a href="https://blogs.msdn.microsoft.com/bharry/2016/02/10/team-foundation-server-2015-update-2-rc-1-is-available/">TFS 2015.2 RC1&lt;/a> actually makes many of options easier as you don’t have to bridge between on premises TFS and VSTS as both build and release features are on the same server.&lt;/p></description></item><item><title>Release Manager 2015 stalls at the ‘uploading components’ step and error log shows XML load errors</title><link>https://blogs.blackmarble.co.uk/rfennell/release-manager-2015-stalls-at-the-uploading-components-step-and-error-log-shows-xml-load-errors/</link><pubDate>Thu, 11 Feb 2016 09:22:32 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/release-manager-2015-stalls-at-the-uploading-components-step-and-error-log-shows-xml-load-errors/</guid><description>
&lt;p>Whilst seting up a Release Management 2015.1 server we came across a strange problem. The installation appears to go OK. We were able to install the server and from the client created a simple vNext release pipeline and run it. However, the release stalled on the ‘Upload Components’ step.&lt;/p>
&lt;p>Looking in event log of the VM running the Release Management server we could see many many errors all complaining about invalid XML, all in the general form&lt;/p></description></item><item><title>vNext Build editor filePath control always returns a path even if you did not set a value</title><link>https://blogs.blackmarble.co.uk/rfennell/vnext-build-editor-filepath-control-always-returns-a-path-even-if-you-did-not-set-a-value/</link><pubDate>Mon, 08 Feb 2016 12:27:57 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/vnext-build-editor-filepath-control-always-returns-a-path-even-if-you-did-not-set-a-value/</guid><description>
&lt;p>You can use the &lt;strong>filePath&lt;/strong> type in a vNext VSTS/TFS task as shown below &lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="ln">1&lt;/span>&lt;span class="cl">{
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">2&lt;/span>&lt;span class="cl">     &amp;#34;name&amp;#34;: &amp;#34;settingsFile&amp;#34;,
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">3&lt;/span>&lt;span class="cl">     &amp;#34;type&amp;#34;: &amp;#34;filePath&amp;#34;,
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">4&lt;/span>&lt;span class="cl">     &amp;#34;label&amp;#34;: &amp;#34;Settings File&amp;#34;,
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">5&lt;/span>&lt;span class="cl">     &amp;#34;defaultValue&amp;#34;: &amp;#34;&amp;#34;,
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">6&lt;/span>&lt;span class="cl">     &amp;#34;required&amp;#34;: false,
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">7&lt;/span>&lt;span class="cl">     &amp;#34;helpMarkDown&amp;#34;: &amp;#34;Path to single settings files to use (as opposed to files in project folders)&amp;#34;,
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">8&lt;/span>&lt;span class="cl">     &amp;#34;groupName&amp;#34;:&amp;#34;advanced&amp;#34;
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">9&lt;/span>&lt;span class="cl">   }
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>to present a file picker dialog in the build editor that allows the build editor to pick a file or folder in the build’s source repository&lt;/p></description></item><item><title>A VSTS vNext build task to run StyleCop</title><link>https://blogs.blackmarble.co.uk/rfennell/a-vsts-vnext-build-task-to-run-stylecop/</link><pubDate>Sat, 06 Feb 2016 18:51:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/a-vsts-vnext-build-task-to-run-stylecop/</guid><description>
&lt;p>&lt;strong>Updated 22 Mar 2016&lt;/strong> This tasks is available in the &lt;a href="https://marketplace.visualstudio.com/items?itemName=richardfennellBM.BM-VSTS-StyleCop-Task">VSTS Marketplace&lt;/a> I have &lt;a href="https://blogs.blackmarble.co.uk/blogs/rfennell/post/2015/04/03/Running-StyleCop-from-the-command-line-and-in-a-TFS-2015-vNext-build.aspx">previously posted&lt;/a> on how a PowerShell script can be used to run StyleCop as part of vNext VSTS/TFS build. Now I have more experience with vNext tasks it seemed a good time to convert this PowerShell script into a true task that can deploy StyleCop and making it far easier to expose the various parameters StyleCop allows. To this end I have written a new StyleCop task that can be found in my &lt;a href="https://github.com/rfennell/vNextBuild">vNext Build Repo&lt;/a>, this has been built to use the &lt;a href="https://stylecop.codeplex.com/">4.7.49.0 release of StyleCop&lt;/a> (so you don’t need to install StyleCop in the build machine, so it works well on VSTS). To use this task:&lt;/p></description></item><item><title>A new vNext task to run StyleCop</title><link>https://blogs.blackmarble.co.uk/rfennell/a-new-vnext-task-to-run-stylecop/</link><pubDate>Thu, 04 Feb 2016 23:21:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/a-new-vnext-task-to-run-stylecop/</guid><description>
&lt;p>&lt;em>&lt;strong>Update 6 Feb 2016&lt;/strong> - I have made some major changes to this task to expose more parameters, &lt;a href="https://blogs.blackmarble.co.uk/blogs/rfennell/post/2016/02/06/A-VSTS-vNext-build-task-to-run-StyleCop.aspx">have a look at this post&lt;/a> that details the newer version&lt;/em>&lt;/p>
&lt;p>Today a good way to pull together all your measures of code quality is to run &lt;a href="http://www.sonarqube.org/">SonarQube&lt;/a> within your automated build; in a .NET world this can show changes in quality over time for tools such as &lt;a href="https://msdn.microsoft.com/en-us/library/3z0aeatx.aspx">FxCop (Code Analysis)&lt;/a> and &lt;a href="https://stylecop.codeplex.com/">StyleCop.&lt;/a> However sometime you might just want to run one of these tools alone as part of your automated build. For Code Analysis this is easy, it is built into Visual Studio just set it as a property on the project. For StyleCop it is a bit more awkward as StyleCop was not designed to be run from the command line.&lt;/p></description></item><item><title>Follow up from my session at the Black Marble Tech Update 2016</title><link>https://blogs.blackmarble.co.uk/rfennell/follow-up-from-my-session-at-the-black-marble-tech-update-2016/</link><pubDate>Tue, 02 Feb 2016 17:11:29 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/follow-up-from-my-session-at-the-black-marble-tech-update-2016/</guid><description>
&lt;p>There have been some requests for more information about the areas I convered in my presentation at the &lt;a href="http://www.blackmarble.co.uk/events">Black Marble Tech Update 2016&lt;/a> that we held last week.&lt;/p>
&lt;p>I could send out slides, but I think it is far more useful to point you at the ‘live’ resource on the Internet. The key reason for this is that the whole of the Visual Studio family is now being released at a ‘cloud cadence’ i.e. new features are appearing rapidly, so anything I write will soon be out of date. Better to look at the live sources where possible.&lt;/p></description></item><item><title>Fixing cannot load dashboard issues on BlogEngine.NET using sub blog aggregation</title><link>https://blogs.blackmarble.co.uk/rfennell/fixing-cannot-load-dashboard-issues-on-blogengine-net-using-sub-blog-aggregation/</link><pubDate>Mon, 04 Jan 2016 17:59:05 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/fixing-cannot-load-dashboard-issues-on-blogengine-net-using-sub-blog-aggregation/</guid><description>
&lt;p>&lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/post/2015/12/31/Upgraded-to-BlogEngineNET-32.aspx">As I discovered during my BlogEngine upgrade&lt;/a>, there is an effort within the project team to focus the codebase on three possible usage models on any given BlogEngine server instance:&lt;/p>
&lt;ul>
&lt;li>Single blog with a user – a personal blog (default)&lt;/li>
&lt;li>Single blog with many users – a team/company blog&lt;/li>
&lt;li>Many blogs each with a single user – a set of related blogs that can be agregated togther&lt;/li>
&lt;/ul>
&lt;p>I needed the third option, problem was in its history our blog has been both of the other two types, so I have multiple user accounts for each blogs, and login usernames are repeated between individual blogs on the server.&lt;/p></description></item><item><title>Upgraded to BlogEngine.NET 3.2</title><link>https://blogs.blackmarble.co.uk/rfennell/upgraded-to-blogengine-net-3-2/</link><pubDate>Thu, 31 Dec 2015 13:39:53 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/upgraded-to-blogengine-net-3-2/</guid><description>
&lt;p>I have just completed the upgrade of this blog server to the new release 3.2 of &lt;a href="http://dotnetblogengine.net/">BlogEngine.NET&lt;/a>. I did a manual upgrade (as opposed to the automated built in upgrade) as I needed to make a few changes from the default settings. The process I used followed the &lt;a href="http://dnbe.net/docs/post/upgrading-blogengine-net-manually">upgrade process document&lt;/a>&lt;/p>
&lt;ol>
&lt;li>&lt;a href="https://blogengine.codeplex.com/releases/view/619153">Downloaded&lt;/a> the latest release and unzip the folder&lt;/li>
&lt;li>Run the SQL upgrade script (in &lt;strong>/setup/sqlserver&lt;/strong> folder), this adds some new DB constraints&lt;/li>
&lt;li>Created a IIS web site using the new release&lt;/li>
&lt;li>Copied in the sample &lt;strong>web.config&lt;/strong> from the &lt;strong>/setup/sqlserver&lt;/strong> folder.
&lt;ul>
&lt;li>Edited the SQL connection string to point to my DB&lt;/li>
&lt;li>IMPORTANT I MISSED THIS AT FIRST - Added the setting to &lt;a href="https://github.com/rxtur/BlogEngine.NET/wiki/Configuration">change from the default single blog mode, to multi blog mode&lt;/a> (note this is a WIKI on Github not the old CodePlex site)&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>Copied in my App_DATA folder&lt;/li>
&lt;li>Accessed my site&lt;/li>
&lt;/ol>
&lt;p>As I had not copied anything from the old &lt;strong>custom&lt;/strong> folder, I had theme issues at this point. However, I decided to moved all the blogs to the newest generation of theme templates, so did a quick fix up by hand on each one, picking the required theme and making sure any settings, like Twitter accounts, were set (note these are set on a per blog/per theme basis, so changing a theme means you need to reenter any custom values). I also needed to copy in a few missing logos and any extra widgets from my old &lt;strong>custom&lt;/strong> folder the blogs were using.&lt;/p></description></item><item><title>Running CodeUI tests on a VM with on remote desktop session open as part of a vNext build</title><link>https://blogs.blackmarble.co.uk/rfennell/running-codeui-tests-on-a-vm-with-on-remote-desktop-session-open-as-part-of-a-vnext-build/</link><pubDate>Wed, 23 Dec 2015 12:21:21 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/running-codeui-tests-on-a-vm-with-on-remote-desktop-session-open-as-part-of-a-vnext-build/</guid><description>
&lt;p>If you want to run CodeUI tests as part of a build you need to make sure the device running the test has access to the UI, for remote VMs this means having a logged in session open and the build/test agent running interactivally. Problem is what happens when you disconnect the session. UNless you manage it you will get the error&lt;/p>
&lt;blockquote>
&lt;p>&lt;em>Automation engine is unable to playback the test because it is not able to interact with the desktop. This could happen if the computer running the test is locked or it’s remote session window is minimized&lt;/em>&lt;/p></description></item><item><title>Live Writer becomes Open Live Writer</title><link>https://blogs.blackmarble.co.uk/rfennell/live-writer-becomes-open-live-writer/</link><pubDate>Mon, 14 Dec 2015 17:53:13 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/live-writer-becomes-open-live-writer/</guid><description>
&lt;p>My primary blog editor has been Microsoft Live Writer for years, but it has always been a pain to install via &lt;a href="http://windows.microsoft.com/en-gb/windows/essentials">Windows Essentials&lt;/a> (as I don’t want the rest of the product), also I was never able to find the right version when I rebuilt a PC. This was not helped by the fact there has been no development of the product for years, so I struggled to remember what year version I really needed (last one was 2012 by the way).&lt;/p></description></item><item><title>Nuget restore fails to restore all the files on VSTS build if using project.json files</title><link>https://blogs.blackmarble.co.uk/rfennell/nuget-restore-fails-to-restore-all-the-files-on-vsts-build-if-using-project-json-files/</link><pubDate>Wed, 09 Dec 2015 17:28:57 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/nuget-restore-fails-to-restore-all-the-files-on-vsts-build-if-using-project-json-files/</guid><description>
&lt;p>We are currently working on updating a Windows 8 application to be a Windows 10 Universal application. This has caused a few problem on a TFS vNext automated build box. The revised solution builds fine of the developers box and fine on the build VM if opened in Visual Studio, but fails if built via the VSTS vNext build CI MSBuild process showing loads of references missing.&lt;/p>
&lt;p>Turns out the issue was due to Nuget versions.&lt;/p></description></item><item><title>An out-the-box way to let local Hyper-V VMs see the Internet without using a DD-WRT router</title><link>https://blogs.blackmarble.co.uk/rfennell/an-out-the-box-way-to-let-local-hyper-v-vms-see-the-internet-without-using-a-dd-wrt-router/</link><pubDate>Tue, 01 Dec 2015 20:38:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/an-out-the-box-way-to-let-local-hyper-v-vms-see-the-internet-without-using-a-dd-wrt-router/</guid><description>
&lt;p>&lt;em>Updated 10 Aug 2016 - Revised for Win10 anniversary build 1607&lt;/em>&lt;/p>
&lt;p>I have &lt;a href="https://blogs.blackmarble.co.uk/blogs/rfennell/post/2015/01/31/Living-with-a-DD-WRT-virtual-router-three-months-and-one-day-on-%28static-DHCP-leases%29.aspx">posted in the past&lt;/a> about using a DD-WRT virtual router to bridge between local VMs on my development PC and the outside world&lt;/p>
&lt;p>&lt;img
loading="lazy"
decoding="async"
alt=""
class="image_figure image_internal image_unprocessed"
src="https://blogs.blackmarble.co.uk/blogs/rfennell/image.axd?picture=image_thumb_211.png"
/>
&lt;/p>
&lt;p>With the recent changes in HyperV on Windows 10 and Server 2016 we have an alternative as discussed by &lt;a href="http://www.thomasmaurer.ch/2015/11/hyper-v-virtual-switch-using-nat-configuration/?utm_content=bufferbc1e1&amp;amp;utm_medium=social&amp;amp;utm_source=twitter.com&amp;amp;utm_campaign=buffer">Thomas Maurer in his post&lt;/a> (pre Win10 anniversary build 1607) or this &lt;a href="http://www.thomasmaurer.ch/2016/05/set-up-a-hyper-v-virtual-switch-using-a-nat-network/">post&lt;/a> (post Win10 anniversary build 1607). You can use a NATSwitch, thus removing the need for router VM. This does however raise different issues, that of address assignment, the router was also a DHCP server. However, it does mean I don’t have to mess around with manually setting external IP addresses for the router each time I join a different WIFI network. So on the whole I think iti is a better solution.&lt;/p></description></item><item><title>First experience of a Band 2</title><link>https://blogs.blackmarble.co.uk/rfennell/first-experience-of-a-band-2/</link><pubDate>Mon, 30 Nov 2015 16:40:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/first-experience-of-a-band-2/</guid><description>
&lt;p>I have been using a Band 2 for a couple of weeks now as opposed to my original Band. The major thing I have noticed is I don't notice it on my wrist. It feels just like a watch.&lt;/p>
&lt;p>The old one, though not too bad did feel a bit lumpy, banging on the wrist. So that is an improvement, also it looks less like I am a prisoner with a tracker on day release. The Band 2 looks like a designer was more involved as opposed to just engineers.&lt;/p></description></item><item><title>ALM Rangers guidance on migrating from RM Agent based releases to the new VSTS release system</title><link>https://blogs.blackmarble.co.uk/rfennell/alm-rangers-guidance-on-migrating-from-rm-agent-based-releases-to-the-new-vsts-release-system/</link><pubDate>Tue, 24 Nov 2015 19:31:23 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/alm-rangers-guidance-on-migrating-from-rm-agent-based-releases-to-the-new-vsts-release-system/</guid><description>
&lt;p>Vijay in the Microsoft Release Management product group has provided a nice post on the various methods you can use to migrate from &lt;a href="http://blogs.msdn.com/b/visualstudioalm/archive/2015/11/19/moving-from-the-earlier-version-of-release-management-service-to-the-new-one-in-visual-studio-team-services.aspx">the earlier versions of Release management to the new one in Visual Studio Team Services&lt;/a>.&lt;/p>
&lt;p>An area where you will find the biggest change in technology is when moving from on premises agent based releases to the new VSTS PowerShell based system. To help in this process the ALM Rangers have produced a command line tool to &lt;a href="https://github.com/ALM-Rangers/Migrate-assets-from-RM-server-to-VSTS" title="Migrate-assets-from-RM-server-to-VSTS">migrate assets from RM server to VSTS&lt;/a>, it exports all your activities as PowerShell scripts that are easy to re-use in a vNext Release Management process, or in Visual Studio Team Services’ Release tooling.&lt;/p></description></item><item><title>ALM Ranger provided VSTS extensions</title><link>https://blogs.blackmarble.co.uk/rfennell/alm-ranger-provided-vsts-extensions/</link><pubDate>Mon, 23 Nov 2015 20:10:16 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/alm-ranger-provided-vsts-extensions/</guid><description>
&lt;p>Many of the major new features of VSTS are delivered by the new &lt;a href="https://marketplace.visualstudio.com/#VSTS">marketplace and extension model&lt;/a>, such as &lt;a href="https://marketplace.visualstudio.com/items/ms.vss-code-search">code search&lt;/a> and &lt;a href="https://marketplace.visualstudio.com/items/ms.feed">package management&lt;/a>. However, did you realise that this new way of adding functionality to VSTS is open to you too, not just to Microsoft?&lt;/p>
&lt;p>To see what can be done why not have a look at the &lt;a href="http://blogs.msdn.com/b/visualstudioalmrangers/archive/2015/11/18/visual-studio-extensions-from-the-rangers.aspx">Visual Studio Team Services Extensions from the ALM Rangers&lt;/a>&lt;/p></description></item><item><title>Visual Studio Dev Essentials announced at Connect() with free Azure time each month</title><link>https://blogs.blackmarble.co.uk/rfennell/visual-studio-dev-essentials-announced-at-connect-with-free-azure-time-each-month/</link><pubDate>Mon, 23 Nov 2015 13:27:41 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/visual-studio-dev-essentials-announced-at-connect-with-free-azure-time-each-month/</guid><description>
&lt;p>One announcement I missed at at &lt;a href="https://www.google.co.uk/url?sa=t&amp;amp;rct=j&amp;amp;q=&amp;amp;esrc=s&amp;amp;source=web&amp;amp;cd=1&amp;amp;cad=rja&amp;amp;uact=8&amp;amp;ved=0CCMQFjAAahUKEwils4-1uJrJAhVD1BoKHfZlB7w&amp;amp;url=http%3A%2F%2Fconnect2015.visualstudio.com%2F&amp;amp;usg=AFQjCNGWIW03xz_LwALuizArROkRwiSEXw">Connect()&lt;/a> last week was that of &lt;a href="https://www.visualstudio.com/en-us/products/visual-studio-dev-essentials-vs.aspx">Visual Studio Dev Essentials&lt;/a>. I only heard about this one whilst listening to &lt;a href="http://www.radiotfs.com/Show/101/ConnectingonConnect">RadioTFS’s news from Connect() programme&lt;/a>.&lt;/p>
&lt;p>&lt;a href="https://www.visualstudio.com/en-us/products/visual-studio-dev-essentials-vs.aspx">Visual Studio Dev Essentials&lt;/a> is mostly a re-packing of all the tools that were already freely available from Microsoft e.g. Visual Studio Community Edition, Tem Foundation Server Express etc.; but there are some notable additions* (some coming soon)&lt;/p>
&lt;ul>
&lt;li>Pluralsight  (6-month subscription)—limited time only&lt;/li>
&lt;li>Xamarin University mobile training— coming soon&lt;/li>
&lt;li>WintellectNOW  (3-month subscription)&lt;/li>
&lt;li>Microsoft Virtual Academy&lt;/li>
&lt;li>HackHands Live Programming Help  ($25 credit)&lt;/li>
&lt;li>Priority Forum Support&lt;/li>
&lt;li>Azure credit  ($25/month for 12 months)—coming soon&lt;/li>
&lt;li>Visual Studio Team Services account with five users&lt;/li>
&lt;li>App Service free tier&lt;/li>
&lt;li>PowerBI free tier&lt;/li>
&lt;li>HockeyApp free tier&lt;/li>
&lt;li>Application Insights free tier&lt;/li>
&lt;/ul>
&lt;p>*Check the &lt;a href="https://www.visualstudio.com/en-us/products/visual-studio-dev-essentials-vs.aspx">Visual Studio Dev Essentials site&lt;/a> for the detailed T&amp;amp;C&lt;/p></description></item><item><title>Upgrading to SonarQube 5.2 in the land of Windows, MSBuild and TFS</title><link>https://blogs.blackmarble.co.uk/rfennell/upgrading-to-sonarqube-5-2-in-the-land-of-windows-msbuild-and-tfs/</link><pubDate>Thu, 19 Nov 2015 18:31:55 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/upgrading-to-sonarqube-5-2-in-the-land-of-windows-msbuild-and-tfs/</guid><description>
&lt;p>SonarQube released version 5.2 a couple of weeks ago. This enabled some new features that really help if you are working with MSbuild or just on a Windows platform in general. These are detailed in the posts&lt;/p>
&lt;ul>
&lt;li>&lt;a href="http://blogs.msdn.com/b/visualstudioalm/archive/2015/11/13/support-for-active-directory-and-single-sign-on-sso-in-the-sonarqube-ldap-plugin.aspx">Support for Active Directory and Single Sign On (SSO) in the SonarQube LDAP Plugin&lt;/a>&lt;/li>
&lt;li>&lt;a href="http://blogs.msdn.com/b/visualstudioalm/archive/2015/11/13/support-for-team-foundation-server-2015-in-sonarqube-tfvc-scm-plugin.aspx">Support for Team Foundation Server 2015 in SonarQube TFVC SCM Plugin&lt;/a>&lt;/li>
&lt;/ul>
&lt;p>The new ability to manage users with LDAP is good, but one of the most important for me is the way 5.2 ease the configuration with SQL in integrated security mode. This is &lt;a href="http://docs.sonarqube.org/display/SONAR/Upgrading">mentioned in the upgrade notes&lt;/a>; basically it boils down to the fact you get better JDBC drivers with better support for SQL Clustering and security.&lt;/p></description></item><item><title>Finding it hard to make use of Azure for DevTest?</title><link>https://blogs.blackmarble.co.uk/rfennell/finding-it-hard-to-make-use-of-azure-for-devtest/</link><pubDate>Wed, 18 Nov 2015 21:54:14 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/finding-it-hard-to-make-use-of-azure-for-devtest/</guid><description>
&lt;p>Announced at &lt;a href="https://www.google.co.uk/url?sa=t&amp;amp;rct=j&amp;amp;q=&amp;amp;esrc=s&amp;amp;source=web&amp;amp;cd=1&amp;amp;cad=rja&amp;amp;uact=8&amp;amp;ved=0CCMQFjAAahUKEwils4-1uJrJAhVD1BoKHfZlB7w&amp;amp;url=http%3A%2F%2Fconnect2015.visualstudio.com%2F&amp;amp;usg=AFQjCNGWIW03xz_LwALuizArROkRwiSEXw">Connect()&lt;/a> today were a couple of new tools that could really help a team with their DevOps issues when working with VSTS and Azure (and potentially other scenarios too).&lt;/p>
&lt;ul>
&lt;li>DevTest Lab is a new set of tooling within the Azure portal that allows the easy management of Test VMs, their creation and management as well as providing a means to control how many VMs team members can create, thus controlling cost. Have a look at &lt;a href="http://blogs.msdn.com/b/visualstudioalm/archive/2015/11/18/getting-started-with-devtest-lab-for-azure.aspx">Chuck’s post on getting started with DevTest Labs&lt;/a>&lt;/li>
&lt;li>To aid general deployment, have a look that new Release tooling now in public preview. This is based on the same agents as the vNext build system and can provide a great way to formalise your deployment process. Have a looks at &lt;a href="http://blogs.msdn.com/b/visualstudioalm/archive/2015/11/18/announcing-the-new-release-management-service-in-visual-studio-team-services.aspx">Vijay’s post on getting started with the new Release tools&lt;/a>&lt;/li>
&lt;/ul></description></item><item><title>Chrome extension to help with exploratory testing</title><link>https://blogs.blackmarble.co.uk/rfennell/chrome-extension-to-help-with-exploratory-testing/</link><pubDate>Wed, 18 Nov 2015 19:52:45 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/chrome-extension-to-help-with-exploratory-testing/</guid><description>
&lt;p>One of the many interesting announcements at &lt;a href="https://www.google.co.uk/url?sa=t&amp;amp;rct=j&amp;amp;q=&amp;amp;esrc=s&amp;amp;source=web&amp;amp;cd=1&amp;amp;cad=rja&amp;amp;uact=8&amp;amp;ved=0CCMQFjAAahUKEwils4-1uJrJAhVD1BoKHfZlB7w&amp;amp;url=http%3A%2F%2Fconnect2015.visualstudio.com%2F&amp;amp;usg=AFQjCNGWIW03xz_LwALuizArROkRwiSEXw">Connect()&lt;/a> today was that the new Microsoft Chrome Extension for Exploratory Testing  is  available in the &lt;a href="https://na01.safelinks.protection.outlook.com/?url=https%3a%2f%2fmarketplace.visualstudio.com%2fitems%2fms.vss-exploratorytesting-web&amp;amp;data=01%7c01%7cravishan%40064d.mgd.microsoft.com%7c10c32f84487d4936287c08d2ef7ebd8b%7c72f988bf86f141af91ab2d7cd011db47%7c1&amp;amp;sdata=LrsJEhUhWIcopJn%2b8nLpLhW9GVdIHdjlWZ87XiQURSw%3d">Chrome Store&lt;/a>&lt;/p>
&lt;p>This is a great tool if you use VSO, sorry VSTS, allowing an easy way to ‘kick the tyres’ on your application, logging any bugs directly back to VSTS as Bug work items.&lt;/p>
&lt;p>&lt;a href="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_280.png">&lt;img
loading="lazy"
decoding="async"
alt="image"
class="image_figure image_internal image_unprocessed"
src="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_thumb_276.png"
title="image"
/>
&lt;/a>&lt;/p>
&lt;p>Best of all, it makes it easy to test your application on other platforms with the link to &lt;a href="http://www.perfectomobile.com">Perfecto Mobile&lt;/a>. Just press the device button, login and you can launch a session on a real physical mobile device to continue your exploratory testing.&lt;/p></description></item><item><title>Hello to Visual Studio Team Services</title><link>https://blogs.blackmarble.co.uk/rfennell/hello-to-visual-studio-team-services/</link><pubDate>Wed, 18 Nov 2015 16:59:55 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/hello-to-visual-studio-team-services/</guid><description>
&lt;p>After Microsoft’s announcements at todays &lt;a href="https://www.google.co.uk/url?sa=t&amp;amp;rct=j&amp;amp;q=&amp;amp;esrc=s&amp;amp;source=web&amp;amp;cd=1&amp;amp;cad=rja&amp;amp;uact=8&amp;amp;ved=0CCMQFjAAahUKEwils4-1uJrJAhVD1BoKHfZlB7w&amp;amp;url=http%3A%2F%2Fconnect2015.visualstudio.com%2F&amp;amp;usg=AFQjCNGWIW03xz_LwALuizArROkRwiSEXw">Connect() event&lt;/a>, Visual Studio Online (VSO) is now Visual Studio Team Services (VSTS). It is a good job I never changed the &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/?tag=/VSTS">tag on this blog from VSTS&lt;/a> when Microsoft dropped the Team System name a few years ago.&lt;/p>
&lt;p>&lt;a href="http://blogs.msdn.com/b/bharry/archive/2015/11/18/news-from-connect-2015.aspx">For a run down of all the VSTS announcements have a look at Brian Harry’s blog&lt;/a>&lt;/p></description></item><item><title>Why you need to use vNext build tasks to share scripts between builds</title><link>https://blogs.blackmarble.co.uk/rfennell/why-you-need-to-use-vnext-build-tasks-to-share-scripts-between-builds/</link><pubDate>Tue, 17 Nov 2015 16:51:46 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/why-you-need-to-use-vnext-build-tasks-to-share-scripts-between-builds/</guid><description>
&lt;p>Whilst doing a &lt;a href="https://msdn.microsoft.com/Library/vs/alm/Build/overview">vNext build&lt;/a> from a TFVC repository I needed map both my production code branch and a common folder of scripts that I intended to use in a number of builds, so my build workspace was set to&lt;/p>
&lt;ul>
&lt;li>Map – &lt;strong>$/BM/mycode/main&lt;/strong>                                     - my production code&lt;/li>
&lt;li>Map – &lt;strong>$/BM/BuildDefinations/vNextScripts&lt;/strong> - my shared PowerShell I wish to run in different builds e.g. assembly versioning.&lt;/li>
&lt;/ul>
&lt;p>As I wanted this to be a CI build, I also  set the trigger to &lt;strong>$/tp1/mycode/main&lt;/strong>&lt;/p></description></item><item><title>Versioning a VSIX package as part of the TFS vNext build (when the source is on GitHub)</title><link>https://blogs.blackmarble.co.uk/rfennell/versioning-a-vsix-package-as-part-of-the-tfs-vnext-build-when-the-source-is-on-github/</link><pubDate>Tue, 10 Nov 2015 21:56:52 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/versioning-a-vsix-package-as-part-of-the-tfs-vnext-build-when-the-source-is-on-github/</guid><description>
&lt;p>I have recently added a CI build to my GitHub stored &lt;a href="https://github.com/rfennell/ParametersXmlAddin">ParametersXmlAddin&lt;/a> VSIX project. I did this using Visual Studio Online’s hosted build service, &lt;a href="https://msdn.microsoft.com/en-us/Library/vs/alm/Build/github/index">did you know that this could used to build source from GitHub&lt;/a>?&lt;/p>
&lt;p>As part of this build I wanted to version stamp the assemblies and the resultant VSIX package. To do the former I used the script documented on &lt;a href="https://msdn.microsoft.com/Library/vs/alm/Build/scripts/index">MSDN&lt;/a>, for the latter I also used the same basic method of extracting the version from the build number as used in the script for versioning assemblies. You can find my VSIX &lt;a href="https://github.com/rfennell/vNextBuild/blob/master/PowerShell/ApplyVersionToVSIX.ps1">script stored in this repo&lt;/a>.&lt;/p></description></item><item><title>Why can’t I assign a VSO user as having ‘eligible MSDN’ using an AAD work account?</title><link>https://blogs.blackmarble.co.uk/rfennell/why-cant-i-assign-a-vso-user-as-having-eligible-msdn-using-an-aad-work-account/</link><pubDate>Wed, 04 Nov 2015 21:35:06 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/why-cant-i-assign-a-vso-user-as-having-eligible-msdn-using-an-aad-work-account/</guid><description>
&lt;p>When access &lt;a href="http://tfs.visualstudio.com">VSO&lt;/a> you have two authentication options; either a LiveID (or an MSA using it’s newest name) or a Work Account ID (a domain account). The latter is used to provide extra security, so a domain admin can easily control who has access to a whole set of systems. It does assume you have used Azure Active Directory (AAD) that is sync’d with your on premises AD, and that this AAD is used to back your VSO instance. &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/post/2014/11/20/Linking-VSO-to-your-Azure-Subscription-and-Azure-Active-Directory.aspx">See my previous post on this subject.&lt;/a>&lt;/p></description></item><item><title>SonarQube 5.2 released</title><link>https://blogs.blackmarble.co.uk/rfennell/sonarqube-5-2-released/</link><pubDate>Tue, 03 Nov 2015 17:56:21 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/sonarqube-5-2-released/</guid><description>
&lt;p>At my session at DDDNorth I mentioned that some of the settings you needed to configure in SonarQube 5.1, such as DB connection strings for SonarRunner, would not need to be made once 5.2 was release. &lt;a href="http://www.sonarsource.com/2015/11/02/sonarqube-5-2-released/">Well it was released today&lt;/a>. Most important changes for we are&lt;/p>
&lt;ul>
&lt;li>Server handles all DB connections&lt;/li>
&lt;li>LDAP support for user authentication&lt;/li>
&lt;/ul>
&lt;p>Should make the  install process easier&lt;/p></description></item><item><title>My DDDNorth session on Technical Debt and SonarQube</title><link>https://blogs.blackmarble.co.uk/rfennell/my-dddnorth-session-on-technical-debt-and-sonarqube/</link><pubDate>Sun, 25 Oct 2015 11:27:42 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/my-dddnorth-session-on-technical-debt-and-sonarqube/</guid><description>
&lt;p>Thanks to everyone who came to my session at &lt;a href="http://www.dddnorth.co.uk">DDDNorth&lt;/a> on SonarQube, hope you found it useful. The links to resources for my session are&lt;/p>
&lt;ul>
&lt;li>&lt;a href="http://www.sonarqube.org/">SonarQube documentation&lt;/a>&lt;/li>
&lt;li>&lt;a href="http://blogs.msdn.com/b/visualstudioalm/archive/tags/managing&amp;#43;technical&amp;#43;debt/">Microsoft Product Team posts on Technical Debt&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://github.com/SonarSource/sonar-.net-documentation">ALM Rangers Guide on SonarQube (source)&lt;/a>&lt;/li>
&lt;li>&lt;a href="http://blogs.msdn.com/b/visualstudioalmrangers/archive/tags/vsartechnicaldebt/">ALM Rangers Guide on SonarQube (explanatory post)&lt;/a>&lt;/li>
&lt;li>&lt;a href="http://vs.sonarlint.org/">SonarLint&lt;/a>&lt;/li>
&lt;/ul>
&lt;p>And you can find my slides on my GitHub repo &lt;a href="https://github.com/rfennell/Presentations">https://github.com/rfennell/Presentations&lt;/a>&lt;/p></description></item><item><title>Patterns &amp;amp; Practices Architecture Track at Future Decoded</title><link>https://blogs.blackmarble.co.uk/rfennell/patterns-practices-architecture-track-at-future-decoded/</link><pubDate>Mon, 12 Oct 2015 15:33:44 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/patterns-practices-architecture-track-at-future-decoded/</guid><description>
&lt;p>In case you had not noticed, our MD and Connected Systems MVP Robert Hogg posted about the new &lt;a href="http://blogs.blackmarble.co.uk/blogs/boss/post/2015/10/07/wraps-are-off-patterns-and-practices-architecture-track-a-future-decoded.aspx">Patterns &amp;amp; Practices Architecture Track he is hosting on Day 1 of the Microsoft Future Decoded event&lt;/a>  next month in London.&lt;/p>
&lt;p>This track is an additional track to the now full Future Decoded. If you are interested in attending then get in touch with &lt;a href="mailto:enquiries@blackmarble.com">enquiries@blackmarble.com&lt;/a>, for the attention of Linda, and she can help you out with a special code (if there are still any left). This code will not only give you access to the excellent p&amp;amp;p track on Day One, but also the Keynotes, so please select Day One when you register!&lt;/p></description></item><item><title>Release Manager - New deployment is not allowed as an another deployment is in progress</title><link>https://blogs.blackmarble.co.uk/rfennell/release-manager-new-deployment-is-not-allowed-as-an-another-deployment-is-in-progress/</link><pubDate>Wed, 30 Sep 2015 21:08:54 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/release-manager-new-deployment-is-not-allowed-as-an-another-deployment-is-in-progress/</guid><description>
&lt;p>Whilst working with a vNext Release Management pipeline I started seeing the error&lt;/p>
&lt;blockquote>
&lt;p>&lt;em>Microsoft.TeamFoundation.Release.Common.Helpers.OperationFailedException:&lt;br>
New deployment is not allowed as an another deployment is in progress.&lt;br>
Retry the deployment after sometime.&lt;/em>&lt;/p>&lt;/blockquote>
&lt;p>Problem was I could not see any blocked or paused deployment releases. All Internet searches mentioned multiple pipelines that share components, but this was not the issue.&lt;/p>
&lt;p>Eventually I found the issue, my release pipeline included a step that ran &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/post/2015/08/04/Running-Microsoft-Test-Manager-Test-Suites-as-part-of-a-vNext-Release-pipeline.aspx">CodedUI tests via TCM&lt;/a>, hence a previous running of this template had triggered the test via TCM, but they had stalled. I found this by looking in MTM.&lt;/p></description></item><item><title>Agenda for Black Marble’s annual Architecture Forum is firming up with a keynote from Martin Woodward</title><link>https://blogs.blackmarble.co.uk/rfennell/agenda-for-black-marbles-annual-architecture-forum-is-firming-up-with-a-keynote-from-martin-woodward/</link><pubDate>Mon, 28 Sep 2015 19:46:34 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/agenda-for-black-marbles-annual-architecture-forum-is-firming-up-with-a-keynote-from-martin-woodward/</guid><description>
&lt;p>The &lt;a href="http://blackmarble.com/news/architecture-forum-2015-agenda/">agenda&lt;/a> for our 8th annual &lt;a href="http://blackmarble.com/events/Architecture%20Forum%20in%20the%20North%20-%208">Black Marble Architecture Forum&lt;/a> is firming up. Just confirmed is our keynote from &lt;a href="https://twitter.com/martinwoodward">Martin Woodward&lt;/a> the Executive Director of the &lt;a href="http://www.dotnetfoundation.org/">.NET Foundation&lt;/a>, discussing open source adoption within Microsoft&lt;/p>
&lt;p>There are still spaces for this free event, so why not &lt;a href="http://blackmarble.com/events/Architecture%20Forum%20in%20the%20North%20-%208">register&lt;/a>?&lt;/p>
&lt;p>The event is on the 15th of December in Leeds.&lt;/p></description></item><item><title>Running nUnit and Jasmine.JS unit tests in TFS/VSO vNext build</title><link>https://blogs.blackmarble.co.uk/rfennell/running-nunit-and-jasmine-js-unit-tests-in-tfsvso-vnext-build/</link><pubDate>Wed, 23 Sep 2015 13:28:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/running-nunit-and-jasmine-js-unit-tests-in-tfsvso-vnext-build/</guid><description>
&lt;p>&lt;em>This article was first published on the Microsoft’s UK Developers site as&lt;/em> &lt;a href="http://www.microsoft.com/en-gb/developers/articles/week04aug15/nunit-and-jasmine-js-unit-tests-in-tfs-vso-vnext-build/">Running nUnit and Jasmine.JS unit tests in TFS/VSO vNext build&lt;/a>&lt;/p>
&lt;p>With the advent of &lt;a href="https://msdn.microsoft.com/en-us/Library/vs/alm/Build/overview">vNext build&lt;/a> in &lt;a href="https://www.visualstudio.com/en-us/downloads/visual-studio-2015-downloads-vs.aspx">TFS 2015&lt;/a> and &lt;a href="https://www.visualstudio.com/products/what-is-visual-studio-online-vs">Visual Studio Online&lt;/a> running unit tests that are not MSTest based within your build process is far more straightforward than it used to be. No longer do you have to use custom XAML build activities or tell all your TFS build controllers where the test runner assemblies are. The ‘out the box’ vNext build Visual Studio Test task will automatically load any test adaptors it finds in the path specified for test runners in its advanced properties, a path that can be populated via NuGet.&lt;/p></description></item><item><title>Powershell to help plot graphs of how long TFS upgrades take</title><link>https://blogs.blackmarble.co.uk/rfennell/powershell-to-help-plot-graphs-of-how-long-tfs-upgrades-take/</link><pubDate>Thu, 17 Sep 2015 16:08:28 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/powershell-to-help-plot-graphs-of-how-long-tfs-upgrades-take/</guid><description>
&lt;p>When doing TFS upgrades it is useful to know roughly how long they will take. The upgrade programs give a number of steps, but not all steps are equal. Some are quick, some are slow. &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/post/2014/01/21/How-long-is-my-TFS-2010-to-2013-upgrade-going-to-take.aspx">I have found it useful to graph past updates&lt;/a> so I can get a feel of how long an update will take given it got to ‘step x in y minutes’. You can do this by hand, noting down time as specific steps are reached. However for a long upgrade it usually means pulling data out of the TFS TPC upgrade logs.&lt;/p></description></item><item><title>Session accepted for DDDNorth</title><link>https://blogs.blackmarble.co.uk/rfennell/session-accepted-for-dddnorth/</link><pubDate>Mon, 14 Sep 2015 15:54:52 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/session-accepted-for-dddnorth/</guid><description>
&lt;p>Pleased to say &lt;a href="http://www.dddnorth.co.uk/Sessions/Details/161">my session on SonarQube has been accepted for DDDNorth&lt;/a>. And it seems that registration has opened and closed today, &lt;a href="http://www.dddnorth.co.uk/Home/Register">there is a wait list up now&lt;/a>&lt;/p>
&lt;p>Good to see the DDD events still popular after 10 long years&lt;/p>
&lt;p>
&lt;img
loading="lazy"
decoding="async"
alt="DDD North Logo"
class="image_figure image_external image_unprocessed"
src="http://www.dddnorth.co.uk/Content/images/logo.png"
/>
&lt;/p></description></item><item><title>Is the Microsoft Band any good for Triathlon? Training Yes, racing No</title><link>https://blogs.blackmarble.co.uk/rfennell/is-the-microsoft-band-any-good-for-triathlon-training-yes-racing-no/</link><pubDate>Mon, 14 Sep 2015 15:51:04 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/is-the-microsoft-band-any-good-for-triathlon-training-yes-racing-no/</guid><description>
&lt;p>The title says it all, I have been using a Microsoft Band for a few months now and have found it a &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/post/2015/04/05/After-a-few-days-living-with-a-Microsoft-Band.aspx">great tool for running and cycling as long as you are going out for less than about 5 hours&lt;/a>. I tried to use for the first time Triathlon race at at the Leeds Triathlon over the weekend.&lt;/p>
&lt;p>As it it not water proof it was not an option for the swim (unlike my old Polar HR monitor), so I put it on in T1 (swim to bike), don’t think it wasted too much time! This is where I hit the first issue (or second if you count that it is not waterproof) that my finger was too wet to operate the touch screen. I have seen this issue on runs on rainy days. So I did not manage to switch it to cycle mode, and did not bother to try again whilst cycling after I had dried out – a had other things on my mind like being a in good aero position and get moving faster.&lt;/p></description></item><item><title>Running Typemock Isolator based tests in TFS vNext build</title><link>https://blogs.blackmarble.co.uk/rfennell/running-typemock-isolator-based-tests-in-tfs-vnext-build/</link><pubDate>Tue, 08 Sep 2015 20:02:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/running-typemock-isolator-based-tests-in-tfs-vnext-build/</guid><description>
&lt;p>&lt;strong>Updated 22 Mar 2016&lt;/strong> This task is available in the &lt;a href="https://blogs.blackmarble.co.uk/marketplace.visualstudio.com/items?itemName=richardfennellBM.BM-VSTS-TypeMockRunner-Task">VSTS Marketplace&lt;/a>)&lt;/p>
&lt;p>&lt;a href="http://www.typemock.com/isolator-product-page">Typemock Isolator&lt;/a> provides a way to ‘mock the un-mockable’, such as sealed private classes in .NET, so can be a invaluable tool in unit testing. To allow this mocking Isolator interception has to be started before any unit tests are run and stopped when completed. For a developer this is done automatically within the Visual Studio IDE, but on build systems you have to run something to do this as part of your build process. &lt;a href="http://www.typemock.com/docs?book=Isolator&amp;amp;page=Documentation%2FHtmlDocs%2Fintegratingwiththeserver.htm">Typemock provide documentation&lt;/a> and tools for common build systems such as MSBuild, Jenkins, Team City and TFS XAML builds. However, they don’t provide tools or documentation on getting it working with TFS vNext build, so I had to write my own vNext build Task to do the job, wrapping &lt;strong>Tmockrunner.exe&lt;/strong> provided by Typemock which handles the starting and stopping of mocking whilst calling any EXE of your choice.&lt;/p></description></item><item><title>Voting for DDD North Sessions is now open</title><link>https://blogs.blackmarble.co.uk/rfennell/voting-for-ddd-north-sessions-is-now-open/</link><pubDate>Mon, 07 Sep 2015 11:09:52 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/voting-for-ddd-north-sessions-is-now-open/</guid><description>
&lt;p>Voting for DDD North Sessions is now open - &lt;a href="http://bit.ly/DDDNorth15Sessions">http://bit.ly/DDDNorth15Sessions&lt;/a>&lt;/p>
&lt;p>Vote on what you would like to see at this community conference&lt;/p>
&lt;p>
&lt;img
loading="lazy"
decoding="async"
alt="DDD North Logo"
class="image_figure image_external image_unprocessed"
src="http://www.dddnorth.co.uk/Content/images/logo.png"
/>
&lt;/p></description></item><item><title>WebDeploy, parameters.xml transforms and nLog settings</title><link>https://blogs.blackmarble.co.uk/rfennell/webdeploy-parameters-xml-transforms-and-nlog-settings/</link><pubDate>Tue, 01 Sep 2015 15:12:26 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/webdeploy-parameters-xml-transforms-and-nlog-settings/</guid><description>
&lt;p>I have been trying to parameterise the SQL DB connection string used by nLog when it is defined in a web.config file of a web site being deployed via &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/post/2014/09/18/Using-MSDEPLOY-from-Release-Management-to-deploy-Azure-web-sites.aspx">Release Management and  WebDeploy&lt;/a> i.e. I wanted to select and edit the bit highlighted of my web.config file&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="ln">1&lt;/span>&lt;span class="cl">&amp;lt;configuration&amp;gt;
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">2&lt;/span>&lt;span class="cl">    &amp;lt;nlog xmlns=&amp;#34;[http://www.nlog-project.org/schemas/NLog.xsd&amp;#34;](http://www.nlog-project.org/schemas/NLog.xsd&amp;#34;) xmlns:xsi=&amp;#34;[http://www.w3.org/2001/XMLSchema-instance&amp;#34;](http://www.w3.org/2001/XMLSchema-instance&amp;#34;)\&amp;gt;
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">3&lt;/span>&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">4&lt;/span>&lt;span class="cl">    &amp;lt;targets async=&amp;#34;true&amp;#34;&amp;gt;
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">5&lt;/span>&lt;span class="cl">      &amp;lt;target xsi:type=&amp;#34;Database&amp;#34; name=&amp;#34;SQL&amp;#34; dbProvider=&amp;#34;System.Data.SqlClient&amp;#34; connectionString=&amp;#34;Data Source=myserver;Database=mydb;Persist Security Info=True;Pooling=False&amp;#34; keepConnection=&amp;#34;true&amp;#34; commandText=&amp;#34;INSERT INTO \[Logs\](ID, TimeStamp, Message, Level, Logger, Details, Application, MachineName, Username) VALUES(newid(), getdate(), @message, @level, @logger, @exception, @application, @machineName, @username)&amp;#34;&amp;gt;
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">6&lt;/span>&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">7&lt;/span>&lt;span class="cl">        &amp;lt;parameter layout=&amp;#34;${message}&amp;#34; name=&amp;#34;@message&amp;#34;&amp;gt;&amp;lt;/parameter&amp;gt;
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">8&lt;/span>&lt;span class="cl">        …….
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">9&lt;/span>&lt;span class="cl"> 
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>The problem I had was that the xpath query I was using was not returning the nLog node because the nLog node has a namespace defined. This means we can’t just use a query in the form&lt;/p></description></item><item><title>An alternative to setting a build quality on a TFS vNext build</title><link>https://blogs.blackmarble.co.uk/rfennell/an-alternative-to-setting-a-build-quality-on-a-tfs-vnext-build/</link><pubDate>Fri, 28 Aug 2015 16:00:43 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/an-alternative-to-setting-a-build-quality-on-a-tfs-vnext-build/</guid><description>
&lt;p>TFS vNext builds do not have a concept of build quality unlike the old XAML based builds. This is an issue for us as we used the changing of the build quality as signal to test a build, or to mark it as released to a client (this was all managed with my &lt;a href="https://tfsalertsdsl.codeplex.com/wikipage?title=Sample%20DSL%20Script">TFS Alerts DSL&lt;/a> to make sure suitable emails and build retention were used).&lt;/p>
&lt;p>So how to get around this problem with vNext?&lt;/p></description></item><item><title>Cannot create an MSDeploy package for an Azure Web Job project as part of an automated build/</title><link>https://blogs.blackmarble.co.uk/rfennell/cannot-create-an-msdeploy-package-for-an-azure-web-job-project-as-part-of-an-automated-build/</link><pubDate>Fri, 21 Aug 2015 14:28:48 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/cannot-create-an-msdeploy-package-for-an-azure-web-job-project-as-part-of-an-automated-build/</guid><description>
&lt;p>I like web deploy as a means to package up websites for deployment. I like the way I only need to add&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="ln">1&lt;/span>&lt;span class="cl">/p:DeployOnBuild=True;PublishProfile=Release
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>as an MSBuild argument to get the package produced as part of an automated build. This opening up loads of deployment options&lt;/p>
&lt;p>I recently hit an issue packaging up a solution that contained an Azure WebSite and an Azure Web Job (to be hosted in the web site). &lt;a href="https://azure.microsoft.com/en-gb/documentation/articles/websites-dotnet-deploy-webjobs/">It is easy to add the web job so that it is included in the Web Deploy package&lt;/a>. Once this was done we could deploy from Visual Studio, or package to the local file system and see the web job EXE in the &lt;strong>app_datajobs&lt;/strong> folder as expected.&lt;/p></description></item><item><title>Using Release Management vNext templates when you don’t want to use DSC scripts – A better script</title><link>https://blogs.blackmarble.co.uk/rfennell/using-release-management-vnext-templates-when-you-dont-want-to-use-dsc-scripts-a-better-script/</link><pubDate>Fri, 21 Aug 2015 10:20:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/using-release-management-vnext-templates-when-you-dont-want-to-use-dsc-scripts-a-better-script/</guid><description>
&lt;p>A couple of months ago I wrote a post &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/post/2015/06/18/Using-Release-Management-vNext-templates-when-you-dont-want-to-use-DSC-scripts.aspx" title="http://blogs.blackmarble.co.uk/blogs/rfennell/post/2015/06/18/Using-Release-Management-vNext-templates-when-you-dont-want-to-use-DSC-scripts.aspx">on using PowerShell scripts to deploy web sites in Release Management vNext templates as opposed to DSC&lt;/a>. In that post I provided a script to help with the translation of Release Management configuration variables to entries in the &lt;strong>[MSDELPOY].setparameters.xml&lt;/strong> file for web sites.&lt;/p>
&lt;p>The code I provided in that post required you to hard code the variables to translate. This quickly become a problem for maintenance. However, there is a simple solution.&lt;/p></description></item><item><title>Guest post at Microsoft - nUnit and Jasmine.JS unit tests in TFS/VSO vNext build</title><link>https://blogs.blackmarble.co.uk/rfennell/guest-post-at-microsoft-nunit-and-jasmine-js-unit-tests-in-tfsvso-vnext-build/</link><pubDate>Wed, 19 Aug 2015 13:26:20 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/guest-post-at-microsoft-nunit-and-jasmine-js-unit-tests-in-tfsvso-vnext-build/</guid><description>
&lt;p>I have just had a guest post published on the Microsoft UK developers site &lt;a href="http://www.microsoft.com/en-gb/developers/articles/week04aug15/nunit-and-jasmine-js-unit-tests-in-tfs-vso-vnext-build/">nUnit and Jasmine.JS unit tests in TFS/VSO vNext build&lt;/a>&lt;/p></description></item><item><title>DDDNorth 2015 submissions are open</title><link>https://blogs.blackmarble.co.uk/rfennell/dddnorth-2015-submissions-are-open/</link><pubDate>Wed, 19 Aug 2015 08:41:46 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/dddnorth-2015-submissions-are-open/</guid><description>
&lt;p>DDDNorth is on again this year, back in it’s more northern base of the Sunderland University on the 24th of October&lt;/p>
&lt;p>You can submit your &lt;a href="http://www.dddnorth.co.uk/Sessions">session proposal in here&lt;/a>&lt;/p></description></item><item><title>TF30063 Errors accessing a TFS 2015 server via the C# API after upgrade from 2013</title><link>https://blogs.blackmarble.co.uk/rfennell/tf30063-errors-accessing-a-tfs-2015-server-via-the-c-api-after-upgrade-from-2013/</link><pubDate>Thu, 13 Aug 2015 10:49:55 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/tf30063-errors-accessing-a-tfs-2015-server-via-the-c-api-after-upgrade-from-2013/</guid><description>
&lt;h3 id="background">Background&lt;/h3>
&lt;p>We  upgraded our production TFS 2013.4 server to TFS 2015 RTM this week. As opposed to an in-place upgrade we chose to make a few change on the way; so whilst leaving our DBs on our SQL 2012 cluster&lt;/p>
&lt;ul>
&lt;li>We moved to a new VM for our AT (to upgrade from Windows 2008R2 to 2012R2)&lt;/li>
&lt;li>Split the SSRS instance off the AT to a separate VM with a new SSAS server (again to move to 2012R2 and to ease management, getting all the reporting bits in one place)&lt;/li>
&lt;/ul>
&lt;p>But we do not touch&lt;/p></description></item><item><title>Running Microsoft Test Manager Test Suites as part of a vNext Release pipeline - Part 2</title><link>https://blogs.blackmarble.co.uk/rfennell/running-microsoft-test-manager-test-suites-as-part-of-a-vnext-release-pipeline-part-2/</link><pubDate>Tue, 11 Aug 2015 20:56:34 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/running-microsoft-test-manager-test-suites-as-part-of-a-vnext-release-pipeline-part-2/</guid><description>
&lt;p>&lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/post/2015/08/04/Running-Microsoft-Test-Manager-Test-Suites-as-part-of-a-vNext-Release-pipeline.aspx">In my last post&lt;/a> I discussed how you could wire TCM tests into a Release Management vNext pipeline. The problem with the script I provided, as I noted, was that the deployment was triggered synchronously by the build i.e. the build/release process was:&lt;/p>
&lt;ol>
&lt;li>TFS Build
&lt;ol>
&lt;li>Gets the source&lt;/li>
&lt;li>Compiled the code&lt;/li>
&lt;li>Run the unit tests&lt;/li>
&lt;li>Trigger the RM pipeline&lt;/li>
&lt;li>Wait while the RM pipeline completed&lt;/li>
&lt;/ol>
&lt;/li>
&lt;li>RM then
&lt;ol>
&lt;li>Deploys the code&lt;/li>
&lt;li>Runs the integration tests&lt;/li>
&lt;/ol>
&lt;/li>
&lt;li>When RM completed the TFS build completes&lt;/li>
&lt;/ol>
&lt;p>This process raised a couple of problems&lt;/p></description></item><item><title>Running Microsoft Test Manager Test Suites as part of a vNext Release pipeline</title><link>https://blogs.blackmarble.co.uk/rfennell/running-microsoft-test-manager-test-suites-as-part-of-a-vnext-release-pipeline/</link><pubDate>Tue, 04 Aug 2015 20:41:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/running-microsoft-test-manager-test-suites-as-part-of-a-vnext-release-pipeline/</guid><description>
&lt;p>&lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/post/2015/08/11/Running-Microsoft-Test-Manager-Test-Suites-as-part-of-a-vNext-Release-pipeline-Part-2.aspx">Also see Part 2 on how to address gotcha's in this process&lt;/a>&lt;/p>
&lt;p>When using Release Management there is a good chance you will want to run test suites as part of your automated deployment pipeline. If you are using a &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/post/2015/06/18/Using-Release-Management-vNext-templates-when-you-dont-want-to-use-DSC-scripts.aspx">vNext PowerShell based pipeline&lt;/a> you need a way to trigger the tests via PowerShell as there is no out the box agent to do the job.&lt;/p>
&lt;h2 id="step-1---install-a-test-agent">Step 1 - Install a Test Agent&lt;/h2>
&lt;p>The first step is to make sure that the Visual Studio Test Agent is installed on the box you wish to run the test on. if you don’t already have a MTM Environment in place with a test agent then this can be done by creating a &lt;a href="https://msdn.microsoft.com/en-us/library/ee390842.aspx">standard environment in Microsoft Test Manager&lt;/a>. Remember you only need this environment to include the VM you want to run the test on, unless you want to also gather logs and events from our machines in the system. The complexity is up to you.&lt;/p></description></item><item><title>Few issues a few days on with my Windows 10 upgrade</title><link>https://blogs.blackmarble.co.uk/rfennell/few-issues-a-few-days-on-with-my-windows-10-upgrade/</link><pubDate>Sun, 02 Aug 2015 10:31:34 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/few-issues-a-few-days-on-with-my-windows-10-upgrade/</guid><description>
&lt;p>A few days in and I have solved the few problems I have had&lt;/p>
&lt;h2 id="can-apply-update-security-update-for-windows-10-for-x64-based-systems-kb3074683">Can apply update Security Update for Windows 10 for x64-based Systems (KB3074683)&lt;/h2>
&lt;p>My system tried to apply the KB3074683 patch a couple of time, rolling it back each time. A search of the &lt;a href="http://superuser.com/questions/948316/windows-10-we-couldnt-complete-the-updates-undoing-changes">forums found the answer to this one&lt;/a>. As in the forum post I have an Nvidia video card, in fact it caused the &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/post/2015/07/30/Upgrade-from-Windows-81-to-Windows-10-on-my-Lenovo-W520.aspx">problems during the update&lt;/a>, so the fix was to delete the UpdatusUser registry entry under &lt;code>HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionProfileList.&lt;/code>&lt;/p></description></item><item><title>Upgrade from Windows 8.1 to Windows 10 on my Lenovo W520</title><link>https://blogs.blackmarble.co.uk/rfennell/upgrade-from-windows-8-1-to-windows-10-on-my-lenovo-w520/</link><pubDate>Thu, 30 Jul 2015 09:44:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/upgrade-from-windows-8-1-to-windows-10-on-my-lenovo-w520/</guid><description>
&lt;p>I have just done an in place upgrade on my Lenovo W520 from Windows 8.1 to Windows 10. Something I had not tried during the beta programme, sticking to running Windows 10 in VMs (mostly on Azure).&lt;/p>
&lt;p>I have to say the process was pretty smooth. I only hit one issue, and this was the usual NVidia Optimus problems I saw installing &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/post/2011/12/12/The-battle-of-the-Lenovo-W520-and-projectors.aspx">Windows 8&lt;/a> and &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/post/2014/11/15/Issues-repaving-the-Lenovo-W520-with-Windows-81-again.aspx">8.1&lt;/a>.&lt;/p>
&lt;p>This is what happened&lt;/p>
&lt;ol>
&lt;li>
&lt;p>With Windows 8.1 running mounted the Windows 10 Enterprise ISO&lt;/p></description></item><item><title>Lessons learnt using simple PowerShell scripts with vNext Release Management</title><link>https://blogs.blackmarble.co.uk/rfennell/lessons-learnt-using-simple-powershell-scripts-with-vnext-release-management/</link><pubDate>Sat, 25 Jul 2015 15:23:41 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/lessons-learnt-using-simple-powershell-scripts-with-vnext-release-management/</guid><description>
&lt;p>If you are using &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/post/2015/06/18/Using-Release-Management-vNext-templates-when-you-dont-want-to-use-DSC-scripts.aspx">basic PowerShell scripts as opposed to DSC with Release Management&lt;/a> there are a few gotcha’s I have found.&lt;/p>
&lt;h2 id="you-cannot-pass-parameters">You cannot pass parameters&lt;/h2>
&lt;p>Lets look at a sample script that we would like to run via Release Manager&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-gdscript3" data-lang="gdscript3">&lt;span class="line">&lt;span class="ln"> 1&lt;/span>&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 2&lt;/span>&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 3&lt;/span>&lt;span class="cl">&lt;span class="n">param&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 4&lt;/span>&lt;span class="cl">&lt;span class="p">(&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 5&lt;/span>&lt;span class="cl">    &lt;span class="o">$&lt;/span>&lt;span class="n">param1&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 6&lt;/span>&lt;span class="cl">&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 7&lt;/span>&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 8&lt;/span>&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 9&lt;/span>&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">10&lt;/span>&lt;span class="cl">&lt;span class="n">write&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">verbose&lt;/span> &lt;span class="o">-&lt;/span>&lt;span class="n">verbose&lt;/span> &lt;span class="s2">&amp;#34;Start&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">11&lt;/span>&lt;span class="cl">&lt;span class="n">write&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">verbose&lt;/span> &lt;span class="o">-&lt;/span>&lt;span class="n">verbose&lt;/span> &lt;span class="s2">&amp;#34;Got var1 \[$var1\]&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">12&lt;/span>&lt;span class="cl">&lt;span class="n">write&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">verbose&lt;/span> &lt;span class="o">-&lt;/span>&lt;span class="n">verbose&lt;/span> &lt;span class="s2">&amp;#34;Got param1 \[$param1\]&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">13&lt;/span>&lt;span class="cl">&lt;span class="n">write&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">verbose&lt;/span> &lt;span class="o">-&lt;/span>&lt;span class="n">verbose&lt;/span> &lt;span class="s2">&amp;#34;End&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>In Release Manager we have the following vNext workflow&lt;/p></description></item><item><title>Changes in VS/TFS licensing you really need to be aware of</title><link>https://blogs.blackmarble.co.uk/rfennell/changes-in-vstfs-licensing-you-really-need-to-be-aware-of/</link><pubDate>Tue, 21 Jul 2015 22:23:56 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/changes-in-vstfs-licensing-you-really-need-to-be-aware-of/</guid><description>
&lt;p>With the release of Visual Studio 2015 there are some significant changes to Visual Studio and TFS licensing, you can find the &lt;a href="http://blogs.msdn.com/b/bharry/archive/2015/07/21/licensing-and-packaging-changes-for-tfs-2015.aspx">details of Brian Harry’s blog&lt;/a>. These changes can make a serious change in what you need to purchase for different roles, so it could well be worth a look.&lt;/p></description></item><item><title>Stray white space in a ‘path to custom test adaptors’ will cause tests to fail on VSO vNext build</title><link>https://blogs.blackmarble.co.uk/rfennell/stray-white-space-in-a-path-to-custom-test-adaptors-will-cause-tests-to-fail-on-vso-vnext-build/</link><pubDate>Mon, 13 Jul 2015 16:59:47 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/stray-white-space-in-a-path-to-custom-test-adaptors-will-cause-tests-to-fail-on-vso-vnext-build/</guid><description>
&lt;p>If you are providing a path to a custom test adaptor such as nUnit or Chutzpah for a TFS/VSO vNext build e.g. &lt;strong>$(Build.SourcesDirectory)packages,&lt;/strong> make sure you have no leading whitespace in the data entry form.&lt;/p>
&lt;p>&lt;a href="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_253.png">&lt;img
loading="lazy"
decoding="async"
alt="image"
class="image_figure image_internal image_unprocessed"
src="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_thumb_249.png"
title="image"
/>
&lt;/a>&lt;/p>
&lt;p>If you do have a space you will see an error log like this as the adaptor cannot be found as the command line generated is malformed&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="ln">1&lt;/span>&lt;span class="cl">2015-07-13T16:11:32.8986514Z Executing the powershell script: C:LRMMSServicesMmsTaskAgentProvisionerToolstasksVSTest1.0.16VSTest.ps1 2015-07-13T16:11:33.0727047Z ##\[debug\]Calling Invoke-VSTest for all test assemblies 2015-07-13T16:11:33.0756512Z Working folder: C:a549426d 2015-07-13T16:11:33.0777083Z Executing C:Program Files (x86)Microsoft Visual Studio 12.0Common7IDECommonExtensionsMicrosoftTestWindowvstest.console.exe &amp;#34;C:a549426dUnitTestDemoWebApp.TestsScriptsmycode.tests.js&amp;#34; /TestAdapterPath: C:a549426dUnitTestDemoChutzpah /logger:trx 2015-07-13T16:11:34.3495987Z Microsoft (R) Test Execution Command Line Tool Version 12.0.30723.0 2015-07-13T16:11:34.3505995Z Copyright (c) Microsoft Corporation. All rights reserved. 2015-07-13T16:11:34.3896000Z ##\[error\]Error: The /TestAdapterPath parameter requires a value, which is path of a location containing custom test adapters. Example: /TestAdapterPath:c:MyCustomAdapters 2015-07-13T16:11:36.5808275Z ##\[error\]Error: The test source file &amp;#34;C:a549426dUnitTestDemoChutzpah&amp;#34; provided was not found. 2015-07-13T16:11:37.0004574Z ##\[error\]VSTest Test Run failed with exit code: 1 2015-07-13T16:11:37.0094570Z ##\[warning\]No results found to publish.
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div></description></item><item><title>Cannot run Pester unit tests in Visual Studio but they work Ok from the command prompt</title><link>https://blogs.blackmarble.co.uk/rfennell/cannot-run-pester-unit-tests-in-visual-studio-but-they-work-ok-from-the-command-prompt/</link><pubDate>Tue, 07 Jul 2015 09:53:33 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/cannot-run-pester-unit-tests-in-visual-studio-but-they-work-ok-from-the-command-prompt/</guid><description>
&lt;p>I have been using &lt;a href="https://github.com/pester/Pester">Pester for some PowerShell tests&lt;/a>. From the command prompt all is good, but I kept getting the error &lt;em>‘module cannot be loaded because scripts is disabled on this system’&lt;/em> when I tried to run them via the Visual Studio Test Explorer&lt;/p>
&lt;p>&lt;a href="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_251.png">&lt;img
loading="lazy"
decoding="async"
alt="image"
class="image_figure image_internal image_unprocessed"
src="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_thumb_247.png"
title="image"
/>
&lt;/a>&lt;/p>
&lt;p>&lt;a href="http://stackoverflow.com/questions/6142914/powershell-executionpolicy-is-wrong-when-run-through-visualstudio">I found the solution on StackOverflow&lt;/a>, I had forgotten that Visual Studio is 32bit, so you need to set the 32bit execution policy. Opening the default PowerShell command prompt and and setting the policy only effect the 64Bit instance.&lt;/p></description></item><item><title>Overwriting your own parameters in Release Management can cause Powershell remoting problems</title><link>https://blogs.blackmarble.co.uk/rfennell/overwriting-your-own-parameters-in-release-management-can-cause-powershell-remoting-problems/</link><pubDate>Tue, 30 Jun 2015 20:58:06 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/overwriting-your-own-parameters-in-release-management-can-cause-powershell-remoting-problems/</guid><description>
&lt;p>I have been doing &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/post/2015/06/18/Using-Release-Management-vNext-templates-when-you-dont-want-to-use-DSC-scripts.aspx">some work on vNext Release Management&lt;/a>; I managed to waste a good hour today with a stupid error.&lt;/p>
&lt;p>In vNext process templates you provide a username and password to be used as the Powershell remoting credentials (in the red box below)&lt;/p>
&lt;p>&lt;a href="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_250.png">&lt;img
loading="lazy"
decoding="async"
alt="image"
class="image_figure image_internal image_unprocessed"
src="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_thumb_246.png"
title="image"
/>
&lt;/a>&lt;/p>
&lt;p>My Powershell script also took a parameter username, so this was provided as a custom configuration too (the green box). This was the issue. Not unsurprisingly having two parameters with the same name is a problem. You might get away with it if they are the same value (I did on one stage, which caused more confusion), but if they differ (as mine did in my production stage) the last one set wins, which meant my remote Powershell returned the error&lt;/p></description></item><item><title>Speaking at Leeds DevOps on the 21st of July</title><link>https://blogs.blackmarble.co.uk/rfennell/speaking-at-leeds-devops-on-the-21st-of-july/</link><pubDate>Tue, 30 Jun 2015 08:19:44 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/speaking-at-leeds-devops-on-the-21st-of-july/</guid><description>
&lt;p>I will be speaking at &lt;a href="http://www.leedsdevops.org.uk/post/122787096355/meetup-tuesday-21st-july-2015-at-the-odi-node-in">Leeds DevOps on the 21st of July&lt;/a> on the subject of &lt;a href="http://searchwindowsserver.techtarget.com/definition/Microsoft-Windows-PowerShell-DSC-Desired-State-Configuration">Desired State Configuration (DSC)&lt;/a>.&lt;/p>
&lt;p>&lt;em>‘In the Windows world, due to its API based architecture, deployment is too often not as simple as copying an EXE and updating a text configuration file. Desired State Configuration is an attempt to ease the pain we suffer in this space. Providing a set of tools that can be leveraged by any set of deployment tools whether in a Windows or heterogeneous environment. In this session we will look at what DSC is, what resource are available and how to write your own’.&lt;/em>&lt;/p></description></item><item><title>Using Release Management vNext templates when you don’t want to use DSC scripts</title><link>https://blogs.blackmarble.co.uk/rfennell/using-release-management-vnext-templates-when-you-dont-want-to-use-dsc-scripts/</link><pubDate>Thu, 18 Jun 2015 20:35:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/using-release-management-vnext-templates-when-you-dont-want-to-use-dsc-scripts/</guid><description>
&lt;p>Update 21 Aug 2015 - This post contains all the basic information, but there is an improved PowerShell script discussed in &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/post/2015/08/21/Using-Release-Management-vNext-templates-when-you-dont-want-to-use-DSC-scripts-A-better-script.aspx">Using Release Management vNext templates when you don’t want to use DSC scripts – A better script&lt;/a>&lt;/p>
&lt;hr>
&lt;p>Many web sites are basically forms over data, so you need to deploy some DB schema and something like a MVC website. Even for this ’bread and butter’ work it is important to have an automated process to avoid human error. Hence the rise in use of release tools to run your DACPAC and MSDeploy packages.&lt;/p></description></item><item><title>Fix for 500 internal errors when trying to trigger a Release Management pipeline from a build via the REST API</title><link>https://blogs.blackmarble.co.uk/rfennell/fix-for-500-internal-errors-when-trying-to-trigger-a-release-management-pipeline-from-a-build-via-the-rest-api/</link><pubDate>Wed, 17 Jun 2015 15:03:50 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/fix-for-500-internal-errors-when-trying-to-trigger-a-release-management-pipeline-from-a-build-via-the-rest-api/</guid><description>
&lt;p>With the help of the Release Management team at Microsoft I now have a working REST based automated TFS Build to Release Management pipeline. Previously we were using a TFS automated build and then manually triggering our agent based Release Management pipeline. When we moved to a vNext PS/DSC based RM pipeline I took the chance to automate the link using REST via a &lt;a href="http://blogs.msdn.com/b/visualstudioalm/archive/2014/10/10/trigger-release-from-build-with-release-management-for-visual-studio-2013-update-3.aspx">PowerShell script&lt;/a> to trigger the initial deployment. However, I hit problem, first with a stupid 401 permission error and later with a much stranger 500 internal server error.&lt;/p></description></item><item><title>Failing Ping tests on Application Insights</title><link>https://blogs.blackmarble.co.uk/rfennell/failing-ping-tests-on-application-insights/</link><pubDate>Mon, 08 Jun 2015 21:35:05 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/failing-ping-tests-on-application-insights/</guid><description>
&lt;p>Whilst setting up &lt;a href="https://azure.microsoft.com/en-us/documentation/articles/app-insights-get-started/">Application Insights&lt;/a> on one of our web sites I hit a problem. The target site appeared to be working OK, but if I setup a &lt;a href="https://azure.microsoft.com/en-us/documentation/articles/app-insights-monitor-web-app-availability/">ping test&lt;/a> it failed.&lt;/p>
&lt;p>Digging into the failure, as with much of Application Insights just keep clicking to go deeper, I found the issue was that a CSS file was failing to load.&lt;/p>
&lt;p>&lt;a href="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_246.png">&lt;img
loading="lazy"
decoding="async"
alt="image"
class="image_figure image_internal image_unprocessed"
src="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_thumb_242.png"
title="image"
/>
&lt;/a>&lt;/p>
&lt;p>Presumably on this Umbraco site the CSS file is meant to be loaded for the site but none of the styles are actually used, hence the site renders OK.&lt;/p></description></item><item><title>Windows Media Center issues again</title><link>https://blogs.blackmarble.co.uk/rfennell/windows-media-center-issues-again/</link><pubDate>Mon, 08 Jun 2015 19:43:35 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/windows-media-center-issues-again/</guid><description>
&lt;p>Today was my day for semi annual Media Center (MCE) problems. As usual they seemed to start with an unexpected power issue, a local power cut, maybe the answer is a UPS for the TV setup? Once the PC was rebooted it had forgotten it had any tuners. If I tried to view live TV or re-setup the TV signal it just hung with a spinning ‘toilet bowl of death’ cursor. Corrupt TV data DB I suspect, &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/category/MCE.aspx">I have seen it before&lt;/a>&lt;/p></description></item><item><title>Strange TFS build process template editing issue with Typemock</title><link>https://blogs.blackmarble.co.uk/rfennell/strange-tfs-build-process-template-editing-issue-with-typemock/</link><pubDate>Tue, 02 Jun 2015 14:30:13 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/strange-tfs-build-process-template-editing-issue-with-typemock/</guid><description>
&lt;p>Had a strange issue today while editing our standard TFS 2013 XAML build process template to add an optional post drop script block to &lt;a href="http://blogs.msdn.com/b/visualstudioalm/archive/2014/10/10/trigger-release-from-build-with-release-management-for-visual-studio-2013-update-3.aspx">allow a Release Management pipeline to be triggered via REST&lt;/a>. Our standard template includes a block for &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/post/2012/08/04/Getting-Typemock-Isolator-running-within-a-TFS-2012-build.aspx">enabling and disabling Typemock&lt;/a>, after editing our template to add the new script block (nowhere near the Typemock section) our builds failed with the error&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-zed" data-lang="zed">&lt;span class="line">&lt;span class="ln">1&lt;/span>&lt;span class="cl">&lt;span class="n">TF215097&lt;/span>&lt;span class="o">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">An&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">error&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">occurred&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">while&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">initializing&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">a&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">build&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">for&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">build&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="kt">definition&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">BMISS&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">Expenses&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">Main&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">CI&lt;/span>&lt;span class="o">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">Exception&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">Message&lt;/span>&lt;span class="o">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">Cannot&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">set&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">unknown&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">member&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="err">&amp;#39;&lt;/span>&lt;span class="n">TypeMock&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">TFS2013&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">TypeMockStart&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">DisableAutoLink&lt;/span>&lt;span class="err">&amp;#39;&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">type&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">XamlObjectWriterException&lt;/span>&lt;span class="p">)&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">Exception&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">Stack&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">Trace&lt;/span>&lt;span class="o">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">at&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">System&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">Xaml&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">XamlObjectWriter&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">WriteStartMember&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">XamlMember&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">property&lt;/span>&lt;span class="p">)&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>It took ages to find the issue, we hunted for badly formed XAML, but the issue turned out to be that when ever we opened the template in Visual Studio 2013 it added the highlighted property&lt;/p></description></item><item><title>Build and Ignite Event Sessions</title><link>https://blogs.blackmarble.co.uk/rfennell/build-and-ignite-event-sessions/</link><pubDate>Thu, 28 May 2015 14:24:27 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/build-and-ignite-event-sessions/</guid><description>
&lt;p>If you came to our &lt;a href="http://www.blackmarble.co.uk/events">re:Build and re:Ignite events&lt;/a> last week and want more information on the subjects we covered, remember that all the sessions from both the Microsoft Build and Ignite events are available at &lt;a href="http://channel9.msdn.com/Events/Build/2015">http://channel9.msdn.com/Events/Build/2015&lt;/a> and &lt;a href="http://channel9.msdn.com/Events/Ignite/2015">http://channel9.msdn.com/Events/Ignite/2015&lt;/a>. On these sites you can find videos of the sessions and slide stacks, hours of family viewing.&lt;/p></description></item><item><title>Free Black Marble Build and Ignite round up event in Yorkshire</title><link>https://blogs.blackmarble.co.uk/rfennell/free-black-marble-build-and-ignite-round-up-event-in-yorkshire/</link><pubDate>Thu, 07 May 2015 12:28:42 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/free-black-marble-build-and-ignite-round-up-event-in-yorkshire/</guid><description>
&lt;p>Did you miss content from Microsoft  &lt;a href="http://www.buildwindows.com/">Build&lt;/a> and &lt;a href="http://ignite.microsoft.com/">Ignite&lt;/a> events?&lt;/p>
&lt;p>Well you can catch up on &lt;a href="http://channel9.msdn.com/">Channel9&lt;/a>, but we at Black Marble are running free round up events on the 20th May in Leeds.&lt;/p>
&lt;p>Why not come and talk to Black Marble and Microsoft staff who attended the events?&lt;/p>
&lt;p>To register go to the &lt;a href="http://www.blackmarble.co.uk/events">Black Marble events site&lt;/a>.&lt;/p></description></item><item><title>Generating MsTest wrappers for nUnit tests</title><link>https://blogs.blackmarble.co.uk/rfennell/generating-mstest-wrappers-for-nunit-tests/</link><pubDate>Thu, 07 May 2015 09:32:23 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/generating-mstest-wrappers-for-nunit-tests/</guid><description>
&lt;p>Recently whilst at a clients one of our consultants came across an interesting issue; the client was using &lt;a href="http://www.seleniumhq.org/">Selenium&lt;/a> to write web tests, they wanted to trigger them both from Microsoft Test Manager (MTM) as local automated tests, and also run them using &lt;a href="https://www.browserstack.com/automate/c-sharp">BrowserStack&lt;/a> for multi browser regression testing. The problem was to import the tests into MTM they needed to be written in MsTest and for BrowserStack nUnit.&lt;/p>
&lt;p>As they did not want to duplicate each test what could they ?&lt;/p></description></item><item><title>MSDeploy Parameters.xml can only replace web.config values is a value is already set</title><link>https://blogs.blackmarble.co.uk/rfennell/msdeploy-parameters-xml-can-only-replace-web-config-values-is-a-value-is-already-set/</link><pubDate>Fri, 01 May 2015 13:37:10 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/msdeploy-parameters-xml-can-only-replace-web-config-values-is-a-value-is-already-set/</guid><description>
&lt;p>If you are using a &lt;a href="https://blogs.blackmarble.co.uk/blogs/rfennell/post/2015/04/28/A-Visual-Studio-Extension-to-create-MSDeploy-parametersxml-files.aspx">parameters.xml file to set value with MSDeploy&lt;/a> I have just found a gotcha. You need some value in the web.config file, not just an empty XML tag, else the replacement fails. So to explain…&lt;/p>
&lt;p>I had the following parameters.xml file, and use Release Management to replace the __TAG__ values at deployment time.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="ln">1&lt;/span>&lt;span class="cl">&amp;lt;parameters&amp;gt;
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">2&lt;/span>&lt;span class="cl">  &amp;lt;parameter name=&amp;#34;Domain&amp;#34; description=&amp;#34;Please enter the name of the domain&amp;#34; defaultvalue=&amp;#34;\_\_Domain\_\_&amp;#34; tags=&amp;#34;&amp;#34;&amp;gt;
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">3&lt;/span>&lt;span class="cl">    &amp;lt;parameterentry kind=&amp;#34;XmlFile&amp;#34; scope=&amp;#34;\\web.config$&amp;#34; match=&amp;#34;/configuration/applicationSettings/Web.Properties.Settings/setting\[@name=&amp;#39;Domain&amp;#39;\]/value/text()&amp;#34; /&amp;gt;
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">4&lt;/span>&lt;span class="cl">  &amp;lt;/parameter&amp;gt;
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">5&lt;/span>&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">6&lt;/span>&lt;span class="cl">  &amp;lt;parameter name=&amp;#34;AdminGroups&amp;#34; description=&amp;#34;Please enter the name of the admin group&amp;#34; defaultvalue=&amp;#34;\_\_AdminGroups\_\_&amp;#34; tags=&amp;#34;&amp;#34;&amp;gt;
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">7&lt;/span>&lt;span class="cl">    &amp;lt;parameterentry kind=&amp;#34;XmlFile&amp;#34; scope=&amp;#34;\\web.config$&amp;#34; match=&amp;#34;/configuration/applicationSettings/Web.Properties.Settings/setting\[@name=&amp;#39;AdminGroups&amp;#39;\]/value/text()&amp;#34; /&amp;gt;
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">8&lt;/span>&lt;span class="cl">  &amp;lt;/parameter&amp;gt;
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">9&lt;/span>&lt;span class="cl">&amp;lt;/parameters&amp;gt;
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>If my web.config file (in the MSDeploy package to be transformed) was set to&lt;/p></description></item><item><title>A Visual Studio Extension to create MSDeploy parameters.xml files</title><link>https://blogs.blackmarble.co.uk/rfennell/a-visual-studio-extension-to-create-msdeploy-parameters-xml-files/</link><pubDate>Tue, 28 Apr 2015 15:18:55 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/a-visual-studio-extension-to-create-msdeploy-parameters-xml-files/</guid><description>
&lt;p>When you using &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/post/2014/05/01/Changing-WCF-bindings-for-MSDeploy-packages-when-using-Release-Management.aspx">MSdeploy&lt;/a> you should create a parameters.xml file that exposes your web.config settings at the time of installation. This enables good deployment habits, build the product one and then set system specific values using deployment tools. The problem is that this parameters.xml file is a pain to write, it is a series of XML blocks that contain XPath to find the entries to replace, typo’s are easy to introduce.&lt;/p></description></item><item><title>May is a busy time for events</title><link>https://blogs.blackmarble.co.uk/rfennell/may-is-a-busy-time-for-events/</link><pubDate>Thu, 23 Apr 2015 15:16:21 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/may-is-a-busy-time-for-events/</guid><description>
&lt;p>Mid May is a busy time for me presenting-wise:&lt;/p>
&lt;ul>
&lt;li>On the 12th/13th I am presenting at &lt;a href="http://www.techorama.be/agenda-2015/">Techorama&lt;/a> in Belgium&lt;/li>
&lt;li>And on the 14th I will be presenting at a &lt;a href="http://www.greymatter.com/corporate/showcase/visual-studio/visual-studio-2015-event/">Microsoft/GreyMatter&lt;/a>  event at Microsoft’s Reading office.&lt;/li>
&lt;/ul>
&lt;p>And after that there are also the &lt;a href="http://www.blackmarble.co.uk/events">Black Marble Re:Build and Re:Ignite events&lt;/a>. I am sure I will be involved at those, but we have to wait for a couple of week until after &lt;a href="http://www.buildwindows.com/">Build&lt;/a> and &lt;a href="http://ignite.microsoft.com/">Ignite&lt;/a> to find out what we will be talking about.&lt;/p></description></item><item><title>After a few days living with a Microsoft Band…</title><link>https://blogs.blackmarble.co.uk/rfennell/after-a-few-days-living-with-a-microsoft-band/</link><pubDate>Sun, 05 Apr 2015 15:15:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/after-a-few-days-living-with-a-microsoft-band/</guid><description>
&lt;p>I have worn a Polar s610 heart rate monitor as my watch for years (probably 15+), as I write it needs another battery swap, which means sending it to Polar, something I have done a couple of times in the past for servicing The batteries in the watch last 5 years or so, in the associated heart rate monitor strap maybe a bit more depending on usage.&lt;/p>
&lt;p>
&lt;img
loading="lazy"
decoding="async"
alt=""
class="image_figure image_external image_processed"
width="159"
height="220"
src="https://blogs.blackmarble.co.uk/images/images_17747432116591601577.jpg"
/>
&lt;/p></description></item><item><title>Running StyleCop from the command line and in a TFS 2015 vNext build</title><link>https://blogs.blackmarble.co.uk/rfennell/running-stylecop-from-the-command-line-and-in-a-tfs-2015-vnext-build/</link><pubDate>Fri, 03 Apr 2015 13:50:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/running-stylecop-from-the-command-line-and-in-a-tfs-2015-vnext-build/</guid><description>
&lt;p>&lt;em>&lt;strong>Updated 6 Feb 2016&lt;/strong> - See the &lt;a href="https://blogs.blackmarble.co.uk/blogs/rfennell/post/2016/02/06/A-VSTS-vNext-build-task-to-run-StyleCop.aspx">newer post&lt;/a> about the new &lt;a href="https://github.com/rfennell/vNextBuild/wiki/StyleCop-Runner-Task">vNext build task&lt;/a> I have written to do the same job&lt;/em>&lt;/p>
&lt;p>Virtually any automated build will require some customisation beyond a basic compile. So as part of my upcoming &lt;a href="http://www.techorama.be/">Techorama&lt;/a> session on TFS 2015 vNext build I need a demo of using a custom script as part of the build process. Two common customisations we use are version stamping of assemblies and running code analysis tools. For vNext build there is already a &lt;a href="http://vsalmdocs.azurewebsites.net/tfs/build/scripts/">sample of version stamping&lt;/a>, so I thought getting &lt;a href="https://stylecop.codeplex.com/">StyleCop&lt;/a> running would be a good sample.&lt;/p></description></item><item><title>All change - new SKUs for Visual Studio 2015</title><link>https://blogs.blackmarble.co.uk/rfennell/all-change-new-skus-for-visual-studio-2015/</link><pubDate>Tue, 31 Mar 2015 17:42:48 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/all-change-new-skus-for-visual-studio-2015/</guid><description>
&lt;p>All change again on Visual Studio SKU licensing, &lt;a href="http://blogs.msdn.com/b/visualstudio/archive/2015/03/31/announcing-the-visual-studio-2015-product-line.aspx">have a look at the blog post on new SKUs for the 2015 release&lt;/a> and also the &lt;a href="https://www.visualstudio.com/products/vs-2015-product-editions">2015 product site&lt;/a>. Basically it is a simplification.&lt;/p>
&lt;p>
&lt;img
loading="lazy"
decoding="async"
alt=""
class="image_figure image_external image_unprocessed"
src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-29-92-metablogapi/4442.VisualStudio2015ProductOfferings2_5F00_33936BA7.png"
/>
&lt;/p>
&lt;p>You can find the detailed feature break down &lt;a href="https://www.visualstudio.com/products/compare-visual-studio-2015-products-vs" title="https://www.visualstudio.com/products/compare-visual-studio-2015-products-vs">on the comparison site&lt;/a>&lt;/p></description></item><item><title>Cross platform build with TFS 2015 vNext Build</title><link>https://blogs.blackmarble.co.uk/rfennell/cross-platform-build-with-tfs-2015-vnext-build/</link><pubDate>Mon, 30 Mar 2015 19:11:50 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/cross-platform-build-with-tfs-2015-vnext-build/</guid><description>
&lt;p>I have been preparing for my &lt;a href="http://www.techorama.be/">Techorama&lt;/a> session on &lt;a href="http://vsalmdocs.azurewebsites.net/tfs/build">TFS vNext build&lt;/a>. One of the demo’s I am planning is to use the &lt;a href="https://github.com/Microsoft/vso-agent">Node based cross platform build agent&lt;/a> to build something on a Linux VM. Turns out this takes a few undocumented steps to get this going with the &lt;a href="https://www.visualstudio.com/en-us/news/tfs2015-vs.aspx">CTP of TFS 2015&lt;/a>&lt;/p>
&lt;p>The process I followed was:&lt;/p>
&lt;ul>
&lt;li>I installed a &lt;a href="http://www.linuxmint.com/download.php">Mint 17&lt;/a> VM&lt;/li>
&lt;li>On the VM, I installed the Node VSOAgent as detailed in the &lt;a href="https://www.npmjs.com/package/vsoagent-installer">npm documentation&lt;/a> (or I could have built it from &lt;a href="https://github.com/Microsoft/vso-agent">from source from GitHub&lt;/a> to get the bleeding edge version)&lt;/li>
&lt;li>I created a new agent instance&lt;br>
         &lt;em>vsoagent-installer&lt;/em>&lt;/li>
&lt;li>I then tried to run the configuration, but hit a couple of issues&lt;br>
        _  node vsoagent_&lt;/li>
&lt;/ul>
&lt;h3 id="url-error">URL error&lt;/h3>
&lt;p>The first problem was I was told the URL I provided was invalid. I had tried the URL of my local TFS 2015 CTP VM&lt;/p></description></item><item><title>We are hosting a free event on Visual Studio ALM on the 18th March</title><link>https://blogs.blackmarble.co.uk/rfennell/we-are-hosting-a-free-event-on-visual-studio-alm-on-the-18th-march/</link><pubDate>Sat, 28 Feb 2015 14:20:59 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/we-are-hosting-a-free-event-on-visual-studio-alm-on-the-18th-march/</guid><description>
&lt;p>Black Marble are hosting, at our offices, a Microsoft event on the 18th March on ALM with Visual Studio &amp;amp; TFS 2013. This is a repeat of the sell out event we hosted in the autumn.&lt;/p>
&lt;p>For details of the event and registration see the &lt;a href="http://bit.ly/ALM18March2015">booking site&lt;/a>&lt;/p></description></item><item><title>My DSC session is up at TechDays Online 2015 On-Demand</title><link>https://blogs.blackmarble.co.uk/rfennell/my-dsc-session-is-up-at-techdays-online-2015-on-demand/</link><pubDate>Tue, 17 Feb 2015 11:45:14 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/my-dsc-session-is-up-at-techdays-online-2015-on-demand/</guid><description>
&lt;p>A couple of weeks ago I presented on DSC and Release Management as part of the Microsoft UK TechDays Online 2015 event. All the sessions from this three day event are now available on demand at &lt;a href="http://l.email.microsoft.co.uk/rts/go2.aspx?h=36055&amp;amp;tp=i-H43-84-oQ-8AA4-2G-3bw-1c-89YP-32yzA&amp;amp;x=%7c3126%7c1945688">TechDays Online 2015 on-demand sessions&lt;/a>.&lt;/p>
&lt;p>You do seem to have to register/login to see the content, so I can’t deep link to my session, but browsing the catalogue is a good idea there are some great sessions&lt;/p></description></item><item><title>Build arguments are not returned for a build definition via the TFS API if they are left as default values</title><link>https://blogs.blackmarble.co.uk/rfennell/build-arguments-are-not-returned-for-a-build-definition-via-the-tfs-api-if-they-are-left-as-default-values/</link><pubDate>Wed, 11 Feb 2015 16:15:59 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/build-arguments-are-not-returned-for-a-build-definition-via-the-tfs-api-if-they-are-left-as-default-values/</guid><description>
&lt;p>We use my &lt;a href="https://tfsalertsdsl.codeplex.com/">TFS Alerts DSL&lt;/a> to perform tasks when our TFS build complete, one of these is a job to increment the minor version number and reset the version start date (the value that generates third field – days since a point in time) if a build is set to the quality ‘release’ e.g. &lt;strong>1.2.99.[unique build id]&lt;/strong> where 99 is the days count since some past date could change to &lt;strong>1.3.0.[unique build id] (&lt;/strong>&lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/post/2013/07/27/Making-the-drops-location-for-a-TFS-build-match-the-assembly-version-number.aspx">see this old post on how we do this in the build process&lt;/a>&lt;strong>)&lt;/strong>&lt;/p></description></item><item><title>Choices DDD South West or the Maker Faire?</title><link>https://blogs.blackmarble.co.uk/rfennell/choices-ddd-south-west-or-the-maker-faire/</link><pubDate>Mon, 09 Feb 2015 12:50:55 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/choices-ddd-south-west-or-the-maker-faire/</guid><description>
&lt;p>&lt;a href="http://www.dddsouthwest.com/Blog/Post/58/Speaker-Registration-is-now-open!">Speaker registration for DDD South West&lt;/a> has opened, problem is the event is the same weekend as the &lt;a href="http://www.makerfaireuk.com/">Maker Faire in Newcastle&lt;/a>, don’t think I can do both.&lt;/p>
&lt;p>Both are great options though, good to have choices&lt;/p>
&lt;p>&lt;a href="http://www.makerfaireuk.com/">&lt;img
loading="lazy"
decoding="async"
alt="image"
class="image_figure image_internal image_unprocessed"
src="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_234.png"
title="image"
/>
&lt;/a>         &lt;/p></description></item><item><title>Windows 10 to be an option on the Raspberry PI 2</title><link>https://blogs.blackmarble.co.uk/rfennell/windows-10-to-be-an-option-on-the-raspberry-pi-2/</link><pubDate>Mon, 02 Feb 2015 13:05:32 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/windows-10-to-be-an-option-on-the-raspberry-pi-2/</guid><description>
&lt;p>&lt;a href="http://www.theregister.co.uk/2015/02/02/microsoft_eyes_slice_of_raspberry_pi_with_free_windows_10/">Seem Windows 10 will be an option on the new Raspberry PI 2&lt;/a>, that provides some more nice  IoT options.&lt;/p>
&lt;p>It will be interesting to see which tools Microsoft look to target onto this board, I guess remote development from a PC as per their Galileo board. But there might be enough power for a bit more, we shall see&lt;/p></description></item><item><title>Fix for timeout exporting a SQL Azure DB using PowerShell or SQLPackage.exe</title><link>https://blogs.blackmarble.co.uk/rfennell/fix-for-timeout-exporting-a-sql-azure-db-using-powershell-or-sqlpackage-exe/</link><pubDate>Mon, 02 Feb 2015 12:55:52 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/fix-for-timeout-exporting-a-sql-azure-db-using-powershell-or-sqlpackage-exe/</guid><description>
&lt;p>I have been trying to export a SQL Azure DB as a .BACPAC using the command line&lt;/p>
&lt;blockquote>
&lt;p>&amp;quot;C:Program Files (x86)Microsoft SQL Server120DACbinSqlPackage.exe&amp;quot;&lt;br>
                              /action:Export&lt;br>
                             /sourceservername:myserver.database.windows.net&lt;br>
                             /sourcedatabasename:websitecontentdb&lt;br>
                             /sourceuser:sa@myserver /sourcepassword:&lt;password> /targetfile:db.bacpac&lt;/p>&lt;/blockquote>
&lt;p>The problem is the command times out after around an hour, at the ‘Extracting schema from database’ stage.&lt;/p>
&lt;p>I got exactly the same issue if I use &lt;a href="http://fabriccontroller.net/blog/posts/backup-and-restore-your-sql-azure-database-using-powershell/">PowerShell as discussed in Sandrino Di Mattia’s post&lt;/a>.&lt;/p>
&lt;p>The issue is the Azure service  tier level I am running the SQL DB on.&lt;/p></description></item><item><title>Wrong package location when reusing a Release Management component</title><link>https://blogs.blackmarble.co.uk/rfennell/wrong-package-location-when-reusing-a-release-management-component/</link><pubDate>Sat, 31 Jan 2015 15:46:15 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/wrong-package-location-when-reusing-a-release-management-component/</guid><description>
&lt;p>Whilst setting up a new agent based deployment pipeline in Release Management I decided I to reuse an existing component as it already had the correct package location set and correct transforms for the MSDeploy package. Basically this pipeline was a new copy of an existing website with different branding (css file etc.), but the same configuration options.&lt;/p>
&lt;p>I had just expected this work, but I kept getting ‘file not found’ errors when MSDeploy was run. On investigation I found that the package location for the component was wrong, it was the build drop root, not the sub folder I had specified.&lt;/p></description></item><item><title>Fix for cannot run Windows 8.1 units test on a TFS 2013 Build Agent</title><link>https://blogs.blackmarble.co.uk/rfennell/fix-for-cannot-run-windows-8-1-units-test-on-a-tfs-2013-build-agent/</link><pubDate>Sat, 31 Jan 2015 12:20:29 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/fix-for-cannot-run-windows-8-1-units-test-on-a-tfs-2013-build-agent/</guid><description>
&lt;p>I recently hit a problem that on one of our TFS 2013 build agents we could not run Windows 8.1 unit tests. Now as we know the build agent needs some care and attention to build Windows 8.1 at all, &lt;a href="https://msdn.microsoft.com/en-us/library/hh691189.aspx">but we had followed this process&lt;/a>. However, we still saw the issue that the project compiled but the tests failed with the error&lt;/p>
&lt;blockquote>
&lt;p>‘&lt;em>Unit tests for Windows Store apps cannot be run with Limited User Account disabled. Enable it to run tests.’&lt;/em>&lt;/p></description></item><item><title>Living with a DD-WRT virtual router – three months and one day on (static DHCP leases)</title><link>https://blogs.blackmarble.co.uk/rfennell/living-with-a-dd-wrt-virtual-router-three-months-and-one-day-on-static-dhcp-leases/</link><pubDate>Sat, 31 Jan 2015 11:59:29 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/living-with-a-dd-wrt-virtual-router-three-months-and-one-day-on-static-dhcp-leases/</guid><description>
&lt;p>&lt;strong>Updated 28 Feb 2015 – Added bit on static addresses&lt;/strong>&lt;/p>
&lt;p>&lt;img
loading="lazy"
decoding="async"
alt="image"
class="image_figure image_internal image_unprocessed"
src="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_thumb_211.png"
/>
&lt;/p>
&lt;p>&lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/post/2015/01/29/Living-with-a-DD-WRT-virtual-router-three-months-on.aspx">When using a DD-WRT virtual router&lt;/a>, I have realised it is worth setting static a MAC address in Hyper-V and DHCP lease on the router for any server  VMs  you want access to from your base system OS. In my case this is TFS demo VM a connect to all the time.&lt;/p>
&lt;p>If you don’t do this the address of the VM seems to vary more than you might expect. So you keep having to edit the HOSTS file on your base OS to reference the VM by name.&lt;/p></description></item><item><title>Living with a DD-WRT virtual router – three months on</title><link>https://blogs.blackmarble.co.uk/rfennell/living-with-a-dd-wrt-virtual-router-three-months-on/</link><pubDate>Thu, 29 Jan 2015 21:17:02 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/living-with-a-dd-wrt-virtual-router-three-months-on/</guid><description>
&lt;p>&lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/post/2014/11/26/Living-with-a-DD-WRT-virtual-router-one-month-on.aspx">I posted in the past on my experience with DD-WRT router running in Hyper-V to allow my VMs internet access&lt;/a>. A couple of months on I am still using it and I think have got around the worst of the issues.&lt;/p>
&lt;p>The big problem is not with the DD-WRT router, but the way Hyper-V virtual switches use WiFi for some operating systems. &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/post/2013/06/07/DHCP-does-not-seem-to-work-on-Ubuntu-for-wireless-based-Hyper-V-virtual-switches.aspx">Basically the summary is DHCP does not work for Linux VMs&lt;/a>.&lt;/p></description></item><item><title>When trying to load Office document from SharePoint I keep ending up in the Office Web Application</title><link>https://blogs.blackmarble.co.uk/rfennell/when-trying-to-load-office-document-from-sharepoint-i-keep-ending-up-in-the-office-web-application/</link><pubDate>Tue, 27 Jan 2015 16:53:57 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/when-trying-to-load-office-document-from-sharepoint-i-keep-ending-up-in-the-office-web-application/</guid><description>
&lt;p>Whenever I tried to load an Office 2013 document from our SharePoint 2010 instance I kept ending up in the Office Web Application, the Office application was not being launched.&lt;/p>
&lt;p>If I tried the use the ‘Open in Word’ context menu I got the following error (and before you ask yes I was in IE, IE11 in fact, and Office 2013 was installed)&lt;/p>
&lt;p>&lt;a href="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_226.png">&lt;img
loading="lazy"
decoding="async"
alt="image"
class="image_figure image_internal image_unprocessed"
src="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_thumb_223.png"
title="image"
/>
&lt;/a>&lt;/p>
&lt;p>My PC has been build of our standard System Center managed image, others using the same best image seemed OK, so what had gone wrong for me?&lt;/p></description></item><item><title>Speaking at Techorama in May</title><link>https://blogs.blackmarble.co.uk/rfennell/speaking-at-techorama-in-may/</link><pubDate>Tue, 27 Jan 2015 09:15:28 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/speaking-at-techorama-in-may/</guid><description>
&lt;p>I am really pleased to be &lt;a href="http://www.techorama.be/agenda-2015/?utm_source=TECHORAMA&amp;#43;Members&amp;amp;utm_campaign=dd63635b07-Techorama_2015_50_of_agenda_live_1_26_2015&amp;amp;utm_medium=email&amp;amp;utm_term=0_3c47b62345-dd63635b07-101818625">speaking at Techorama again this year&lt;/a>. This is a great friendly conference that covers a wide range of subjects.&lt;/p>
&lt;p>Like last year the conference is in Mechelen, Belgium on the 12 and 13th of May. &lt;a href="http://www.techorama.be/agenda-2015/?utm_source=TECHORAMA&amp;#43;Members&amp;amp;utm_campaign=dd63635b07-Techorama_2015_50_of_agenda_live_1_26_2015&amp;amp;utm_medium=email&amp;amp;utm_term=0_3c47b62345-dd63635b07-101818625">Hope to see some of you there&lt;/a>&lt;/p>
&lt;p>&lt;a href="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/website-header-22%5B1%5D_1.jpg">&lt;img
loading="lazy"
decoding="async"
alt="website-header-22[1]"
class="image_figure image_internal image_unprocessed"
src="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/website-header-22%5B1%5D_thumb_1.jpg"
title="website-header-22[1]"
/>
&lt;/a>&lt;/p></description></item><item><title>Fix for ‘An unexpected error occurred. Close the windows and try again’ error adding Azure subscription to Visual Studio Release Management Tools</title><link>https://blogs.blackmarble.co.uk/rfennell/fix-for-an-unexpected-error-occurred-close-the-windows-and-try-again-error-adding-azure-subscription-to-visual-studio-release-management-tools/</link><pubDate>Mon, 19 Jan 2015 20:59:38 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/fix-for-an-unexpected-error-occurred-close-the-windows-and-try-again-error-adding-azure-subscription-to-visual-studio-release-management-tools/</guid><description>
&lt;p>In preparation for my &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/post/2015/01/10/Speaking-at-Microsoft-Techdays-on-the-5th-of-February.aspx">Techdays session&lt;/a> next month, I have been sorting demos using the various Release Management clients.&lt;/p>
&lt;p>When I tried to &lt;a href="http://www.visualstudio.com/en-us/get-started/deploy-to-azure-vs">create a release from within Visual Studio&lt;/a> using the ‘Release Management tools for Visual Studio I found I could not add my Azure subscriptions. I saw the error ‘An unexpected error occurred. Close the windows and try again’&lt;/p>
&lt;p>&lt;a href="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_222.png">&lt;img
loading="lazy"
decoding="async"
alt="image"
class="image_figure image_internal image_unprocessed"
src="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_thumb_219.png"
title="image"
/>
&lt;/a>&lt;/p>
&lt;p>I could download and import the subscription file, it showed the available storage accounts, but when I pressed save I got the rather unhelpful error ‘Object reference not set to an instance of an object’&lt;/p></description></item><item><title>VSO gets ISO 27001 Certification and European Model Clauses</title><link>https://blogs.blackmarble.co.uk/rfennell/vso-gets-iso-27001-certification-and-european-model-clauses/</link><pubDate>Mon, 19 Jan 2015 16:06:42 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/vso-gets-iso-27001-certification-and-european-model-clauses/</guid><description>
&lt;p>If the reason you have not been using &lt;a href="http://tfs.visualstudio.com">VSO&lt;/a> was concern over where it is hosted, then last week Microsoft made an announcement that could ease some of your worries, or at least your legal departments.  VSO now has ISO 27001 Certification and European Model Clauses; &lt;a href="http://blogs.msdn.com/b/bharry/archive/2015/01/15/visual-studio-online-iso-27001-certification-and-european-model-clauses.aspx">for more details see Brian Harry’s blog&lt;/a>.&lt;/p>
&lt;p>This added to the fact that since the end of last October you have been able to choose to &lt;a href="http://blogs.msdn.com/b/bharry/archive/2014/10/28/visual-studio-online-is-in-europe.aspx">host your VSO instance in Europe&lt;/a> could well make VSO a more compelling option for many organisations who don’t want to have their own TFS servers on premises&lt;/p></description></item><item><title>Guest post on the Microsoft UK Developers Site on DSC and Release Management prior to Microsoft TechDays event</title><link>https://blogs.blackmarble.co.uk/rfennell/guest-post-on-the-microsoft-uk-developers-site-on-dsc-and-release-management-prior-to-microsoft-techdays-event/</link><pubDate>Fri, 16 Jan 2015 08:47:11 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/guest-post-on-the-microsoft-uk-developers-site-on-dsc-and-release-management-prior-to-microsoft-techdays-event/</guid><description>
&lt;p>&lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/post/2014/12/24/Thoughts-in-vNext-deployment-in-Release-Management.aspx">One of my blog posts&lt;/a> has been re-posted on the Microsoft  UK Developers blog  &lt;a href="http://www.microsoft.com/en-gb/developers/articles/week03jan15/resolving-the-dcs-two-step-release-management-vnext-deployment">Resolving the DCS two-step - Release Management vNext deployment&lt;/a>&lt;/p>
&lt;p>This post covers part of what I will be talking about at &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/post/2015/01/10/Speaking-at-Microsoft-Techdays-on-the-5th-of-February.aspx">Microsoft Techdays on the 5th of February&lt;/a> .&lt;/p>
&lt;p>You can &lt;a href="https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032604684&amp;amp;Culture=en-GB&amp;amp;community=0">register here for this free online event&lt;/a>&lt;/p></description></item><item><title>Speaking at Microsoft Techdays on the 5th of February</title><link>https://blogs.blackmarble.co.uk/rfennell/speaking-at-microsoft-techdays-on-the-5th-of-february/</link><pubDate>Sat, 10 Jan 2015 16:15:26 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/speaking-at-microsoft-techdays-on-the-5th-of-february/</guid><description>
&lt;p>On the 5th of February I will be presenting at &lt;a href="http://thebeebs.co.uk/tech-days-online-5th-of-february/">Microsoft’s online Techdays event.&lt;/a> My session is entitled ‘How are you going to deploy that? A look at configuration as code’&lt;/p>
&lt;blockquote>
&lt;p>&lt;em>“It does not matter what platform you are developing for, you are going to have to deploy your product in the end. Too often in the past the question of deployment has been an afterthought. But it need not be this way, there are tools available that can help with deployment of your code and importantly the provisioning the underlying systems they need too. In this session we will look at Visual Studio Release Management’s vNext release pipeline seeing how it can leverage Desired State Configuration to provision environments and deploy applications”&lt;/em>&lt;/p></description></item><item><title>How to edit registered Release Management deployment agent IP addresses if a VMs IP address changes</title><link>https://blogs.blackmarble.co.uk/rfennell/how-to-edit-registered-release-management-deployment-agent-ip-addresses-if-a-vms-ip-address-changes/</link><pubDate>Wed, 07 Jan 2015 14:04:35 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/how-to-edit-registered-release-management-deployment-agent-ip-addresses-if-a-vms-ip-address-changes/</guid><description>
&lt;p>I have &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/post/2014/04/08/What-I-learnt-getting-Release-Management-running-with-a-network-Isolated-environment.aspx">posted in the past&lt;/a> that we have a number of agent based deployments using Release Management 2013.4 that point to network isolated Lab Management environments. Over Christmas we did some maintenance on our underlying Hyper-V servers, so everything got fully stopped and restarted. When the network isolated environment were restarted their DHCP assigned IP addresses on our company domain all changed (maybe we should have had longer DHCP lease times set?)&lt;/p></description></item><item><title>Failing to unblock downloaded ZIP files causes really strange errors</title><link>https://blogs.blackmarble.co.uk/rfennell/failing-to-unblock-downloaded-zip-files-causes-really-strange-errors/</link><pubDate>Mon, 05 Jan 2015 21:55:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/failing-to-unblock-downloaded-zip-files-causes-really-strange-errors/</guid><description>
&lt;p>Twice recently I have hit the problem that I needed to a unblock ZIP files downloaded from a VSO source repository before I extracted the contents. One was a DSC modules, the other a PowerShell script with associated .NET assemblies.&lt;/p>
&lt;p>In both cases the error messages I got were confusing and misleading. In the case of the DSC module the error was &amp;quot;cannot be loaded because you opted not to run this software now&amp;quot;. The other project just suffered mixed .NET assembly loading errors.&lt;/p></description></item><item><title>vNext Release Management and Network Isolation</title><link>https://blogs.blackmarble.co.uk/rfennell/vnext-release-management-and-network-isolation/</link><pubDate>Wed, 24 Dec 2014 11:12:11 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/vnext-release-management-and-network-isolation/</guid><description>
&lt;p>If you are trying to use Release Management or any deployment tool with a network isolated Lab Management setup you will have authentication issues. Your isolated domain is not part of your production domain, so you have to provide credentials. In the past this meant &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/post/2014/04/08/What-I-learnt-getting-Release-Management-running-with-a-network-Isolated-environment.aspx">Shadow Accounts&lt;/a> or the simple expedient of  running a &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/post/2014/04/08/What-I-learnt-getting-Release-Management-running-with-a-network-Isolated-environment.aspx">NET USE&lt;/a> at the start of your deployment script to provide a login to the drops location.&lt;/p>
&lt;p>In &lt;a href="http://blogs.msdn.com/b/visualstudioalm/archive/2014/11/11/what-s-new-in-release-management-for-vs-2013-update-4.aspx">Release Management 2013.4&lt;/a> we get a new option to address this issue if you are using DSC based deployment. This is &lt;strong>Deploy from a build drop using a shared UNC path&lt;/strong>. In this model the Release Management server copies the contents of the drops folder to a known share and passes credentials to access it down to the DSC client (you set these as parameters on the server).&lt;/p></description></item><item><title>Thoughts in vNext deployment in Release Management</title><link>https://blogs.blackmarble.co.uk/rfennell/thoughts-in-vnext-deployment-in-release-management/</link><pubDate>Wed, 24 Dec 2014 10:58:35 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/thoughts-in-vnext-deployment-in-release-management/</guid><description>
&lt;h3 id="the-dcs-two-step">The DCS two step&lt;/h3>
&lt;p>When working with DSC a difficult concept can be that your desired state script is ‘compiled’ to a MOF file that is then ‘run’ by the desired state manager on the target machine. This is a two step affair and you have no real input on the second part. This is made more complex when Release Management is involved.&lt;/p>
&lt;p>&lt;a href="http://colinsalmcorner.com/post/using-webdeploy-in-vnext-releases">Colin Dembovsky did an excellent pair of posts on getting Release Management working with DSC based vNext templates.&lt;/a> The core of the first post is that he made use of the Script DSC resource to run SQLPackage.EXE and MSDeploy to do the actual deployment of a system as well as using it to manage the transformation of the configuration files in his MSDeploy package.&lt;/p></description></item><item><title>Setting a build version in a JAR file from TFS build</title><link>https://blogs.blackmarble.co.uk/rfennell/setting-a-build-version-in-a-jar-file-from-tfs-build/</link><pubDate>Tue, 16 Dec 2014 13:36:21 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/setting-a-build-version-in-a-jar-file-from-tfs-build/</guid><description>
&lt;p>Whilst helping a Java based team (part of larger organisation that used many sets of both Microsoft and non-Microsoft tools) to migrate from Subversion to TFS I had to tackle their Jenkins/Ant based builds.&lt;/p>
&lt;p>They could have stayed on Jenkins and switched to the &lt;a href="https://wiki.jenkins-ci.org/display/JENKINS/Team&amp;#43;Foundation&amp;#43;Server&amp;#43;Plugin">TFS source provider&lt;/a>, but they wanted to at least look at how TFS build would better allow them to  trace their builds against TFS work items.&lt;/p>
&lt;p>All went well, we setup a build controller and agent specifically for their team and installed Java onto it as well the &lt;a href="https://visualstudiogallery.msdn.microsoft.com/2011f516-15a7-4f9a-8b86-1e0894a75739">TFS build extensions&lt;/a>. We were very quickly able to get our test Java project building on the new build system.&lt;/p></description></item><item><title>Great book full of easily accessible tips to apply the concept of user stories to your team</title><link>https://blogs.blackmarble.co.uk/rfennell/great-book-full-of-easily-accessible-tips-to-apply-the-concept-of-user-stories-to-your-team/</link><pubDate>Thu, 04 Dec 2014 13:17:40 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/great-book-full-of-easily-accessible-tips-to-apply-the-concept-of-user-stories-to-your-team/</guid><description>
&lt;p>&lt;a href="http://www.amazon.co.uk/Fifty-Quick-Ideas-Improve-Stories/dp/0993088104/ref=as_sl_pc_ss_til?tag=buitwoonmypc-21&amp;amp;linkCode=w01&amp;amp;linkId=AYSQ7OIGICPH33HV&amp;amp;creativeASIN=0993088104">&lt;img
loading="lazy"
decoding="async"
alt=""
class="image_figure image_internal image_unprocessed"
src="image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4&amp;#43;JS5ESUM8SDc9Pjv/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv/wAARCAEEAQQDASIAAhEBAxEB/8QAGwAAAgMBAQEAAAAAAAAAAAAAAAECBAUGAwf/xABGEAABAwIDBAUHCgUDAwUAAAABAAIDBBEFEiEGEzFRFDNBcpEWIjJSYXGBFSNUkpOhscHR4Qc1QlNzJDREYoLwFyWiwvH/xAAaAQABBQEAAAAAAAAAAAAAAAAAAQIDBQYE/8QANREAAQMCAggEBQQDAQEAAAAAAQACAwQREiEFEzEzQVFxkSIyNFIUYYGx8BWhwdEjQuFigv/aAAwDAQACEQMRAD8A6&amp;#43;SR4kcA93E9qjvJPXd4ok61/eKgsBLLJrHeI7TxWkYxuEZKe8k9d3ijeSeu7xUEKPWye4907A3kp7yT13eKN5J67vFQQjWye490YG8lPeSeu7xRvJPXd4qCEa2T3HujA3kp7yT13eKN5J67vFQQjWye490YG8lPeSeu7xRvJPXd4qCEa2T3HujA3kp7yT13eKN5J67vFQQjWye490YG8lPeSeu7xRvJPXd4qCEa2T3HujA3kp7yT13eKN5J67vFQQjWye490YG8lPeSeu7xRvJPXd4qCEa2T3HujA3kp7yT13eKN5J67vFQQjWye490YG8lPeSeu7xRvJPXd4qCEa2T3HujA3kp7yT13eKN5J67vFQQjWye490YG8lPeSeu7xRvJPXd4qCEa2T3HujA3kp7yT13eKN5J67vFQQjWye490YG8lPeSeu7xRvJPXd4qCEa2T3HujA3krlM4ujJcSde1CVJ1R7yFtaAk0zCeSoagWldZV5Otf3ioKcnWv7xUFipd47qVfM8oQhCFGnoQhCELJ2lx4bOYYytNKakPmEWQSZLXBN72Pq/es9m11d8j1GK1Gz01PTRwNmie6oBEwc4AAebpob/AAVjbPBazHsFjpKIxCVlQ2Q7x1hYNcOR5hUW7HdE2PqsOowBXVsUW/L5CWGRpBNtNBxVpCKXUtx&amp;#43;Yn57L9eS5HmXGcOyylNtyyLZinxz5NcRPUGDc7/0bA65sv8A08lGfbaspMJGJ1ezksEDyzcudUi0ocCQQcvIfeqNRsdisuxVJg7XU/Soat0ziZDlykO4G3HULdwnZmDCcAmpIWXqamACbM/M3e5LEjkLkqV4oWNuBc4jxOy/XkmDXuPLJZ2C7eOxzEOgwYTu5jE97M1To4gXt6Ol&amp;#43;arn&amp;#43;JcAgcHYPOK0Tbvou87Od8vG&amp;#43;mWy0Nidna3Z&amp;#43;kqo6/cmSWRrmGN2awAsexV3bK1jv4gjHMtN0LOH5S7zr7u17W45tfvSn4HWvbh8IFxmczy&amp;#43;qT/PgBvmfkupZO5lEKisY2mLY88rS/MI7C5ue2y45n8TqJ1YGvw6dlGXZRUl4JtzyW&amp;#43;697LsaqmjrKSelmvu543RvsdbOFj&amp;#43;K&amp;#43;bTfw92iETqGKrppKRjzJGDIWhzjYXy20dYD9VDQspH4tfkeGdlJOZW2wLq8R2wZh&amp;#43;0kWDChMu8a0iYTWGovwt&amp;#43;arUW3ja3AsSxQYY5goN383v7l&amp;#43;d1uOXS3uKr7TbIYhiVZS4nhckcFRHC2N8TpCC0jgWutrobdnBOl2KqqLYvEMLZLC&amp;#43;vrnMc4gkMblc0ht&amp;#43;3QHW3apwyg1TSduQOZ55/so8U&amp;#43;I/X/ivnbaki2XhxyelewzvdHFTNfmLnAkcbDTS97aLxwbbj5YpsRnGFPiZQU7pnO34cHEAkNvYWJsefBVJdiKuq2MpMLkmhjrqSV8jTcmNwc43BNr8CNbdi9MFwLaanwzEqLEqqKWKoo3QU7HTFxjdlIbbSwbrr28EhjosDrWvfmdl&amp;#43;HPJGKfEL7LKH/qVSjCBWmgG/M&amp;#43;6FL0gZsobcvvl4XsOH4LqoK4y4PHiLoSwvpxOYidW3bmy3/ZfPz/DfEfkdrQacYiKjiJTkMWX3cQ4feu9hirZcDEFaWmtdTmOVwdcOflte9u06/FR1jKQAam23PPh/SfC6Yk4&amp;#43;SwKPbxlXgGIYsMMcwULowYt/fPnNuOXS3uXjhv8AEmjrK2KnqsPkpGTENbLvQ8Ak2F9Bp7VVw7YvFqXZXFsMlNN0isdEYsshy&amp;#43;a4E3NtFXoP4fYxLUUceKVdO2ipHXayNxc6xdmIGg4ntJXTqtH&amp;#43;O5G3LM7LDZ9VFiqPCtnEduJKLH58Hhwd1TLEbBwqQzN5ubgW6ae1XcZ2p&amp;#43;RMDpcQqqBwnqXBvRDKA5uhJ863Z7u1YGO7F4riG01VicUNDUU8zgRFUSvaHeaBrlseIvoVZ2g2YxzaKpw0VElLBBTxBs2RxIa8nzi1p46BoFz2KPVUR1eYtbxZ/LZt5p2OfxZH5LV2X2si2mfUxilNJJBldkMufM031Gg4EfeFm0n8QH4lVPiw7ApamNrw3N0hrX2JsHZLcOdibdqWD7KYxgm1jsSjqoaumlDhM953b5Mwvq0AgefY6dgWRJsHj9ViEUr/AJPo3MILqime4Zje&amp;#43;fL2O9wATmw0Gscbi1hbM5c/mkL58IyN19KOhSTJuSUlRKwQhCEIQhCEIVuk6o95CKTqj3kLcaP9Kzos9U75yryda/vFQU5Otf3ioLFy7x3Uq&amp;#43;Z5QhCEKNPQhCEIVDE8VGGZHSU0kkb9M7SLA8iqHlZTfRZvELbnZDJA9lQGGEt8/Pwt7VwNQIW1MgpnOdCHHI5w1IVnRwwzAhzcwu&amp;#43;liilBDhmF0flZTfRZvEJHa6lB/wBtL9YLmV0uA4lVR7PYvldFejhjdAXQMcWEv11I1&amp;#43;N1YN0fTuNiFNUU8cTMQbfMcbbcvmpeV1KONLL9YI8rKb6LN4he2HjEp8EpanAaWlqqyaeQ4g58cZcHF3mgh3otI5fcsLadlHFjtczD8gp2uFt36IdlGYN9ma6c7RsAF7KGJsMkhjLbWvx5G2fK/DmFr&amp;#43;VtLp/pZdeHnBB2tpfo0un/AFBatZ8nUuMbUPq6Jk1MxlK0xsABaHAAlvIi9/eF5xDC5p9mPk&amp;#43;mDaXpc0bTILulDbec7TiTc/FO/SoPw/NcwmhIvqz3y8uJZ3ldS2v0aX6wQNraUi4pZT/3BXIcQoMS2swuljpy&amp;#43;SCplbNNLCyPONbNs3QgW4lEzcNrqvZ2sqQyWhkfLHUVMkbYy6QE5Y5Gt80AEC2uov8AE/S6c7EpfE0gOjIuL7ev3sqQ2upTwppfrBPytpvos2vDUKxXtxKDCK2ox6lpKWeCVhw4xsYHbwO1a0N9JluN144/LhtPgcmIYe1omx4h27y6UzWj5wNPMv09vZwSHRkAT2GJxADL3NsjccDt6fYhQG1tKdBTSn/uCflbS/RZdPaFe2ziljp52sp6plKBFqKaJsA0bwePP4/eqFBiMbdl5sQfRwyV&amp;#43;HkUtPMWj0X8C4dpbY2PtQdGU4dYpWap8QkazabbeexPyupRp0aX6wR5W017dFlv3gtChgqsmE/JVHSVGEPiYa&amp;#43;WVkbiXX&amp;#43;d3hdqLDh&amp;#43;fBZrMObieA4lSYJE2okixUyRNa4Z9xlIaQSbkIOi4OX3TWvpyc22HXZnbPl0UvK6ltfo0viEeVlMf&amp;#43;LN4haUXRqbHq8ODGuocDAlMTGPMcrbEkA6Fw9qwdro4242JaeKNtPPTxyRSRgATAj07DQEns9iHaMgaLp0Bgml1eAi4ve6ueVlN9Fm8Qr2HY3S4k8xMDopRqGPt5w9i4pNrnMe1zC5r2kFpbxB9i536PhLThyK7n0MRb4civoiFXoHVL6GJ1Y0NnLfPA&amp;#43;742VhUThhJCpyLGyEIQkSIQhCEK3SdUe8hFJ1R7yFuNH&amp;#43;lZ0Weqd85V5Otf3ioKcnWv7xUFi5d47qVfM8oQhCFGnoQhCELPxbDajEmNiZWCGEauZkvmPtN&amp;#43;HsWX5JP&amp;#43;nN&amp;#43;y/dddRYfNXueIXMGS185I4/BW/J2t/uQfWP6KygbW6sGJvh6BKK/U&amp;#43;AOsuG8kX/AE5v2X7o8kX/AE5v2X7rr63Dp8PLN85h3l7ZCTw&amp;#43;HtVrydrf7kH1j&amp;#43;ika6vc4tANxtyCedJuABL9v5yXCnZBx/5zeXVH9U/JF9rdPbb/ABfuu5Oz1a0EmSDT/qP6LKBuFHLNWQ21mV/kE5mkHyXwuv8AnRc15Iv&amp;#43;nN&amp;#43;yP6o8kXfTm/ZH9V1lNR1NWSIIi&amp;#43;3E8APir7dnKs&amp;#43;lLCPcSfyT4n18ouwEjoE1&amp;#43;knMNnP&amp;#43;39LhfJF9v9837I/ql5Iv&amp;#43;nN&amp;#43;y/dd27ZyrHoywn3kj8lTqcNq6RpfNFZgNszSCEshr4xdwNugQ3SZebB/2/pcgNkHD/nN&amp;#43;y/dPyRf9Ob9l&amp;#43;66yjo5a6cwxFgcG5vONhb/AMKu&amp;#43;Tlb/cg&amp;#43;sf0SRvrpW4mC46BDtJOYbOfb86LhvJF/08fZH9UeSL/pzfsv3Xc&amp;#43;Ttb/AHIPrH9EeTtb/cg&amp;#43;sf0UmHSPtPYJv6p/7H59Fwp2QceNc37L90zsi8/89v2R/VdZWUctDMIpSwuLc3mnSysU2C1VVAyeN8Qa8XGZxv8AgoWy1rnmNu0cLBPOkXhuIuyP5yXFeSDh/wA5v2X7p&amp;#43;SLx/zx9l&amp;#43;67nydrf7kH1j&amp;#43;iPJ2t/uQfWP6KbDpH2nsEz9UPvH59Fw3ki/6c37L91ewvZ&amp;#43;HD5d/JJv5R6BLbBntA5rqJMBr4xcNjk9jHfrZZ72OjeWPaWuGhBFiFzTyVbBhluAfknfHOmBaH3UUIQq9RoQhCEIQhCEK3SdUe8hFJ1R7yFuNH&amp;#43;lZ0Weqd85V5Otf3ioKcnWv7xUFi5d47qVfM8oQhCFGnoQhCELb2Z6yp9zfzXQWXP7M9bU&amp;#43;5v5roVtNFekb9fuVQVm/KwNpuNL73fkt4cFhbTaupfe78lujglp/Vzf/AD9kku5j&amp;#43;v3UZOrd7lxEEZmliiBtncG35XXcSdW73FcTTybmaKW18jw4jnYqu01hxxYtmf8AC6qC&amp;#43;F9l2cEEdPE2KNoaxosAnNK2CF0rzZrASfciKVk0bZI3BzXC4IUyA4WI0WgFsPg&amp;#43;irTtzWdBjtFO8MzOjJ4ZxYH4qrtHUZYI6dp1kOZ3uH7/AIL3q8ApJwXRXhcfV1b4LFxGkq6V7BUnO0NyseNRYdioq2arjgcyVt78R/KsIGQukBafoVY2d/mTv8R/ELplzOzv8zd/iP4hdMunQ3pfqVHXb5eNTVQ0jA&amp;#43;d&amp;#43;RpNgbE6qt8t4d9JH1T&amp;#43;i962hhrohHMXZWuzDKba/wDhWZWYFRwUc0zDJmYwkXdop6l9Wwl0QGEDje6iibC4WeTdZ&amp;#43;NVMNXWNkgfnaIwL2trcrdwX&amp;#43;U0/uP4lcl2LrcF/lNP7j&amp;#43;JVToqUzVb5HbSP5C7qxgjha0cCryosxSJ2JOoSxzXg2Duw6XV5UmYVA3EXVxc50hNwDwGllfTa67dVzz6KtZgzxcsuqu2WRtBSMko&amp;#43;kgWkiI15gngthY20FaxlKaVrgZJCLj1Re6h0hg&amp;#43;Gfj5fvwT6bFrW4VziEIWGWiQhCEIQhCEIVuk6o95CKTqj3kLcaP9Kzos9U75yryda/vFQU5Otf3ioLFy7x3Uq&amp;#43;Z5QhCEKNPQhCEIWts7KGV0kZ03jNPeP/CulC4iGV8EzJYzZ7DcFdVQYnBXMGUhsvbGTqPdzWn0PVM1epcbEbFT10LsesGxWJ6WGpLDNGH5DmbfsK9UXUXyNjYXvcGtHEk2AV9ZrbuVfcnJeVfMIKKaQ6ZWG3v7FxoBtoLlamL4oK0iGC&amp;#43;5abkn&amp;#43;o/oq2GxtkxGESEBjXZiSbcOA8bLJaRnbV1LY4zkMr9Vb0zDDEXO2q1JBX4MQ&amp;#43;B5dCQC7S4B7bj81p4VioxAujdHlkYLkjUELQ4pMjZHfIxrb8bC11fQ0b4JAY3&amp;#43;Dlt7KvfMHt8Tc&amp;#43;akqmKxNlwycO7Glw941Vu6xsaxKPcOpYXZnu0eRwaOXvU1bLHHA4v5H6psLXOkGFU9nv5k7/EfxC6Vc1s/piTv8R/ELpVxaF9L9Spq3fKlile6gp2ytjDy54bYm3YT&amp;#43;Sx6jHpainkhNO1oe0tuHHT7l0qLBdNRTTyuOCTCDwtdRRyRsGbbnquEsutwb&amp;#43;U0/uP4lY&amp;#43;0Q/8AcWf4h&amp;#43;JWxg38qg9x/Eqp0XFqaySO97D&amp;#43;Qu2rk1kDXc1eWezF4/lN9DIzKQbNffRxstArkcUeY8Yme3i14cPgArPSNS&amp;#43;max7eefRctNE2Ulp5Lrlj4/QiWDpTB85H6Vu1v7fqtdrg5ocOBFwk9gkY5jtWuFiF1VELaiIsPFQxvMbw4LhkKT2GOR8Z4scWn4KKwBBBsVpAb5oQhCEqEIQhCt0nVHvIRSdUe8hbjR/pWdFnqnfOVeTrX94qCnJ1r&amp;#43;8VBYuXeO6lXzPKEIQhRp6aEJpEiE&amp;#43;0W0I7VYoKQ11W2HNlbbM4jiAuibhuH00RLoGZWi5c/X8VYUmjpalpe0gAcSuWapZEcJzK55mIVrBYVUlva668pZpp7b6V8luGZ17LoHU&amp;#43;EVFO&amp;#43;ZkcbmMBJLDlI8FXwWjpqmke&amp;#43;aFrnbwjXsFguh1BUOe2LW3BBO02yUIqIw0vwWssQJ6Lq/kuh&amp;#43;jMXhW4fRxUUz2U7A5rCQR2aIfoSZjS4uGXVIK5hNrFc/HUTwi0U0jBya4gL1GJVwFulP8AibqzheF9NvLKSImmwA0Lj&amp;#43;i2hhtE1mUU0dvaLnxSUlBVzR42vwjhmf4RNUQtdYtuVzMlXUygtkqJHA8QXGy8bLXxTCG08Znpr5B6TDrb2hQwSmhqZZhNGHgAEX7Fyvo6g1IgkOZ2E5qZs8YjL2jJZrJHxOzRyOY61rtNivTplX9Km&amp;#43;0K6Kagw6CJ0ssDGsbxNig4Xh80QLYW2cLhzSQu8aIqW&amp;#43;Fsg6XK5/jIjmWrnOmVf0qb7Qo6bV/SpvtCpV9IaKpdDmzC12nmF0Ywqht/tmLmpqSqne9gfYt23JUsk0TAHYb3XKySSSuzSyOkNrXcbqTKqpjYGMqJWNHANeQArNbDHFjLoWMDYw9gyjhqAt/5KoforPBLTUE80jw19i02O3NLJURsa27ciuY6bV/S5vtCvF7nSOL3uLnHiSbkrp3UuDMcWvFO0jQgvFx96yHUUVZjT6enc1sOhuzUAWF7fFLUUMzLAvDiTa10RVEZuQ21gqgratosKqYAcBvCjp1X9Lm&amp;#43;0K6UYZh1LE5zoI8rRdzpNbe3VeLoMHqaZ87I4nNjaXOyeaR4LqOjahozlAPK5UYq4icmfsuaJLnFziSSbkntSR8LIVCVZIQhCEIQhCEK3SdUe8hFJ1R7yFuNH&amp;#43;lZ0Weqd85V5Otf3ioKcnWv7xUFi5d47qVfM8oQmhCiKcmEwgJpt0itYbVdDrBKWlzSC1wHG3H8l00NTBVxkwyNkaRqP1C5/BTCytMk0jGZW&amp;#43;bmNrk/t&amp;#43;Ku0dXgpxyekgcI62EgFhJAfdoddvYdOXIrU6H1ohFiC0k5cR&amp;#43;clU1mEvORuArFVgsMjXup7wPcLEN9F3sIWTS4nPh8T4WRsPnknN2Hh&amp;#43;S36mvp6VhL5AXDg0G5K5SRxke95GrySfiufSj46eVrqc2dneydSh0jSJMwu0HBYWJ4pM2WekDGZLZb631C2RUQ2HzrPrBc1iZDsSmLSCCRqPcF26YqHR041brXNj0sVBSRh0niC38MDRh0GX1B49q8pRX/ACnGYz/predwt7faqGEYkyBvR53ZW38x3YPYVdwzGqXFTV7gSNbSTuhc6QABxabEix4e&amp;#43;ynpZYqmnZhda1th5cOiZI10chuNqvTNa6F7XgFpaQb8li7O9dN3R&amp;#43;a9cVxSMwup6d4e54s5w4ALxwB7I5pi5waMotc25rjnqYpNIxNafLe/ZSsjc2ncTxstqpijmgdHN6DuOtlJjGxxtYwWa0WAHYFSxaWJ&amp;#43;GzNEjCSBoCD2hLCqpr8Pi3srcwuDmOuh0&amp;#43;5WnxEfxOr42vf67Fzat2rxfNYuLSSS4hLvGZS3zQPYuqHBYGPtjc&amp;#43;KaNzXGxa6xv7vzW2KiHL1rPrBcFANXVThx5fvdTznFEyw5rnMQ/nzv8AIz8AunXMV7muxxzgQRvGa9nALo&amp;#43;kQ/3WfWCNGuAmnz/2/tLUg4GdFnV1LhxiqJCIt9lcfS1zW5LFwyq6HWNlLS5paWuA4243&amp;#43;5b0uH4XLI&amp;#43;R4YXONyd6f1VCkjpKfHJvnGMijaBHd2hJAvqfj4rnqoX/ABEcgwtz4fc5KWKRurc03OS2YKqnrIyYZGyN7R&amp;#43;oVKqwKCRr3UxMEjhY5fRd7CFYp6CiiqDUwNaHEHVrjbX2cFKrxGmo2EySNLgNGA3J&amp;#43;CtntY&amp;#43;K9Tbr&amp;#43;bFyNLmv/wAV1x7gWuLXCxBsRyKSk95kkfI7i9xcfiorDm18loRe2aEIQkSoQhCEK3SdUe8hFJ1R7yFuNH&amp;#43;lZ0Weqd85V5Otf3ioKcnWv7xUVi5t47qVfM8oQmkpBQlOQmEBMJqRFlg47TE1Tssgikmh/wBM8nKGytvcF3ZcZLd244LfWdjzaV2FkVQebyM3RjF3NkJs0jUdvHUaEi&amp;#43;q66CYxVDTzyUchAFyo4FiMtbStZVNy1DQTwsXNBtqBwcCLOHYeV7LVseS4Gn2gbhu0dDTysmY6onDZd8NASMt2u0u0&amp;#43;aeA9Ec16UELZXxEYbAItw18lQ9gzSSuAPm8xqbnmfYVY1OjGmUuabNOa4pKtsYFs13VhyQsvBJi0y0biSGWkiv2NPFvwPgHAdi1VRzxmJ5YV1RSCRgcFF72xMdI82awEkrntn88GOYpDUhsT5XNyRB&amp;#43;bUZnEnQAOLXtPE3HuW4&amp;#43;09SIgfMiIe/2u4tH/2&amp;#43;rzVTFsHFeRU0ztxWxtGSQGwfY3Ad7jex7LniCQZ6eRrGuiebYxt5ckx4JIcOC0rJWWThWNPqJjR10e5qmuyjSwcbXsR2Ot7bEag20GwuaWJ8TsLlI1wcLhRsi1&amp;#43;xSSUd09RtZKw5KSE66FGyVhyUkkoSqJA5JWUiknhKo2HJK1uCkUinApUkk0kqchCEJUIQhCEK3SdUe8hFJ1R7yFuNH&amp;#43;lZ0Weqd85V5Otf3ioqUnWv7xUVi5t47qVfM8oTT7Ek1AUqYUgkE00pEKjjdDLiGEyw0&amp;#43;XpDHMmhzcC9jg5oPK5Fr&amp;#43;1X00rHmN4eNoTHtDmkHiuIixbD8SzU00WSRrrSU1Syz4zrxafcPFWzSyRQ5KScwhos1sjd4wfeD8LrTxvA2YtVtnZFFJV09K90LX5gXkOabBzSHA9gN/6uCVNs/S1&amp;#43;HVklHJUmWKT/T5quXK/5trmtd518pLtSCD7VpopmyMa4ZX&amp;#43;oVHJSOaSAViw4pW4VVtq66lme2JrhJ0Zoe17CNbHQgghpsbXtYXW7S7U4bWUbauAyuY6wbYA&amp;#43;ceDTYnKbkDVU6vCq3D8Kicw0ZrHSiN53sxZCS24BzSm5vpe/aNF7Uuz1PO6CrniMVX0du9nZYPfIQM19OAtwNwc3DQKCtjprB8v7f0uiJ01sLAFq4fPTyxFsVQyaUefNbRwce0g6j2A9llaWfBgsENVFUunnlfCSWB5aACRa/mtB4X7bLRss9Pq8d4ySPmu&amp;#43;Mvw&amp;#43;MZrn9pqX52mqmZmuedy9zeIIBcx1&amp;#43;bS029618Pqum0ENQS3M9vn5eGYaOt8QVR2lkMdDTgW8&amp;#43;pa0/VcfyTwWSOj2ebLM/KyN8rnnjYGRx/AhdbwX0jDxBsP3SAgPK1UKDJopMu7lY7M3M3K4G45&amp;#43;5TVeQRtUwN0kk0JQlUUlJJPCVJRKkknBKolIqSinBKkkmhOSpIQhKlQhCEIVuk6o95CKTqj3kLcaP8ASs6LPVO&amp;#43;cq8nWv7xUVKTrXd4qKxU28d1KvmeUJhNIcVIKEpUwmkExxTCkKaYWY6pnqryU05hiuQwta1xfzJvewv2cefGwr0rsTlMsRxCOZ0Mgjc94EIJIDiNAbWa5vC97gcyOxlDI/iAuI1bL2GarYuaqqxEShlfFDShzGvo6gNJBIa4nLfiT6PEBhNtdLuzdXQ4nA&amp;#43;KGuraeSqZ8zG5rGGNsbiCGObcE2sDrmIbfTsyaXZoyV9Wx7qKpllrLMD4hLkJYJJDvLA2GbQW4m1&amp;#43;1bFfs7g2F0JlmoIqmRzg&amp;#43;eWSma&amp;#43;7Wg/0ljmtABt2G3Fxsr&amp;#43;OJrGhl&amp;#43;llxl73Ovayp4lhFIzEYnCWGaOXKGvfLGXZSbH5rJZ1yfSuSLX0tY7tE2NtMGRVDqhrCRvHvzuvfgT7L2XH4nXMiDI8J3cEIAIpi0ENJNg1rczwAXOBI80dvaSLNc6RlLLUz4k&amp;#43;euka2FsgrnsDewFxaRm84k8LDNbQXKjrqRk0bbPseVkR1IY7MLr7J29i4alqYGta0bRVM0j6rcindX&amp;#43;dK0S5NLecLgXuPgtGrxnZsQRwzVEFRU2a0vlgGYi4uQX6usL29InTieNV&amp;#43;kvP&amp;#43;37FdIqg7MBWtp6GqxJlJT0QcZYZ2yP1aA1rmva30nNuSdAL81lQ1ootl8QimD6u9aaVrZfNyuMbS4HlY5vj4r0qJMGoNn4MVwwUEldNPFKJW7tr6bUea0Bt7aFtjr5xJJ4L0fR0OP0ktPSNgzOpnFk&amp;#43;QgySB4cHZjGw&amp;#43;lfNlv6QvbS9kKdkNOGvOTSCe6Yx4dNc7FiYTjNZhb5JZRDO5rMkYMZFm5rlt83m3ve9ncBou9pKynroRLTvLmkA2c0tc24Dhdp1FwQdewgrg6TY3GpKiEVcTIoHSATWnBcGX1tb2fiu/hhip4xFBEyKJvosY0NaNb8AuDSj6dxBYbu5jZ9VZyCEECEWHFTSTSVKE1IpJrMx3EH0FLFupmwySyBocWgkDmAdONhrzU8UZkeGN2lIXYRdaJSK5OkxDEKRgcap7nu817ahxka4jtFzdt7X0IGut9FbGOYiHAuZSOb2tDHNJ9l8xt4FdzqCQHIgpgmHFdAorwoK5lfT71rSxzXZJGO4sdx49osQQf8A8XueK5HNLCWu2qYEEXCSE0kBOSQhCVKhCEIQrdJ1R7yEUnVHvIW40f6VnRZ6p3zlXk61/eKipSda/vFRWKm3jupV8zyhMcVIKITUJSqQTSCaYUizzgOHGWSUMqGOleXuEdXMxpcTcnKHAC5N9F5ybMYXKwxSRyvidKJnRyTOkDnhpaHXcSeBtoewclqhNTfFTjY891CYo&amp;#43;S56v2fpMPw&amp;#43;V2Hz1dDeVjgIJiC15IYXAnW5abEXtoNFSq45sIq6eV9ZVVtJK9sb21k75fOvfMOwEWBAtrqOOVdDjMRmwWsa12V4hc9juTm&amp;#43;cD4gLmTW0bg18kPSY6vITTzNbnIe46&amp;#43;ayx9FztSbhvZdXNBNJLGS83sf4CrqplnjCMlsxUtLi0pZaKWGKPM05Q5udxIvbgSMrgRycQVdpcOwt8RthdFG9hyyMbAzzHcuHIgj2Ec1nbOvoYZ6gQNnaamXLGZMzgQ1t7Zjftz9vYtme9O/pY9EC0w01b63/bqfcTxNlXVb3iUxgkDguiBgbGDZS6BRmJ8XRIAx7crmiMAEJUmH0VBAIKSkihjAtZjRr7zxPxVgWQq0ySWtcrpwt22WHtTRg7Lzw0kEIETmPZCRlYfOGmlrcTy1XnsjTubQSST3MrJXMY3eOe2FpDCWNudASAbD8ld2inEODSN4umeyJo53cL&amp;#43;ABPwUNnI8tBLIHBzZZ3OBB5ANP3tKsWyP&amp;#43;AIJ2uUOEa261UIQqxdKSSaRSpUiqmI4dFiMAY9xY9tyx4F7XHAjtB7QrZSUzHOY4Oac0hAIsVx1NheIzy1DoqeGWSKTdOb0lgklFzwYdBo0usSNB22WjS7POxCjdUwzRvqYngxgzNcxzSOTbhpIIsczr&amp;#43;wFXqd3RMRlmbRVs7oc286MWOLmOcXgZD51iSRcWuW2N8otuOnjw0zvxDEYmsPzg3rgzI2/tPwWrDrsDgNoVdncgnYuWwWKemrpRU0z6c1EZDA9zTm3Ty13ok2sX/G&amp;#43;l1tlVKStixiZ&amp;#43;JRVG&amp;#43;iY58NOMmUxtuM1&amp;#43;0kloOvZZWyqGsIMxsrCEHBmkkhC5gpkkIQlSoQhCEK3SdUe8hFJ1R7yFuNH&amp;#43;lZ0Weqd85V5Otf3ioqUnWv7xUVi5t47qVfM8oTCfakmoClUgmohSTSkTTUVJNKRU8XmdDhNS6O28czdx34Z3HK37yFlxYFhkBG7pQMrcl87rkWsQddQRoR2hWdpHzNo6bo&amp;#43;QyuqAGNebNJyuIJ0PAgOt25bKhhzMZq53xvqIRuWsLtNH6nW&amp;#43;Xi7LYj&amp;#43;kEEXKuKNpZT48Vs/wDiqasudKGN5LMpKGqw7aDcsbKKUVYlpskZDC15DnMzcBYgixsTccRcLvO1cVS1uLVJhbNuW5pXMcCReN&amp;#43;8G7JAH9JGUjtN12naotK3xMxbbKajcS0g8FXg/wBNL0Y6RuuYTy5s&amp;#43;HEezuqdXWQUMG&amp;#43;qH5W3ygAXLjyA7Tx8CeAKlPEJ4izMWO4teOLXDgVztfJJieMw0pc2PckRSta67o3u85xsTqC0Nyns19oXLTwfEPudgFz9OK6HuwBK1btFW5w3cQwkhpOoivx70h7baN4d7o6eCOlp44IW5WRtDQL38eZ9qcMMdPCyGFgZGwWa0dgU1HUT6yzWizRsCcxlsztQkhC5VIkhCScAlQkU1Ep4SrA2xp5J8JY&amp;#43;Co6PNFIXiQOLfNDHFzbjUAgX94C5GDZLEaiV8klTA1xeQ&amp;#43;QkucTbjw18QV3OPQsqIKeCUfNSSuY/W3mmKQHVVoqWOGnNObvYbh2bib8eFuavqOodHThoPFQOuHZLw2UpJMJ6Zhk0zZfPFRG8AtLwQGu0JPAtHb/UOa6ArBoA&amp;#43;KupoZZi6WnkMYe7V0sTmEtB&amp;#43;LRfmY7reK4q0Ey4jxUkRuEkISXIFOhCEJUIQhCEK3SdUe8hFJ1R7yFuNH&amp;#43;lZ0Weqd85V5Otf3ioqUnWv7xUFi5t47qVfM8oTUgophQlOUgmophNSKSaQQmpFjY5JnxCjgDgRFHJO4X4HRrT/wDJ33qzs/FIzCIp5nNM1UBO/JfKMwFgL8LNA&amp;#43;N1zG0VRJNtfDQRtGaYiEv1zMblBuCOGr/uXc2DdGgADQAdisqr/HSxx88/zv8AsuGNl53P&amp;#43;i5nGqAUr53ySmOirH5jIx&amp;#43;R1O&amp;#43;1yb8iQTfmbEWW3hNd0/D2Tl7HvuWvMZBBIPHTmLG3tUMbp3VWDVMcYzSNZvIxfi5hDgPiRZYOwWIyV0WJxubEGRTgtLBbOTcZre4N1Q&amp;#43;9RRF52sP7fn2Q1gjmy4rrljU&amp;#43;DubtXVYrNE1wcy0Ml75btY0i3YfNdrbgePYti6LqtjldHiDeIsupzA6100JIuok5NJCSWyEIQknAIQUkITkqy9omSy4LIyEO3jpIgMpsSDI2&amp;#43;vZpf4LFhosWEe5ixKaLKLMMtNG4D2E7wk&amp;#43;9dTPTx1LBHJmsCCC1xaQfeF8/xLEMRp8UfDDi07IzUyMtZhyND7Di3lzV5o272GMWyzzCgkjLnXCt4FNLPtlDNPUR1F6NzGPbctJDnAvAIGU3Dm25X1sV2xXzvZfLBtVSxQkmMmRmpvpkcfxC&amp;#43;hpmlG2mA&amp;#43;X9qWJmAWKEkIVYpkIQhCEIQhCFbpOqPeQik6o95C3Gj/Ss6LPVO&amp;#43;cq8nWv7xUFOTrX94qCxcu8d1KvmeUJpqKaiKcpJ8FFP2JpSI3jeazqvaGhonO6QZYmRvyPe6J1r2/pFru49l9AfZfRyt5IyN5J7DGD4xdMcCRkuJjnz7St2hdQvcyZwEXzZNhlDBd9yNLgmw4uIBJBXT4djsGIta5lPURNePMMzMuY8h2kjw46m11fyBMxg810T1McwALbWFhnwUbIy3iqmJYzS4VSioqSfOdkjYOL3EaN9nDidAsTZWirMOkbv4HiF1NYSGRxBIcLDI43bpfhxFjodB0wjaEbsJjJ2sidG0ebb/CUsu4E8E96OSN6OSW7HtRu281y&amp;#43;FPT3o5I3g5I3Y5o3YSeFCN6OSW89ieQc0iwJbBCN77Et6OSN2EbsJRhSpb4ckt8OSe7alu2pRhSqniWK9AjYWU8k8j3WDWMeQBzcWtcR4cfFci2mpsQkyMqHuLLmOZzHQmElwd83GXZjppa2Xkb3v3W7ajKF309U2Btmtz53/4onxF5zKw8GwfD4HDEN3M&amp;#43;r3jy2Wdz84Bu3UG3Z2kX1utu4PBGVvJFrKCaV0rsRUrW4RZCEIUSehCEIQhCEIQrdJ1R7yEUnVHvIW40f6VnRZ6p3zlXk61/eKgpyda/vFQWLl3jupV8zyhCaSFGnpppISJFJNRumCmpFK6FFO6RIpXUmsc5pLQSBa9l53U2SPZ6J7blDQL&amp;#43;JIb2yTyusTawBtqbJ7uTKTkOhtw7VESyAkh5u43JUukShuUOsL3NhxOn6J41fG6Z4&amp;#43;FksrrOOU&amp;#43;bofYgxyA2MbteGnFAmkbfK8i/LRLev01GgtwHBFo7cUeP5IDXEXDSRzsnun5yzLZwANibceCQkeGZA4hvJBmfnLy7zj22CAI&amp;#43;N0vj4JZX39Fw&amp;#43;Ce6ks85fQtm9iN/KLWedOHsURI8EkG1yDw7RwSgR/NHjT3ch/od4KF1PfyaDOdOC8ybpCG/6pwxcUJIQhPQkhCVKhCEIQhCEIQhCEIQrdJ1R7yEUnVHvIW40f6VnRZ6p3zk3UzHOLiXam6XRI&amp;#43;bvFCFUPijxHwjsu5r3WGaOiR83eKOiR83eKEJmqj9o7JcbuaOiR83eKOix83eKEI1MftHZGN3NPorObkdFZzchCTUx&amp;#43;0dkY3c0dGZzcn0ZnNyEI1MftHZGN3NLozObk&amp;#43;js5uQhJqY/aOyTG7mjo7ObkdHZzchCNTH7R2RjdzR0dnNyOjs5uQhGpj9o7Ixu5o6Mzm5LozObkIRqY/aOyMbuaOjM5uR0ZnN3ihCXUx&amp;#43;0dkY3c0dFZzcjorObvFCEamP2jslxu5o6LHzcl0SPm7xQhLqY/aOyMbuaOiR83eKOiR83eKEI1UftHZGN3NHRI&amp;#43;bvFHRI&amp;#43;bvFCEaqP2jsjG7mjokfN3ijokfN3ihCNVH7R2RjdzR0SPm7xR0SPm7xQhGqj9o7Ixu5r1jjEbcrSeN9UIQtBTACFoCrZTd5uv/2Q=="
/>
&lt;/a>&lt;/p>
&lt;p>As with many concepts it is not the the idea that is hard but it’s application. ‘&lt;a href="http://www.amazon.co.uk/Fifty-Quick-Ideas-Improve-Stories/dp/0993088104/ref=as_sl_pc_ss_til?tag=buitwoonmypc-21&amp;amp;linkCode=w01&amp;amp;linkId=AYSQ7OIGICPH33HV&amp;amp;creativeASIN=0993088104">Fifty Quick Ideas to Improve Your User Stories’&lt;/a> by  &lt;a href="http://www.amazon.co.uk/Gojko-Adzic/e/B004P9W8G6/ref=dp_byline_cont_book_1">Gojko Adzic&lt;/a> and &lt;a href="http://www.amazon.co.uk/David-Evans/e/B00OM4JKQU/ref=dp_byline_cont_book_2">David Evans&lt;/a> provides some great tips to apply the concept of user stories to real world problems. Highlighting where they work and where they don’t, and what you can do about it.&lt;/p>
&lt;p>I think this book is well worth a read for anyone, irrespective of their role in a team; it’s short chapters (usually a couple of pages per idea) means it easy to pickup and put down when you get a few minutes. Perfect for that commute&lt;/p></description></item><item><title>Can’t build SSDT projects in a TFS build</title><link>https://blogs.blackmarble.co.uk/rfennell/cant-build-ssdt-projects-in-a-tfs-build/</link><pubDate>Wed, 03 Dec 2014 13:24:06 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/cant-build-ssdt-projects-in-a-tfs-build/</guid><description>
&lt;p>Whilst building a new TFS build agent VM using our standard scripts I hit a problem that SSDT projects would not build, but was fine on our existing agents. The error was&lt;/p>
&lt;blockquote>
&lt;p>C:Program Files (x86)MSBuildMicrosoftVisualStudiov12.0SSDTMicrosoft.Data.Tools.Schema.SqlTasks.targets (513): The &amp;quot;SqlBuildTask&amp;quot; task failed unexpectedly.&lt;br>
System.MethodAccessException: Attempt by method 'Microsoft.Data.Tools.Schema.Sql.Build.SqlTaskHost.OnCreateCustomSchemaData(System.String, System.Collections.Generic.Dictionary`2&amp;lt;System.String,System.String&amp;gt;)' to access method 'Microsoft.Data.Tools.Components.Diagnostics.SqlTracer.ShouldTrace(System.Diagnostics.TraceEventType)' failed.&lt;/p>&lt;/blockquote>
&lt;p>The problem was fixed by doing an update via the Visual Studio &amp;gt; Tools &amp;gt; Extensions and Updates. Once this was completed the build was fine.&lt;/p></description></item><item><title>Living with a DD-WRT virtual router – one month on</title><link>https://blogs.blackmarble.co.uk/rfennell/living-with-a-dd-wrt-virtual-router-one-month-on/</link><pubDate>Wed, 26 Nov 2014 12:09:40 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/living-with-a-dd-wrt-virtual-router-one-month-on/</guid><description>
&lt;h4 id="i-posted-a-month-or-so-ago-about-my-experiences-using-a-dd-wrt-router-with-hyper-v-well-i-have-been-living-with-it-over-a-month-how-has-it-been-going">I posted a month or so ago about my ‘&lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/post/2014/10/07/Experiences-using-a-DD-WRT-router-with-Hyper-V.aspx">Experiences using a DD-WRT router with Hyper-V&lt;/a>’, well I have been living with it over a month? How has it been going?&lt;/h4>
&lt;p>Like the &lt;a href="http://en.wikipedia.org/wiki/Curate%27s_egg">curate’s egg ‘good in parts’&lt;/a>. It seems OK for while and then everything would get a bit slow to stop.&lt;/p>
&lt;p>Just as a reminder this is what I had ended up with&lt;/p>
&lt;p>&lt;a href="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_214.png">&lt;img
loading="lazy"
decoding="async"
alt="image"
class="image_figure image_internal image_unprocessed"
src="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_thumb_211.png"
title="image"
/>
&lt;/a>&lt;/p>
&lt;p>In essence, a pair of virtual switches, one internal using DHCP on the DD-WRT virtual router, and a second one connected to an active external network (usually Ethernet, as &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/post/2013/06/07/DHCP-does-not-seem-to-work-on-Ubuntu-for-wireless-based-Hyper-V-virtual-switches.aspx">DHCP with virtual switches and WIFI in Hyper-V seem a very hit and miss affair&lt;/a>).&lt;/p></description></item><item><title>Why am I getting ‘cannot access outlook.ost’ issues with Office 365 Lync?</title><link>https://blogs.blackmarble.co.uk/rfennell/why-am-i-getting-cannot-access-outlook-ost-issues-with-office-365-lync/</link><pubDate>Mon, 24 Nov 2014 17:13:24 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/why-am-i-getting-cannot-access-outlook-ost-issues-with-office-365-lync/</guid><description>
&lt;p>We use O365 to provide Lync messaging. So when I rebuilt my PC I thought I needed to re-install the client; so I logged into the O365 web site and selected the install option. Turns out this was a mistake. I had Office 2013 installed, so I already had the client, I just had not noticed.&lt;/p>
&lt;p>If you do install O365 Lync client (as well as Office 2013 one) you get file access errors reported with your outlook.ost files. If this occurs, just un-install the O376 client and use the one in Office 2013, the errors go away&lt;/p></description></item><item><title>TFS announcements roundup</title><link>https://blogs.blackmarble.co.uk/rfennell/tfs-announcements-roundup/</link><pubDate>Sat, 22 Nov 2014 12:18:50 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/tfs-announcements-roundup/</guid><description>
&lt;p>There have been a load on announcements about TFS, VSO and Visual Studio in general in the past couple of week, mostly at the &lt;a href="http://channel9.msdn.com/events/Visual-Studio/Connect-event-2014">Connect() event&lt;/a>.&lt;/p>
&lt;p>Just to touch on a few items&lt;/p>
&lt;ul>
&lt;li>&lt;a href="http://go.microsoft.com/fwlink/?linkid=390465">Visual Studio and Team Foundation Server 2013 Update 4&lt;/a>. &lt;/li>
&lt;li>The first public &lt;a href="http://go.microsoft.com/fwlink/?linkid=517106">preview of Visual Studio 2015 and .NET 2015&lt;/a>&lt;/li>
&lt;li>The .NET Framework is going &lt;a href="https://github.com/dotnet/corefx">open source&lt;/a> and cross platform&lt;/li>
&lt;li>&lt;a href="http://go.microsoft.com/fwlink/?LinkId=518338">Visual Studio Community 2013&lt;/a> – a new edition of Visual Studio that combines everything in all the Express products and adds extensibility support.  &lt;a href="http://www.visualstudio.com/news/vs2013-community-vs">Learn more…&lt;/a>&lt;/li>
&lt;li>&lt;a href="http://www.visualstudio.com/news/news-overview-vs">New improvements to Visual Studio Online&lt;/a>&lt;/li>
&lt;li>Release Management as service on VSO&lt;/li>
&lt;/ul>
&lt;p>If you have not had a chance to have look at these features try the &lt;a href="http://channel9.msdn.com/events/Visual-Studio/Connect-event-2014">videos of all the sessions on Channel9, the keynotes are a good place to start&lt;/a>. Also look, as usual, at the various &lt;a href="http://blogs.msdn.com/b/bharry/">posts on Brian Harry’s Blog&lt;/a>. It is time of rapid change in ALM tooling&lt;/p></description></item><item><title>Errors running tests via TCM as part of a Release Management pipeline</title><link>https://blogs.blackmarble.co.uk/rfennell/errors-running-tests-via-tcm-as-part-of-a-release-management-pipeline/</link><pubDate>Fri, 21 Nov 2014 11:48:24 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/errors-running-tests-via-tcm-as-part-of-a-release-management-pipeline/</guid><description>
&lt;p>Whilst getting integration tests running as part of a &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/post/2014/04/08/What-I-learnt-getting-Release-Management-running-with-a-network-Isolated-environment.aspx">Release Management  pipeline within Lab Management&lt;/a> I hit a problem that TCM triggered tests failed as the tool claimed it could not access the TFS build drops location, and that no .TRX (test results) were being produced. This was strange as it used to work (the RM system had worked when it was 2013.2, seems to have started to be issue with 2013.3 and 2013.4, but this might be a coincidence)&lt;/p></description></item><item><title>Passed the Scaled Agile Framework assessment</title><link>https://blogs.blackmarble.co.uk/rfennell/passed-the-scaled-agile-framework-assessment/</link><pubDate>Fri, 21 Nov 2014 11:15:07 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/passed-the-scaled-agile-framework-assessment/</guid><description>
&lt;p>Whilst over at the MVP Summit I had the chance to do a &lt;a href="http://scaledagileframework.com/">Scaled Agile Framework&lt;/a> workshop. I am pleased to say I passed the assessment.&lt;/p>
&lt;p>Certainly has some interesting ideas in scaling Agile to larger teams working on a single product stream where a simple Scrum of Scrums is not enough.&lt;/p>
&lt;p>
&lt;img
loading="lazy"
decoding="async"
alt=""
class="image_figure image_external image_unprocessed"
src="http://www.dessler.de/media/2013/05/scaled_agile_framework.png"
/>
&lt;/p></description></item><item><title>‘Test run must be created with at least one test case’ error when using TCM</title><link>https://blogs.blackmarble.co.uk/rfennell/test-run-must-be-created-with-at-least-one-test-case-error-when-using-tcm/</link><pubDate>Thu, 20 Nov 2014 22:30:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/test-run-must-be-created-with-at-least-one-test-case-error-when-using-tcm/</guid><description>
&lt;p>I have been setting up some integration tests as part of a release pipeline. I am using TCM.EXE to trigger tests from the command line. Something along the lines&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="ln">1&lt;/span>&lt;span class="cl">TCM.exe run /create /title:&amp;#34;EventTests&amp;#34; /collection:&amp;#34;[http://myserver:8080/tfs](http://myserver:8080/tfs)” /teamproject:myteamproject /testenvironment:&amp;#34;Integration&amp;#34; /builddir:[\\serverDropsBuild\_1.0.226.1975”](//\serverDropsBuild_1.0.226.1975”)  /include /planid:26989  /suiteid:27190 /configid:1
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>I kept getting the error&lt;/p>
&lt;blockquote>
&lt;p>‘A test run must be created with at least one test case’&lt;/p>&lt;/blockquote>
&lt;p>Strange thing was my test suite did contains a number of test, &lt;a href="http://stackoverflow.com/questions/11797341/a-test-run-must-be-created-with-at-least-one-test-case">and they were marked as active.&lt;/a>&lt;/p></description></item><item><title>Linking VSO to your Azure Subscription and Azure Active Directory</title><link>https://blogs.blackmarble.co.uk/rfennell/linking-vso-to-your-azure-subscription-and-azure-active-directory/</link><pubDate>Thu, 20 Nov 2014 12:10:18 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/linking-vso-to-your-azure-subscription-and-azure-active-directory/</guid><description>
&lt;p>I have a few old Visual Studio Online (VSO) accounts (dating back to TFSPreview.com days). We use them to collaborate with third parties, it was long overdue that I tidied them up; as a problem historically has been that all access to VSO has been using a Microsoft Accounts (LiveID, MSA), these are hard to police, especially if users mix personal and business ones.&lt;/p>
&lt;p>The solution is to link your VSO instance to an Azure Active Directory (AAD). This means that only users listed in the AAD can connect to the VSO instance. As this AAD can be federated to an on-prem company AD it means that the VSO users can be either&lt;/p></description></item><item><title>Video card issues during install of Windows 8.1 causes very strange issues</title><link>https://blogs.blackmarble.co.uk/rfennell/video-card-issues-during-install-of-windows-8-1-causes-very-strange-issues/</link><pubDate>Wed, 19 Nov 2014 17:54:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/video-card-issues-during-install-of-windows-8-1-causes-very-strange-issues/</guid><description>
&lt;p>Whilst repaving my Lenovo W520 I had some &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/post/2014/11/15/Issues-repaving-the-Lenovo-W520-with-Windows-81-again.aspx">issues with video cards&lt;/a>. During the initial setup of Windows the PC hung. I rebooted, re-enabled in the BIOS the problematic video card and I thought all was OK. The installation appeared to pickup where it left off. However, I started to get some very strange problems.&lt;/p>
&lt;ul>
&lt;li>My LiveID settings did not sync from my other Windows 8.1 devices&lt;/li>
&lt;li>I could not change my profile picture&lt;/li>
&lt;li>I could not change my desktop background&lt;/li>
&lt;li>I could not change my screen saver&lt;/li>
&lt;li>And most importantly Windows Update would not run&lt;/li>
&lt;/ul>
&lt;p>I found a few posts that said all of these problems could be seen when Windows was activated, but that was not the issue for me. It showed as being activated, changing the product key had no effect.&lt;/p></description></item><item><title>Issues repaving the Lenovo W520 with Windows 8.1 - again</title><link>https://blogs.blackmarble.co.uk/rfennell/issues-repaving-the-lenovo-w520-with-windows-8-1-again/</link><pubDate>Sat, 15 Nov 2014 14:37:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/issues-repaving-the-lenovo-w520-with-windows-8-1-again/</guid><description>
&lt;p>&lt;strong>Updated 19th Nov 2014&lt;/strong>&lt;/p>
&lt;p>Every few months I find a PC needs to be re-paved – just too much beta code has accumulated. I reached this point again on my main 4 year old Lenovo W520 recently. Yes it is getting on a bit in computer years but it does the job; the keyboard is far nicer than the W530 or W540’s we have and until an ultrabook is shipped with 16Gb of memory (I need local VMs, too many places I go to don’t allow me to get to VMs on Azure) I am keeping it.&lt;/p></description></item><item><title>Microsoft Connect() event on the 12 and 13 November</title><link>https://blogs.blackmarble.co.uk/rfennell/microsoft-connect-event-on-the-12-and-13-november/</link><pubDate>Mon, 10 Nov 2014 14:48:27 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/microsoft-connect-event-on-the-12-and-13-november/</guid><description>
&lt;p>Microsoft are running a free web-based event &lt;a href="http://blogs.msdn.com/b/visualstudio/archive/2014/11/10/save-the-date-connect-november-12-amp-13-is-almost-here.aspx">Connect()&lt;/a> on the 12th and 13th of November. Should be well worth a watch to see the planned direction of developer tooling.&lt;/p></description></item><item><title>Cannot see a TFS drops location from inside a network isolated environment for Release Management</title><link>https://blogs.blackmarble.co.uk/rfennell/cannot-see-a-tfs-drops-location-from-inside-a-network-isolated-environment-for-release-management/</link><pubDate>Fri, 31 Oct 2014 15:21:08 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/cannot-see-a-tfs-drops-location-from-inside-a-network-isolated-environment-for-release-management/</guid><description>
&lt;p>I have &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/post/2014/04/08/What-I-learnt-getting-Release-Management-running-with-a-network-Isolated-environment.aspx">posted before about using Release Management with Lab Management network isolation&lt;/a>. They key is that you must issue a NET USE command at the start of the pipeline to allow the VMs in the isolated environment the ability to see the TFS drops location.&lt;/p>
&lt;p>I hit a problem today that a build failed even though I had issued the NET USE.&lt;/p>
&lt;p>I got the error&lt;/p>
&lt;blockquote>
&lt;p>Package location '\storedropsSabs.Main.CISabs.Main.CI_2.5.178.19130\' does not exist or Deployer user does not have access.&lt;/p></description></item><item><title>Ordering rows that use the format 1.2.3 in a SQL query</title><link>https://blogs.blackmarble.co.uk/rfennell/ordering-rows-that-use-the-format-1-2-3-in-a-sql-query/</link><pubDate>Thu, 30 Oct 2014 11:31:49 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/ordering-rows-that-use-the-format-1-2-3-in-a-sql-query/</guid><description>
&lt;p>Whilst working on a SSRS based report I had hit a sort order problem. Entries in a main report tablix needed to be sorted by their &lt;em>OrderNumber&lt;/em> but this was in the form 1.2.3; so a neither a numeric or alpha sort gave the correct order i.e. a numeric sort fails as 1.2.3 is not a number and an alpha sort worked but give the incorrect order 1.3, 1.3.1, 1.3.10, 1.3.11, 1.3.12, 1.3.2.&lt;/p></description></item><item><title>VSO now available in a European Azure Data Center</title><link>https://blogs.blackmarble.co.uk/rfennell/vso-now-available-in-a-european-azure-data-center/</link><pubDate>Tue, 28 Oct 2014 15:02:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/vso-now-available-in-a-european-azure-data-center/</guid><description>
&lt;p>&lt;em>I don’t normal do posts that are just re-posts of TFS announcements, it is much better to get the information first hand from the original post, but this one is significant for us in Europe…&lt;/em>&lt;/p>
&lt;p>Up to now there has been a barrier to adoption of &lt;a href="http://www.visualstudio.com/en-us/products/what-is-visual-studio-online-vs.aspx">VSO&lt;/a> that the underlying data will be hosted in the USA. Now there are all the usual Azure Microsoft guarantees about data security, but this has not been enough for some clients for legal, regulatory or their own reasons. This has made VSO a non-starter for many European’s where it at first appears a great match.&lt;/p></description></item><item><title>Having fun with my HDMIPI</title><link>https://blogs.blackmarble.co.uk/rfennell/having-fun-with-my-hdmipi/</link><pubDate>Sun, 26 Oct 2014 22:03:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/having-fun-with-my-hdmipi/</guid><description>
&lt;p>The &lt;a href="http://hdmipi.com/">HDMIPI&lt;/a> screen I supported on &lt;a href="https://www.kickstarter.com/projects/697708033/hdmipi-affordable-9-high-def-screen-for-the-raspbe/posts">KickStarter&lt;/a> arrived this week. After a bit of a false start with a driver board that failed after a couple of minutes it is now all up and running. The replacement board arrived in 48Hours – great support service&lt;/p>
&lt;p>&lt;a href="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/WP_20141026_002.jpg">&lt;img
loading="lazy"
decoding="async"
alt="WP_20141026_002"
class="image_figure image_internal image_unprocessed"
src="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/WP_20141026_002_thumb.jpg"
title="WP_20141026_002"
/>
&lt;/a>&lt;/p>
&lt;p>Now to get down to some projects – that toy robot does look like it needs automating via an IR transmitter and my &lt;a href="http://www.piface.org.uk/">PiFace&lt;/a>&lt;/p></description></item><item><title>Visual Studio crashes when trying to add an item to a TFS build workflow</title><link>https://blogs.blackmarble.co.uk/rfennell/visual-studio-crashes-when-trying-to-add-an-item-to-a-tfs-build-workflow/</link><pubDate>Fri, 24 Oct 2014 15:56:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/visual-studio-crashes-when-trying-to-add-an-item-to-a-tfs-build-workflow/</guid><description>
&lt;p>There has for a long time been an issue that when you &lt;a href="https://github.com/tfsbuildextensions/CustomActivities/wiki/Integrate%20Build%20Activities">try to add a new activity to the toolbox&lt;/a> when editing a TFS build workflow Visual Studio can crash. I have seen it many times and never got to the bottom of it. It seems to be machine specific, as one machine can work while another supposedly identical will fail, but I could never track down the issue.&lt;/p>
&lt;p>Today I was on a machine that was failing, but …&lt;/p></description></item><item><title>Getting Release Management to fail a release when using a custom PowerShell component</title><link>https://blogs.blackmarble.co.uk/rfennell/getting-release-management-to-fail-a-release-when-using-a-custom-powershell-component/</link><pubDate>Mon, 20 Oct 2014 12:55:37 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/getting-release-management-to-fail-a-release-when-using-a-custom-powershell-component/</guid><description>
&lt;p>If you have a custom PowerShell script you wish to run you can create a tool in release Management (Inventory &amp;gt; Tools) for the script which deploys the .PS1, PSM files etc. and defines the command line to run it.&lt;/p>
&lt;p>The problem we hit was that our script failed, but did not fail the build step as the PowerShell.EXE running the script exited without error. The script had thrown an exception which was in the output log file, but it was marked as a completed step.&lt;/p></description></item><item><title>ALM Ranger’s release DevOps Guidance for PowerShell DSC – perfectly timed for DDDNorth</title><link>https://blogs.blackmarble.co.uk/rfennell/alm-rangers-release-devops-guidance-for-powershell-dsc-perfectly-timed-for-dddnorth/</link><pubDate>Sat, 18 Oct 2014 11:59:21 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/alm-rangers-release-devops-guidance-for-powershell-dsc-perfectly-timed-for-dddnorth/</guid><description>
&lt;p>In a beautiful synchronicity the &lt;a href="https://vsardevops.codeplex.com/releases">ALM Rangers DevOps guidance for PowerShell DSC has been release&lt;/a> at at the same time as I am doing my DDDNorth session ‘&lt;a href="http://www.dddnorth.co.uk/Sessions/Details/97">What is Desired State Configuration and how does it help me?’&lt;/a>&lt;/p>
&lt;p>This Rangers project has been really interesting to work on, and provide much of the core of my session for DDDNorth.&lt;/p>
&lt;p>Well worth a look if you want to create your own DSC resources.&lt;/p></description></item><item><title>"The handshake failed due to an unexpected packet format" with Release Management</title><link>https://blogs.blackmarble.co.uk/rfennell/the-handshake-failed-due-to-an-unexpected-packet-format-with-release-management/</link><pubDate>Fri, 17 Oct 2014 21:47:23 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/the-handshake-failed-due-to-an-unexpected-packet-format-with-release-management/</guid><description>
&lt;p>Whilst configuring a Release Management 2013.3 system I came across a confusing error. All seemed OK, the server, client and deployment agents were all installed and seemed to be working, but when I tried to select a build to deploy from both the Team Projects and Build drop downs were empty.&lt;/p>
&lt;p>&lt;a href="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_209.png">&lt;img
loading="lazy"
decoding="async"
alt="image"
class="image_figure image_internal image_unprocessed"
src="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_thumb_206.png"
title="image"
/>
&lt;/a>&lt;/p>
&lt;p>A check of the Windows event log on the server showed the errors&lt;/p>
&lt;blockquote>
&lt;p>The underlying connection was closed: An unexpected error occurred on a send&lt;br>
The handshake failed due to an unexpected packet format&lt;/p></description></item><item><title>Cannot build a SSRS project in TFS build due to expired license</title><link>https://blogs.blackmarble.co.uk/rfennell/cannot-build-a-ssrs-project-in-tfs-build-due-to-expired-license/</link><pubDate>Wed, 15 Oct 2014 12:31:35 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/cannot-build-a-ssrs-project-in-tfs-build-due-to-expired-license/</guid><description>
&lt;p>If you want to get your TFS build process to product SSRS RDL files you need to call the vsDevEnv custom activity to run Visual Studio (&lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/post/2013/04/24/Getting-SQL-2012-SSIS-packages-built-on-TFS-20122.aspx">just like for SSIS packages&lt;/a>). On our new TFS2013.3 based build agents this step started to fail, turns out the issue was not incorrect versions of DLLs or a some badly applied update, but that the license for Visual Studio on the build agent had expire.&lt;/p></description></item><item><title>‘Unable to reconnect to database: Timeout expired’ error when using SQLPackage.exe to deploy to Azure SQL</title><link>https://blogs.blackmarble.co.uk/rfennell/unable-to-reconnect-to-database-timeout-expired-error-when-using-sqlpackage-exe-to-deploy-to-azure-sql/</link><pubDate>Wed, 15 Oct 2014 12:05:52 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/unable-to-reconnect-to-database-timeout-expired-error-when-using-sqlpackage-exe-to-deploy-to-azure-sql/</guid><description>
&lt;p>I have trying to update a Azure hosted SQL DB using Release Management and the SSDT SQLPackage tools. All worked fine on my test Azure instance, but then I wanted to deploy to production I got the following error&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="ln">1&lt;/span>&lt;span class="cl">\*\*\* An error occurred during deployment plan generation. Deployment cannot continue.
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">2&lt;/span>&lt;span class="cl">Failed to import target model \[dbname\]. Detailed message Unable to reconnect to database: Timeout expired.  The timeout period elapsed prior to completion of the operation or the server is not responding.
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">3&lt;/span>&lt;span class="cl">Unable to reconnect to database: Timeout expired.  The timeout period elapsed prior to completion of the operation or the server is not responding.
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">4&lt;/span>&lt;span class="cl">Timeout expired.  The timeout period elapsed prior to completion of the operation or the server is not responding.
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">5&lt;/span>&lt;span class="cl">The wait operation timed out
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Turns out SQLPackage.exe was connecting OK, as if I entered an invalid password it gave a different error, so it had made the connection and then died.&lt;/p></description></item><item><title>Microsoft ALM event to Black Marble offices on the 26th of November</title><link>https://blogs.blackmarble.co.uk/rfennell/microsoft-alm-event-to-black-marble-offices-on-the-26th-of-november/</link><pubDate>Wed, 15 Oct 2014 07:58:56 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/microsoft-alm-event-to-black-marble-offices-on-the-26th-of-november/</guid><description>
&lt;p>Black Marble is hosting a free Microsoft ALM event at our offices on the 26th of November. For once I will not be speaker, &lt;a href="http://blogs.msdn.com/b/visualstudiouk/">Giles and Colin from the Microsoft UK Visual Studio Team&lt;/a> are coming up to deliver the session.&lt;/p>
&lt;p>For more details and registration see &lt;a href="http://bit.ly/ALMLeeds">http://bit.ly/ALMLeeds&lt;/a>&lt;/p></description></item><item><title>Experiences using a DD-WRT router with Hyper-V</title><link>https://blogs.blackmarble.co.uk/rfennell/experiences-using-a-dd-wrt-router-with-hyper-v/</link><pubDate>Tue, 07 Oct 2014 21:41:29 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/experiences-using-a-dd-wrt-router-with-hyper-v/</guid><description>
&lt;p>I have been playing around with the idea of using a &lt;a href="http://www.dd-wrt.com/site/support/router-database">DD-WRT-V router&lt;/a> on a Hyper-V VM to connect my local virtual machines to the Internet as discussed by &lt;a href="http://nakedalm.com/run-router-hyper-v/">Martin Hinshlewood in his blog post&lt;/a>. I learned a few things that might be of use to others trying the same setup.&lt;/p>
&lt;h3 id="what-i-used-to-do">What I used to do&lt;/h3>
&lt;p>Prior to using the router I had been using three virtual switches on my Windows 8 Hyper-V setup with multiple network adaptors to connect both my VMs and host machine to the switches and networks&lt;/p></description></item><item><title>Version stamping Windows 8 Store App manifests in TFS build</title><link>https://blogs.blackmarble.co.uk/rfennell/version-stamping-windows-8-store-app-manifests-in-tfs-build/</link><pubDate>Tue, 07 Oct 2014 17:44:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/version-stamping-windows-8-store-app-manifests-in-tfs-build/</guid><description>
&lt;p>We have for a long time used the &lt;a href="https://github.com/tfsbuildextensions/CustomActivities/wiki/Getting%20started%20with%20the%20TfsVersion%20activity">TFSVersion custom build activity&lt;/a> to stamp all our TFS builds with a unique version number that matches out build number. However, this only edits the &lt;strong>AssemblyInfo.cs&lt;/strong> file. As we are now building more and more Windows 8 Store Apps we also need to edit the XML in the &lt;strong>Package.appxmanifest&lt;/strong> files used to build the packages too. Just like a Wix MSI project it is a good idea the package version matches some aspect of the assemblies it contains. We need to automate the update of this manifest as people too often forget to increment the version, causing confusion all down the line.&lt;/p></description></item><item><title>Updated blog server to BlogEngine.NET 3.1</title><link>https://blogs.blackmarble.co.uk/rfennell/updated-blog-server-to-blogengine-net-3-1/</link><pubDate>Wed, 01 Oct 2014 09:02:46 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/updated-blog-server-to-blogengine-net-3-1/</guid><description>
&lt;p>Last night I upgraded this blog server to &lt;a href="https://blogengine.codeplex.com/releases/view/133254">BlogEngine.NET 3.1&lt;/a>. I used the new built in automated update tool, in an offline backup copy of course.&lt;/p>
&lt;p>It did most of the job without any issues. The only extra things I needed to do was&lt;/p>
&lt;ul>
&lt;li>Removed a &amp;lt;add name=&amp;quot;XmlRoleProvider&amp;quot; …&amp;gt; entry in the web.config. I have had to do this before on every install.&lt;/li>
&lt;li>Run the SortOrderUpdate.sql script to add the missing column and index (see &lt;a href="https://blogengine.codeplex.com/workitem/12543">issue 12543&lt;/a>)&lt;/li>
&lt;/ul>
&lt;p>Once done and tested locally I upload the tested site to my production server. Just a point to note, that the upgrade creates some backup ZIPs of your site before the upgrade, you don’t need to copy these around as they are large.&lt;/p></description></item><item><title>Swapping the the Word template in a VSTO project</title><link>https://blogs.blackmarble.co.uk/rfennell/swapping-the-the-word-template-in-a-vsto-project/</link><pubDate>Mon, 22 Sep 2014 22:09:54 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/swapping-the-the-word-template-in-a-vsto-project/</guid><description>
&lt;p>We have recently swapped the &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/post/2014/04/07/Upgrading-a-VSTO-project-from-VS-2008-to-2013.aspx">Word template we use to make sure all our proposals and other documents are consistent&lt;/a>. The changes are all cosmetic, fonts, footers etc. to match our new &lt;a href="http://www.blackmarble.co.uk/">website&lt;/a>; it still makes use of the same VSTO automation to do much of the work. The problem was I needed to swap the .DOTX file within the VSTO Word Add-in project, we had not been editing the old DOTX template in the project, but had created a new one based on a copy outside of Visual Studio.&lt;/p></description></item><item><title>Using MSDEPLOY from Release Management to deploy Azure web sites</title><link>https://blogs.blackmarble.co.uk/rfennell/using-msdeploy-from-release-management-to-deploy-azure-web-sites/</link><pubDate>Thu, 18 Sep 2014 19:44:05 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/using-msdeploy-from-release-management-to-deploy-azure-web-sites/</guid><description>
&lt;p>Whilst developing our new set of websites we have been using MSDeploy to package up the websites for deployment to test and production Azure accounts. These deployments were being triggered directly using Visual Studio. Now we know this is not best practice, you don’t want developers shipping to production from their development PCs, so I have been getting around to migrating these projects to Release Management.&lt;/p>
&lt;p>I wanted to minimise change, as we like MSDeploy, I just wanted to pass the extra parameters to allow a remote deployment as opposed to a local one using the built in WebDeploy component in Release Management&lt;/p></description></item><item><title>Speaking at PreEmptive’s event on Application Analytics in London on the 30th of September</title><link>https://blogs.blackmarble.co.uk/rfennell/speaking-at-preemptives-event-on-application-analytics-in-london-on-the-30th-of-september/</link><pubDate>Thu, 18 Sep 2014 19:02:06 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/speaking-at-preemptives-event-on-application-analytics-in-london-on-the-30th-of-september/</guid><description>
&lt;p>I am speaking at PreEmptive’s event on Application Analytics in at Microsoft’s office in London on the 30th of September. There are various speakers from PreEmptive, Microsoft and Black Marble at this free event.&lt;/p>
&lt;p>There are still spaces available, just follow the link: &lt;a href="https://www.eventbrite.co.uk/e/application-analytics-with-visual-studio-and-preemptive-analytics-event-tickets-13042288837">Application Analytics with Visual Studio and PreEmptive Analytics&lt;/a> for  more details and registration.&lt;/p></description></item><item><title>“Communication with the deployer was lost during deployment” error with Release Management</title><link>https://blogs.blackmarble.co.uk/rfennell/communication-with-the-deployer-was-lost-during-deployment-error-with-release-management/</link><pubDate>Thu, 18 Sep 2014 12:55:21 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/communication-with-the-deployer-was-lost-during-deployment-error-with-release-management/</guid><description>
&lt;p>Whilst developing  a new Release Management pipeline I did hit a problem that a component that published MSDeploy packages to Azure started to fail.  It had been working then suddenly I started seeing ‘communication with the deployer was lost during deployment’ messages as shown below.&lt;/p>
&lt;p>&lt;a href="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_thumb%5B1%5D.png">&lt;img
loading="lazy"
decoding="async"
alt="image_thumb[1]"
class="image_figure image_internal image_unprocessed"
src="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_thumb%5B1%5D_thumb.png"
title="image_thumb[1]"
/>
&lt;/a>&lt;/p>
&lt;p>No errors were shown in any logs I could find, and no files appeared on the deployment target (you would expect the files/scripts to be deployed to appear on the machine running a RM Deployment client in the &lt;em>C:users[account]localtempRM&lt;/em> folder structure).&lt;/p></description></item><item><title>Moving our BlogEngine.NET server to Azure</title><link>https://blogs.blackmarble.co.uk/rfennell/moving-our-blogengine-net-server-to-azure/</link><pubDate>Tue, 16 Sep 2014 13:35:26 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/moving-our-blogengine-net-server-to-azure/</guid><description>
&lt;p>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.&lt;/p>
&lt;p>BlogEngine.NET is now a gallery item for Azure website, so a few clicks and your should be up and running.&lt;/p>
&lt;p>&lt;a href="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_194.png">&lt;img
loading="lazy"
decoding="async"
alt="image"
class="image_figure image_internal image_unprocessed"
src="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_thumb_191.png"
title="image"
/>
&lt;/a>&lt;/p>
&lt;p>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 ‘&lt;a href="https://www.youtube.com/watch?v=ynjax44fN-E">Set BlogEngine.NET to use SQL provider in Azure&lt;/a>’, but we found we needed to perform some extra steps due to where our DB was coming from.&lt;/p></description></item><item><title>Publishing more than one Azure Cloud Service as part of a TFS build</title><link>https://blogs.blackmarble.co.uk/rfennell/publishing-more-than-one-azure-cloud-service-as-part-of-a-tfs-build/</link><pubDate>Wed, 10 Sep 2014 14:03:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/publishing-more-than-one-azure-cloud-service-as-part-of-a-tfs-build/</guid><description>
&lt;p>Using the process in my &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/post/2014/07/14/Building-Azure-Cloud-Applications-on-TFS.aspx">previous post&lt;/a> 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.&lt;/p>
&lt;p>The method outlined in the &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/post/2014/07/14/Building-Azure-Cloud-Applications-on-TFS.aspx">previous post&lt;/a> drops the two files into a &lt;strong>Packages&lt;/strong> folder under the drops location. The .CSPKG files are fine, as they have unique names. However there is only one &lt;strong>ServiceConfiguration.cscfg&lt;/strong>, whichever one was created last.&lt;/p></description></item><item><title>Getting the correct path and name for a project to pass as an MSBuild argument in TFS Build</title><link>https://blogs.blackmarble.co.uk/rfennell/getting-the-correct-path-and-name-for-a-project-to-pass-as-an-msbuild-argument-in-tfs-build/</link><pubDate>Wed, 10 Sep 2014 10:59:56 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/getting-the-correct-path-and-name-for-a-project-to-pass-as-an-msbuild-argument-in-tfs-build/</guid><description>
&lt;p>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 &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/post/2014/07/14/Building-Azure-Cloud-Applications-on-TFS.aspx">past blog post&lt;/a>. The problem was I kept getting the build error&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="ln">1&lt;/span>&lt;span class="cl">The target &amp;#34;Azure PackagesBlackMarble.Win8AppBuilder.AzureApi&amp;#34; does not exist in the project.
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>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.&lt;/p></description></item><item><title>Deploying a Windows service with Release Management</title><link>https://blogs.blackmarble.co.uk/rfennell/deploying-a-windows-service-with-release-management/</link><pubDate>Tue, 09 Sep 2014 14:29:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/deploying-a-windows-service-with-release-management/</guid><description>
&lt;p> 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.&lt;/p>
&lt;h3 id="wix-contents">WIX Contents&lt;/h3>
&lt;p>The first step to to create an MSI installer for the service. This was done using &lt;a href="http://wixtoolset.org/">WIX&lt;/a>, with all the fun that usually entails. The key part was a component to do the actual registration and starting of the service&lt;/p></description></item><item><title>PowerShell Summit Europe 2014</title><link>https://blogs.blackmarble.co.uk/rfennell/powershell-summit-europe-2014/</link><pubDate>Mon, 08 Sep 2014 09:58:08 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/powershell-summit-europe-2014/</guid><description>
&lt;p>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&lt;/p>
&lt;p>Give that fact, the &lt;a href="http://eventmgr.azurewebsites.net/event/home/PSEU14">PowerShell Summit Europe 2014&lt;/a> 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.&lt;/p></description></item><item><title>Got around to updating my Nokia 820 to WP81 Update 1</title><link>https://blogs.blackmarble.co.uk/rfennell/got-around-to-updating-my-nokia-820-to-wp81-update-1/</link><pubDate>Wed, 03 Sep 2014 17:44:30 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/got-around-to-updating-my-nokia-820-to-wp81-update-1/</guid><description>
&lt;p>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 &lt;a href="http://answers.microsoft.com/en-us/winphone/forum/wpdp-wpupdate/0x80188308-error-on-81-dp-update-1-install/ccfe96a7-4a60-4bbc-b211-7450b134b41b">doing a reset as discussed in the forums&lt;/a> as it seem a bit drastic, thought I would wait for Microsoft to sort out the process. I got bored waiting..&lt;/p>
&lt;p>Turns out as long as you do the backup first it is fairly painless, took about an hour of uploads and downloads over WiFi&lt;/p></description></item><item><title>Getting ‘… is not a valid URL’ when using Git TF Clone</title><link>https://blogs.blackmarble.co.uk/rfennell/getting-is-not-a-valid-url-when-using-git-tf-clone/</link><pubDate>Tue, 02 Sep 2014 11:34:51 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/getting-is-not-a-valid-url-when-using-git-tf-clone/</guid><description>
&lt;p>I have been attempting to use the &lt;a href="http://www.microsoft.com/en-gb/developers/articles/week02mar2014/migrating-a-tfs-tfvc-based-team-project-to-a-git-team-project-retaining-as-much-source-and-work-item-history-as-possible">Git TF technique&lt;/a> 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&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="ln">1&lt;/span>&lt;span class="cl">git tf clone “http://tfsserver1:8080/tfs/My Tpc” “$/My Folder”’ oldrepo --deep
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>But this gave the error&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="ln">1&lt;/span>&lt;span class="cl">git-tf: “http://tfsserver1:8080/tfs/My Tpc” is not a valid URL
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>At first I suspected it was the quotes I was using, as I had &lt;a href="https://blogs.blackmarble.co.uk/blogs/rfennell/post/2014/06/09/Cloning-tfs-repository-with-git-tf-gives-a-a-server-path-must-be-absolute.aspx">had problems here before&lt;/a>, but swapping from ‘ to “ made no difference.&lt;/p></description></item><item><title>Build failing post TFS 2013.3 upgrade with ‘Stack empty. (type InvalidOperationException)’</title><link>https://blogs.blackmarble.co.uk/rfennell/build-failing-post-tfs-2013-3-upgrade-with-stack-empty-type-invalidoperationexception/</link><pubDate>Mon, 01 Sep 2014 20:42:43 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/build-failing-post-tfs-2013-3-upgrade-with-stack-empty-type-invalidoperationexception/</guid><description>
&lt;p>Just started seeing build error on a build that was working until we upgraded the build agent to TFS 2013.3&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="ln"> 1&lt;/span>&lt;span class="cl">Exception Message: Stack empty. (type InvalidOperationException)
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 2&lt;/span>&lt;span class="cl">Exception Stack Trace:    at Microsoft.VisualStudio.TestImpact.Analysis.LanguageSignatureParser.NotifyEndType()
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 3&lt;/span>&lt;span class="cl">   at Microsoft.VisualStudio.TestImpact.Analysis.SigParser.ParseType()
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 4&lt;/span>&lt;span class="cl">   at Microsoft.VisualStudio.TestImpact.Analysis.SigParser.ParseRetType()
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 5&lt;/span>&lt;span class="cl">   at Microsoft.VisualStudio.TestImpact.Analysis.SigParser.ParseMethod(Byte num1)
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 6&lt;/span>&lt;span class="cl">   at Microsoft.VisualStudio.TestImpact.Analysis.SigParser.Parse(Byte\* blob, UInt32 len)
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 7&lt;/span>&lt;span class="cl">   at Microsoft.VisualStudio.TestImpact.Analysis.LanguageSignatureParser.ParseMethodName(MethodProps methodProps, String&amp;amp; typeName, String&amp;amp; fullName)
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 8&lt;/span>&lt;span class="cl">   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&amp;amp; languageParser)
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 9&lt;/span>&lt;span class="cl">   at Microsoft.VisualStudio.TestImpact.Analysis.AssemblyMethodComparer.CompareAssemblies(String firstPath, String secondPath, Boolean lookupSourceFiles)
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">10&lt;/span>&lt;span class="cl">   at Microsoft.TeamFoundation.TestImpact.BuildIntegration.BuildActivities.GetImpactedTests.CompareBinary(CodeActivityContext context, String sharePath, String assembly, IList\`1 codeChanges)
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">11&lt;/span>&lt;span class="cl">   at Microsoft.TeamFoundation.TestImpact.BuildIntegration.BuildActivities.GetImpactedTests.CompareBuildBinaries(CodeActivityContext context, IBuildDefinition definition, IList\`1 codeChanges)
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">12&lt;/span>&lt;span class="cl">   at Microsoft.TeamFoundation.TestImpact.BuildIntegration.BuildActivities.GetImpactedTests.Execute(CodeActivityContext context)
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">13&lt;/span>&lt;span class="cl">   at System.Activities.CodeActivity.InternalExecute(ActivityInstance instance, ActivityExecutor executor, BookmarkManager bookmarkManager)
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">14&lt;/span>&lt;span class="cl">   at System.Activities.Runtime.ActivityExecutor.ExecuteActivityWorkItem.ExecuteBody(ActivityExecutor executor, BookmarkManager bookmarkManager, Location resultLocation)
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>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.&lt;/p></description></item><item><title>DDDNorth - agenda published - registration opens - and it is full</title><link>https://blogs.blackmarble.co.uk/rfennell/dddnorth-agenda-published-registration-opens-and-it-is-full/</link><pubDate>Mon, 01 Sep 2014 13:11:42 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/dddnorth-agenda-published-registration-opens-and-it-is-full/</guid><description>
&lt;p>This morning &lt;a href="http://www.dddnorth.co.uk/Schedule">DDDNorth’s  agenda was published&lt;/a>, &lt;a href="http://www.dddnorth.co.uk/Home/Register">registration opened&lt;/a> and it was full. All within a couple of hours.&lt;/p>
&lt;p>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&lt;/p>
&lt;p>
&lt;img
loading="lazy"
decoding="async"
alt="DDD North Logo"
class="image_figure image_external image_unprocessed"
src="http://www.dddnorth.co.uk/Content/images/logo.png"
/>
&lt;/p></description></item><item><title>My DDDnorth session has been accepted</title><link>https://blogs.blackmarble.co.uk/rfennell/my-dddnorth-session-has-been-accepted/</link><pubDate>Sun, 31 Aug 2014 11:54:24 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/my-dddnorth-session-has-been-accepted/</guid><description>
&lt;p>My &lt;a href="http://www.dddnorth.co.uk/">DDDNorth&lt;/a> session &amp;quot;What is Desired State Configuration and how does it help me?&amp;quot; has been accepted, looking forward to it&lt;/p></description></item><item><title>Listing all the PBIs that have no acceptance criteria</title><link>https://blogs.blackmarble.co.uk/rfennell/listing-all-the-pbis-that-have-no-acceptance-criteria/</link><pubDate>Fri, 22 Aug 2014 12:49:37 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/listing-all-the-pbis-that-have-no-acceptance-criteria/</guid><description>
&lt;p>&lt;strong>Update 24 Aug 2014:&lt;/strong>  Changed the PowerShell to use a pipe based filter as opposed to nested foreach loops&lt;/p>
&lt;p>The TFS Scrum process template’s Product Backlog Item work item type has an acceptance criteria field. It is good practice to make sure any PBI has this field completed; however it is not always possible to enter this content when the work item is initially create i.e. before it is approved. We oftan find we add a PBI that is basically a title and add the summary and acceptance criteria as the product is planned.&lt;/p></description></item><item><title>Guest post on the Microsoft’s UK Developers site ‘Migrating a TFS TFVC based team project to a Git team project - a practical example’</title><link>https://blogs.blackmarble.co.uk/rfennell/guest-post-on-the-microsofts-uk-developers-site-migrating-a-tfs-tfvc-based-team-project-to-a-git-team-project-a-practical-example/</link><pubDate>Mon, 18 Aug 2014 12:14:45 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/guest-post-on-the-microsofts-uk-developers-site-migrating-a-tfs-tfvc-based-team-project-to-a-git-team-project-a-practical-example/</guid><description>
&lt;p>I have just had an article published on the Microsoft’s UK Developers site &lt;a href="http://www.microsoft.com/en-gb/developers/articles/week03aug14/migrating-a-tfs-tfvc-based-team-project-to-a-git-team-project">Migrating a TFS TFVC based team project to a Git team project - a practical example&lt;/a>&lt;/p></description></item><item><title>Why is my TFS report not failing when I really think it should ?</title><link>https://blogs.blackmarble.co.uk/rfennell/why-is-my-tfs-report-not-failing-when-i-really-think-it-should/</link><pubDate>Fri, 15 Aug 2014 21:35:02 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/why-is-my-tfs-report-not-failing-when-i-really-think-it-should/</guid><description>
&lt;p>Whilst creating some custom reports for a client we hit a problem that though the reports worked on my development system and their old TFS server it failed on their new one. The error being that the Microsoft_VSTS_Scheduling_CompletedWork was an invalid column name&lt;/p>
&lt;p>&lt;a href="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_192.png">&lt;img
loading="lazy"
decoding="async"
alt="image"
class="image_figure image_internal image_unprocessed"
src="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_thumb_189.png"
title="image"
/>
&lt;/a>&lt;/p>
&lt;p>Initially I suspected the problem was a warehouse reprocessing issue, but other reports worked so it could not have been that.&lt;/p>
&lt;p>It must really be the column is missing, and that sort of makes sense. On the new server the team was using the Scrum process template, the Microsoft_VSTS_Scheduling_CompletedWork  and Microsoft_VSTS_Scheduling_OriginalEstimate fields are not included in this template, the plan had been to add them to allow some analysis of estimate accuracy. This had been done on my development system, but not on the client new server. Once these fields were added to the Task work item the report leapt into life.&lt;/p></description></item><item><title>Where have my freeview tuners gone?</title><link>https://blogs.blackmarble.co.uk/rfennell/where-have-my-freeview-tuners-gone/</link><pubDate>Thu, 14 Aug 2014 21:53:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/where-have-my-freeview-tuners-gone/</guid><description>
&lt;p>&lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/category/MCE.aspx">I have been a long time happy user of Windows Media Center&lt;/a> since it’s XP days. My current systems is Windows 8.1 an &lt;a href="http://en.wikipedia.org/wiki/Acer_AspireRevo">ATOM based Acer Revo&lt;/a> with a pair of  &lt;a href="http://www.pctvsystems.com/Products/ProductsEuropeAsia/DVBTT2products/PCTVnanoStickT2/tabid/248/language/en-GB/Default.aspx">USB PCTV Nanostick T2 Freeview HD tuners&lt;/a>. For media storage I used a USB attached &lt;a href="http://uk.startech.com/HDD/Enclosures/35in-4-Drive-eSATA-USB-FireWire-External-SATA-RAID-Enclosure~S354UFER">StarTech RAID disk sub system&lt;/a>. This has been working well for a good couple of years, sitting in a cupboard under that stairs. However, I am about to move house and all the kit is going to have to go under the TV. The Revo is virtually silent, but the RAID crate was going to be an issue. It sounds like and aircraft taking off as the disks spin up.&lt;/p></description></item><item><title>Getting the Typemock TFS build activities to work on a TFS build agent running in interactive mode</title><link>https://blogs.blackmarble.co.uk/rfennell/getting-the-typemock-tfs-build-activities-to-work-on-a-tfs-build-agent-running-in-interactive-mode/</link><pubDate>Sat, 02 Aug 2014 17:21:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/getting-the-typemock-tfs-build-activities-to-work-on-a-tfs-build-agent-running-in-interactive-mode/</guid><description>
&lt;p>&lt;a href="http://msdn.microsoft.com/en-us/library/hh691189.aspx">Windows 8 store applications need to be built on a TFS build agent running in interactive mode if you wish to run any tests&lt;/a>. So whilst rebuilding all our build systems I decided to try to have all the agents running interactive. As we tend to run one agent per VM this was not going to be a major issue I thought.&lt;/p>
&lt;p>However, whilst testing we found that any of our builds that use the &lt;a href="http://docs.typemock.com/isolator/Default.aspx#%23Ref.chm/Documentation/TFS2013Build.html">Typemock build activities&lt;/a> failed when the build agent was running interactive, but work perfectly when it was running as a service. The error was&lt;/p></description></item><item><title>AddBizTalkHiddenReferences error in TFS build when installing ProjectBuildComponent via a command line setup</title><link>https://blogs.blackmarble.co.uk/rfennell/addbiztalkhiddenreferences-error-in-tfs-build-when-installing-projectbuildcomponent-via-a-command-line-setup/</link><pubDate>Sat, 02 Aug 2014 15:59:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/addbiztalkhiddenreferences-error-in-tfs-build-when-installing-projectbuildcomponent-via-a-command-line-setup/</guid><description>
&lt;p>I have been trying to script the installation of all the tools and SDKs we need on our TFS Build Agent VMs. This included BizTalk. A quick check on &lt;a href="http://msdn.microsoft.com/en-us/library/jj248690%28v=bts.80%29.aspx">MSDN&lt;/a> showed the setup command line parameter I need to install the build components was&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="ln">1&lt;/span>&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">2&lt;/span>&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">3&lt;/span>&lt;span class="cl">/ADDLOCAL ProjectBuildComponent
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>So I ran this via my VMs setup PowerShell script, all appeared OK, but when I tried a build I got the error&lt;/p></description></item><item><title>TFS 2013 wizard allows you to proceed to verification even if you have no SQL admin access</title><link>https://blogs.blackmarble.co.uk/rfennell/tfs-2013-wizard-allows-you-to-proceed-to-verification-even-if-you-have-no-sql-admin-access/</link><pubDate>Fri, 01 Aug 2014 21:13:20 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/tfs-2013-wizard-allows-you-to-proceed-to-verification-even-if-you-have-no-sql-admin-access/</guid><description>
&lt;p>Had an interesting issue during and upgrade from TFS 2012 to 2013.2 today. The upgrade of the files proceeded as expect and the wizard ran. It picked up the correct Data Tier, found the tfs_configuration Db and I was able to fill in the service account details.&lt;/p>
&lt;p>However, when I got to the reporting section it found the report server URLs, but when it tried to find the tfs_warehouse DB it seemed to lock up, though the test of the SQL instance on the same page worked OK.&lt;/p></description></item><item><title>TFS Alert DSL documentation and downloads update</title><link>https://blogs.blackmarble.co.uk/rfennell/tfs-alert-dsl-documentation-and-downloads-update/</link><pubDate>Fri, 01 Aug 2014 21:00:30 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/tfs-alert-dsl-documentation-and-downloads-update/</guid><description>
&lt;p>Having installed my &lt;a href="https://tfsalertsdsl.codeplex.com/">TFS Alert DSL&lt;/a> today onto a client’s TFS 2013.2, I have realised some of the documentation was a little unclear. So I have have just updated the &lt;a href="https://tfsalertsdsl.codeplex.com/releases/view/122072">download page&lt;/a> to provide an easy means to get&lt;/p>
&lt;ul>
&lt;li>The actual DSL implementation (without rebuilding the source)&lt;/li>
&lt;li>A command line tool to create an event source in case you want log to the Windows event log&lt;/li>
&lt;/ul>
&lt;p>Hope this helps&lt;/p></description></item><item><title>Why is the Team Project drop down in Release Management empty?</title><link>https://blogs.blackmarble.co.uk/rfennell/why-is-the-team-project-drop-down-in-release-management-empty/</link><pubDate>Mon, 28 Jul 2014 16:41:14 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/why-is-the-team-project-drop-down-in-release-management-empty/</guid><description>
&lt;p>&lt;strong>The problem&lt;/strong>&lt;/p>
&lt;p>Today I found I had a problem when trying to associate a Release Management 2013.2 release pipeline with a TFS build. When I tried to select a team project the drop down for the release properties was empty.&lt;/p>
&lt;p>&lt;a href="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_191.png">&lt;img
loading="lazy"
decoding="async"
alt="image"
class="image_figure image_internal image_unprocessed"
src="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_thumb_188.png"
title="image"
/>
&lt;/a>&lt;/p>
&lt;p>The strange thing was this installation of Release Management has been working OK last week. What had changed?&lt;/p>
&lt;p>I suspected an issue connecting to TFS, so in the Release Management Client’s ‘Managing TFS’ tab I tried to verify the  active TFS server linked to the Release Management. As soon as I tried this I got the following error that the TFS server was not available.&lt;/p></description></item><item><title>I have just submitted a session for DDDNorth 2014</title><link>https://blogs.blackmarble.co.uk/rfennell/i-have-just-submitted-a-session-for-dddnorth-2014/</link><pubDate>Fri, 25 Jul 2014 14:47:19 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/i-have-just-submitted-a-session-for-dddnorth-2014/</guid><description>
&lt;p>I have just submitted a session for DDDNorth 2014, which is at the University of Leeds on Saturday 18 October.&lt;/p>
&lt;p>There is still time for you to submit yours &lt;a href="http://bit.ly/1wwwqBA">Session submission&lt;/a>&lt;/p>
&lt;p>
&lt;img
loading="lazy"
decoding="async"
alt="DDD North Logo"
class="image_figure image_external image_unprocessed"
src="http://www.dddnorth.co.uk/Content/images/logo.png"
/>
&lt;/p></description></item><item><title>Automating TFS Build Server deployment with SCVMM and PowerShell</title><link>https://blogs.blackmarble.co.uk/rfennell/automating-tfs-build-server-deployment-with-scvmm-and-powershell/</link><pubDate>Fri, 18 Jul 2014 16:47:28 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/automating-tfs-build-server-deployment-with-scvmm-and-powershell/</guid><description>
&lt;p>&lt;a href="http://blogs.blackmarble.co.uk/blogs/rhepworth/post/2014/07/17/Automating-TFS-Build-Server-deployment-with-SCVMM-and-PowerShell.aspx">Rik recently posted&lt;/a> about the work we have done to automatically provision TFS build agent VMs. This has come out of us having about 10 build agents on our TFS server all doing different jobs, with different SDKs etc. When we needed to increase capacity for a given build type we had a problems, could another agent run the build? what exactly was on the agent anyway? An audit of the boxes made for horrible reading, there were very inconsistent.&lt;/p></description></item><item><title>Could not load file or assembly 'Microsoft.TeamFoundation.WorkItemTracking.Common, Version=12.0.0.0’ when running a build on a new build agent on TFS 2013.2</title><link>https://blogs.blackmarble.co.uk/rfennell/could-not-load-file-or-assembly-microsoft-teamfoundation-workitemtracking-common-version12-0-0-0-when-running-a-build-on-a-new-build-agent-on-tfs-2013-2/</link><pubDate>Thu, 17 Jul 2014 10:03:16 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/could-not-load-file-or-assembly-microsoft-teamfoundation-workitemtracking-common-version12-0-0-0-when-running-a-build-on-a-new-build-agent-on-tfs-2013-2/</guid><description>
&lt;p>I am currently rebuilding our TFS build infrastructure, we have too many build agents that are just too different, they don’t need to be. So I am looking at a standard set of features on a build agent and the ability to auto provision new instances to make scaling easier. More on this in a future post…&lt;/p>
&lt;p>Anyway whilst testing a new agent I had a problem. A build that had worked on a previous test agent failed with the error&lt;/p></description></item><item><title>MSBuild targeting a project in a solution folder</title><link>https://blogs.blackmarble.co.uk/rfennell/msbuild-targeting-a-project-in-a-solution-folder/</link><pubDate>Mon, 14 Jul 2014 21:15:36 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/msbuild-targeting-a-project-in-a-solution-folder/</guid><description>
&lt;p>Whilst working on an automated build where I needed to target a specific project I hit a problem. I would normally expect the MSBuild argument to be&lt;/p>
&lt;blockquote>
&lt;p>/t:MyProject:Build&lt;/p>&lt;/blockquote>
&lt;p>Where I want to build the project &lt;strong>Myproject&lt;/strong> in my solution and perform the &lt;strong>Build&lt;/strong> target (which is probably the default anyway).&lt;/p>
&lt;p>However, my project was in a solution folder. The &lt;a href="http://msdn.microsoft.com/en-us/library/ms171486.aspx">documentation&lt;/a> says the you should be able to use for form&lt;/p></description></item><item><title>Building Azure Cloud Applications on TFS</title><link>https://blogs.blackmarble.co.uk/rfennell/building-azure-cloud-applications-on-tfs/</link><pubDate>Mon, 14 Jul 2014 14:43:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/building-azure-cloud-applications-on-tfs/</guid><description>
&lt;p>If you are doing any work with Azure Cloud Applications there is a very good chance you will want your automated build process to produce the .CSPKG deployment file, you might even want it to do the deployment too.&lt;/p>
&lt;p>On our TFS build system, it turns out this is not a straight forward as you might hope. The problem is that the MSbuild publish target that creates the files creates them in the &lt;strong>$(build agent working folder)sourcemyprojectbindebug&lt;/strong> folder. Unlike the output of the build target which puts them in the &lt;strong>$(build agent working folder)binaries&lt;/strong> folder which gets copied to the build drops location. Hence though the files are created they are not accessible with the rest of the built items to the team.&lt;/p></description></item><item><title>Interesting license change for VS Online for ‘Stakeholder’ users</title><link>https://blogs.blackmarble.co.uk/rfennell/interesting-license-change-for-vs-online-for-stakeholder-users/</link><pubDate>Mon, 14 Jul 2014 08:39:01 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/interesting-license-change-for-vs-online-for-stakeholder-users/</guid><description>
&lt;p>All teams have  ‘Stakeholder’, the people the are driving a project forward, who want the new system to be able to do their job; but are often not directly involved in the production/testing of the system. In the past this has been an awkward group to provide TFS access for. If they want to see any detail of the project they need a TFS CAL, expensive for the occasional casual viewer.&lt;/p></description></item><item><title>A new badge for Channel9 Guy</title><link>https://blogs.blackmarble.co.uk/rfennell/a-new-badge-for-channel9-guy/</link><pubDate>Mon, 07 Jul 2014 13:01:43 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/a-new-badge-for-channel9-guy/</guid><description>
&lt;p>My Channel9 Guy has a new MVP badge&lt;/p>
&lt;p>&lt;a href="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_188.png">&lt;img
loading="lazy"
decoding="async"
alt="image"
class="image_figure image_internal image_unprocessed"
src="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_thumb_185.png"
title="image"
/>
&lt;/a>&lt;/p></description></item><item><title>Post by one of our Testers about experiences with CodeUI and Windows Store Apps on the MSDN blog</title><link>https://blogs.blackmarble.co.uk/rfennell/post-by-one-of-our-testers-about-experiences-with-codeui-and-windows-store-apps-on-the-msdn-blog/</link><pubDate>Thu, 03 Jul 2014 11:38:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/post-by-one-of-our-testers-about-experiences-with-codeui-and-windows-store-apps-on-the-msdn-blog/</guid><description>
&lt;p>&lt;a href="http://www.microsoft.com/en-gb/developers/articles/week05jun14/guidelines-for-resilient-automation-of-windows-store-xaml-apps-using-visual-studio-codedui">Nice post&lt;/a> by &lt;a href="https://twitter.com/CaptainShmaser">Riccardo Viglianisi&lt;/a>, one of Black Marble’s Testers, about his experiences with CodeUI and Windows Store Apps published on the MSDN UK Visual Studio blog.&lt;/p>
&lt;p>Well worth a read if you are looking at this technology.&lt;/p></description></item><item><title>Re-awarded Microsoft MVP for the 7th Year</title><link>https://blogs.blackmarble.co.uk/rfennell/re-awarded-microsoft-mvp-for-the-7th-year/</link><pubDate>Thu, 03 Jul 2014 08:38:02 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/re-awarded-microsoft-mvp-for-the-7th-year/</guid><description>
&lt;p>I am really happy to say that I have had my &lt;a href="http://mvp.microsoft.com/en-us/mvp/Richard%20Fennell-4020304">MVP for Visual Studio (ALM)&lt;/a> re-awarded, so am an MVP for the 7th time. It is a privilege to get to work with such a great group of people as a have met via the MVP programme.&lt;/p></description></item><item><title>How long is my TFS 2010 to 2013 upgrade going to take – Part 2</title><link>https://blogs.blackmarble.co.uk/rfennell/how-long-is-my-tfs-2010-to-2013-upgrade-going-to-take-part-2/</link><pubDate>Fri, 27 Jun 2014 16:36:18 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/how-long-is-my-tfs-2010-to-2013-upgrade-going-to-take-part-2/</guid><description>
&lt;p>Back in January I did a post &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/post/2014/01/21/How-long-is-my-TFS-2010-to-2013-upgrade-going-to-take.aspx">How long is my TFS 2010 to 2013 upgrade going to take?&lt;/a> I have now done some more work with one of the clients and have more data. Specially the initial trial was 2010 &amp;gt; 2013 RTM on a single tier test VM; we have now done a test upgrade from 2010 &amp;gt; 2013.2 on the same VM and also one to a production quality dual tier system.&lt;/p></description></item><item><title>Submissions open for DDDNorth 2014</title><link>https://blogs.blackmarble.co.uk/rfennell/submissions-open-for-dddnorth-2014/</link><pubDate>Wed, 25 Jun 2014 12:18:05 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/submissions-open-for-dddnorth-2014/</guid><description>
&lt;p>DDD North is coming to the University of Leeds on Saturday 18 October.&lt;/p>
&lt;p>It is now open for &lt;a href="http://bit.ly/1wwwqBA">Session submission&lt;/a>&lt;/p>
&lt;p>
&lt;img
loading="lazy"
decoding="async"
alt="DDD North Logo"
class="image_figure image_external image_unprocessed"
src="http://www.dddnorth.co.uk/Content/images/logo.png"
/>
&lt;/p></description></item><item><title>List of TFS Widgets</title><link>https://blogs.blackmarble.co.uk/rfennell/list-of-tfs-widgets/</link><pubDate>Mon, 23 Jun 2014 20:41:51 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/list-of-tfs-widgets/</guid><description>
&lt;p>The ALM Rangers are again producing a list of useful tools and widgets for TFS. It can be found at  &lt;a href="http://aka.ms/widgets">aka.ms/widgets&lt;/a> and should be updated regularly&lt;/p></description></item><item><title>Cloning tfs repository with git-tf gives a "a server path must be absolute"</title><link>https://blogs.blackmarble.co.uk/rfennell/cloning-tfs-repository-with-git-tf-gives-a-a-server-path-must-be-absolute/</link><pubDate>Mon, 09 Jun 2014 13:23:35 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/cloning-tfs-repository-with-git-tf-gives-a-a-server-path-must-be-absolute/</guid><description>
&lt;p>I am currently involved in &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/post/2013/06/16/Using-git-tf-to-migrate-code-between-TFS-servers-retaining-history.aspx">moving some TFS TFVC hosted source to a TFS Git repository&lt;/a>.  The first step was to clone the source for a team project from TFS using the command&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="ln">1&lt;/span>&lt;span class="cl">git tf clone --deep [http://tfsserver01:8080/tfs/defaultcollection](http://tfsserver01:8080/tfs/defaultcollection) ‘$My Project’ localrepo1
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>and it worked fine. However the next project I tried to move had no space in the source path&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="ln">1&lt;/span>&lt;span class="cl">git tf clone --deep [http://tfsserver01:8080/tfs/defaultcollection](http://tfsserver01:8080/tfs/defaultcollection) ‘$MyProject’ localrepo2
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>This gave the error&lt;/p></description></item><item><title>‘The Circle’ a good read</title><link>https://blogs.blackmarble.co.uk/rfennell/the-circle-a-good-read/</link><pubDate>Sat, 07 Jun 2014 13:37:58 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/the-circle-a-good-read/</guid><description>
&lt;p>Seven whole years ago &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/post/2007/01/17/Time-to-revisit-Microserfs.aspx">I wrote&lt;/a> about re-reading &lt;em>[corrected – getting old and forgetful not William Gibson’s it was]&lt;/em>  Douglas Coupland’s  &lt;a href="//rcm-eu.amazon-adsystem.com/e/cm?lt1=_blank&amp;amp;bc1=000000&amp;amp;IS2=1&amp;amp;bg1=FFFFFF&amp;amp;fc1=000000&amp;amp;lc1=0000FF&amp;amp;t=buitwoonmypc-21&amp;amp;o=2&amp;amp;p=8&amp;amp;l=as4&amp;amp;m=amazon&amp;amp;f=ifr&amp;amp;ref=ss_til&amp;amp;asins=0007179812">Microserfs&lt;/a> and how it compared to his then new book &lt;a href="http://rcm-eu.amazon-adsystem.com/e/cm?lt1=_blank&amp;amp;bc1=000000&amp;amp;IS2=1&amp;amp;bg1=FFFFFF&amp;amp;fc1=000000&amp;amp;lc1=0000FF&amp;amp;t=buitwoonmypc-21&amp;amp;o=2&amp;amp;p=8&amp;amp;l=as4&amp;amp;m=amazon&amp;amp;f=ifr&amp;amp;ref=ss_til&amp;amp;asins=0747585873">JPod&lt;/a>. And how they both reflected the IT world at their time. Speculative fiction always says more about the time they are written than the future they predict.&lt;/p>
&lt;p>I have just read &lt;a href="http://rcm-eu.amazon-adsystem.com/e/cm?lt1=_blank&amp;amp;bc1=000000&amp;amp;IS2=1&amp;amp;bg1=FFFFFF&amp;amp;fc1=000000&amp;amp;lc1=0000FF&amp;amp;t=buitwoonmypc-21&amp;amp;o=2&amp;amp;p=8&amp;amp;l=as4&amp;amp;m=amazon&amp;amp;f=ifr&amp;amp;ref=ss_til&amp;amp;asins=B00EODUWQ6">‘The Circle’ by Dave Eggers&lt;/a> which in many ways is a similar book for our social media, big brother monitored age. I will leave it to you to decide if it a utopian or dystopia but it is well worth a read&lt;/p></description></item><item><title>Our TFS Lab Management Infrastructure</title><link>https://blogs.blackmarble.co.uk/rfennell/our-tfs-lab-management-infrastructure/</link><pubDate>Thu, 05 Jun 2014 23:08:13 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/our-tfs-lab-management-infrastructure/</guid><description>
&lt;p>After my &lt;a href="http://blogs.blackmarble.co.uk/blogs/rhepworth/">session Techorama&lt;/a> last week I have been asked some questions over how we built our TFS Lab Management infrastructure. Well here is a bit more detail, thanks to &lt;a href="http://blogs.blackmarble.co.uk/blogs/rhepworth/">Rik&lt;/a> for helping correcting what I had misremembered and providing much of the detail.&lt;/p>
&lt;p>&lt;a href="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_185.png">&lt;img
loading="lazy"
decoding="async"
alt="image"
class="image_figure image_internal image_unprocessed"
src="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_thumb_183.png"
title="image"
/>
&lt;/a>&lt;/p>
&lt;p>For SQL we have two physical servers with Intel processors. Each has a pair of mirrored disks for the OS and RAID5 group of disks for data. We use SQL 2012 Enterprise Always On for replication to keep the DBs in sync. The servers are part of a Windows cluster (needed for Always On) and we use a VM to give a third server in the witness role. This is hosted on a production Hyper-V cloud. We have a number of availability groups on this platform, basically one per service we run. This allows us to split the read/write load between the two servers (unless they have failed over to a single box). If we had only one availability group for all the DBs  one node would being all the read/write and the other read only, so not that balanced.&lt;/p></description></item><item><title>What new in TFS from Teched 2014?</title><link>https://blogs.blackmarble.co.uk/rfennell/what-new-in-tfs-from-teched-2014/</link><pubDate>Tue, 13 May 2014 19:19:42 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/what-new-in-tfs-from-teched-2014/</guid><description>
&lt;p>If you use TFS then it is well worth a look at &lt;a href="http://channel9.msdn.com/Events/TechEd/NorthAmerica/2014/FDN04#fbid=">Brian Harry’s Teched2014 session ‘Modern Application Lifecycle Management’&lt;/a>. It goes through changes and new features with TFS both on-premise and in the cloud, including&lt;/p>
&lt;ul>
&lt;li>&lt;a href="http://blogs.msdn.com/b/visualstudioalm/archive/2014/05/12/migrating-your-data-from-tfs-to-visual-studio-online-with-new-free-utility-from-opshub.aspx">Migrating Your Data from TFS to Visual Studio Online with New Free Utility from OpsHub&lt;/a>&lt;/li>
&lt;li>Authentication with your corporate Active Directory account via AAD (planned for Summer 2014)&lt;/li>
&lt;li>&lt;a href="http://blogs.msdn.com/b/bharry/archive/2014/05/12/a-new-api-for-visual-studio-online.aspx">New API is based on REST, OAUTH, Json and Service Hooks&lt;/a>&lt;/li>
&lt;li>Release Management, PowerShell DSC, ability to link Azure VMs including client OS for dev/test&lt;/li>
&lt;li>&lt;a href="http://blogs.msdn.com/b/bharry/archive/2014/05/12/application-insights-extension-for-visual-studio-update-may-12.aspx">Application Insights available inside Visual Studio&lt;/a>&lt;/li>
&lt;li>Azure vNext portal – bring it all together&lt;/li>
&lt;/ul>
&lt;p>Not all these features are in 2013.2 (&lt;a href="http://blogs.msdn.com/b/bharry/archive/2014/05/12/vs-2013-update-2-and-other-teched-news.aspx">which was released during the conference&lt;/a>). However, in the session they said Visual Studio 2013.3CTP is going to be available next week, so not long to wait if you want a look at the latest features.&lt;/p></description></item><item><title>New release of TFS Alerts DSL that allows work item state rollup</title><link>https://blogs.blackmarble.co.uk/rfennell/new-release-of-tfs-alerts-dsl-that-allows-work-item-state-rollup/</link><pubDate>Sun, 11 May 2014 17:33:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/new-release-of-tfs-alerts-dsl-that-allows-work-item-state-rollup/</guid><description>
&lt;p>A very common question I am asked at clients is&lt;/p>
&lt;p>“Is it possible for a parent TFS work item to be automatically be set to ‘done’ when all the child work items are ‘done’?”.&lt;/p>
&lt;p>The answer is not out the box, there is no work item state roll up in TFS.&lt;/p>
&lt;p>However it is possible via the API. I have modified my &lt;a href="https://tfsalertsdsl.codeplex.com/">TFS Alerts DSL CodePlex project&lt;/a> to expose this functionality. I have added a couple of methods that allow you to find the parent and child of a work item, and hence create your own rollup script.&lt;/p></description></item><item><title>Getting ‘The build directory of the test run either does not exist or access permission is required’ error when trying to run tests as part of the Release Management deployment</title><link>https://blogs.blackmarble.co.uk/rfennell/getting-the-build-directory-of-the-test-run-either-does-not-exist-or-access-permission-is-required-error-when-trying-to-run-tests-as-part-of-the-release-management-deployment/</link><pubDate>Mon, 05 May 2014 19:34:15 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/getting-the-build-directory-of-the-test-run-either-does-not-exist-or-access-permission-is-required-error-when-trying-to-run-tests-as-part-of-the-release-management-deployment/</guid><description>
&lt;p>Whilst running tests as part of a Release Management deployment I started seeing the error ‘The build directory of the test run either does not exist or access permission is required’, and hence all my tests failed. It seems that there are issues that can cause this problem, as mentioned in the comments &lt;a href="http://nakedalm.com/execute-tests-release-management-visual-studio-2013/">in Martin Hinshelwood’s post on running tests in deployment&lt;/a>, specially spaces in the build name can cause this problem, but this was not the case for me.&lt;/p></description></item><item><title>Setting the LocalSQLServer connection string in web deploy</title><link>https://blogs.blackmarble.co.uk/rfennell/setting-the-localsqlserver-connection-string-in-web-deploy/</link><pubDate>Fri, 02 May 2014 17:23:21 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/setting-the-localsqlserver-connection-string-in-web-deploy/</guid><description>
&lt;p>&lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/post/2014/05/01/Changing-WCF-bindings-for-MSDeploy-packages-when-using-Release-Management.aspx">If you are using Webdeploy&lt;/a> you might wish to alter the connection string the for the LocalSQLServer that is used by the ASP.NET provider for web part personalisation. The default is to use ASPNETDB.mdf in the APP_Data folder, but in a production system you could well want to use a ‘real’ SQL server.&lt;/p>
&lt;p>If you look in your web config, assuming you are not using the default ‘not set’ setting, will look something like&lt;/p></description></item><item><title>Changing WCF bindings for MSDeploy packages when using Release Management</title><link>https://blogs.blackmarble.co.uk/rfennell/changing-wcf-bindings-for-msdeploy-packages-when-using-release-management/</link><pubDate>Thu, 01 May 2014 12:03:46 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/changing-wcf-bindings-for-msdeploy-packages-when-using-release-management/</guid><description>
&lt;p>&lt;a href="http://www.colinsalmcorner.com/post/webdeploy-and-release-management--the-proper-way">Colin Dembovsky’s excellent post ‘WebDeploy and Release Management – The Proper Way&lt;/a>’ explains how to pass parameters from Release Management into MSDeploy to update Web.config files. On the system I am working on I also need to do some further web.config translation, basically the WCF section is different on a Lab or Production build as it needs to use Kerberos, whereas local debug builds don’t.&lt;/p>
&lt;p>In the past I dealt with this, and editing the AppSettings, using MSDeploy web.config translation. This worked fine, but it meant I built the product three time, exactly what Colin’s post is trying to avoid. The techniques in the post for the AppSettings and connection strings are fine, but don’t apply so well for the large block swapouts, as I need for WCF bindings section.&lt;/p></description></item><item><title>Release Management components fail to deploy with a timeout if a variable is changed from standard to encrypted</title><link>https://blogs.blackmarble.co.uk/rfennell/release-management-components-fail-to-deploy-with-a-timeout-if-a-variable-is-changed-from-standard-to-encrypted/</link><pubDate>Thu, 01 May 2014 11:47:56 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/release-management-components-fail-to-deploy-with-a-timeout-if-a-variable-is-changed-from-standard-to-encrypted/</guid><description>
&lt;p>I &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/post/2014/04/08/What-I-learnt-getting-Release-Management-running-with-a-network-Isolated-environment.aspx">have been using Release Management&lt;/a> to update some of our internal deployment processes. This has included changing the way we roll out MSDeploy packages; I am following &lt;a href="http://www.colinsalmcorner.com/post/webdeploy-and-release-management--the-proper-way">Colin Dembovsky’s excellent post of the subject&lt;/a>.&lt;/p>
&lt;p>I hit an interesting issue today. One of the configuration variable parameters I was passing into a component was a password field. For my initial tests had just let this be a clear text ‘standard’ string in the Release Management. Once I got this all working I thought I better switch this variable to ‘encrypted’, so I just change the type on the Configuration Variables tab.&lt;/p></description></item><item><title>‘Windows Phone 8.1 Update’ update</title><link>https://blogs.blackmarble.co.uk/rfennell/windows-phone-8-1-update-update/</link><pubDate>Mon, 28 Apr 2014 09:09:36 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/windows-phone-8-1-update-update/</guid><description>
&lt;p>I have been running &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/post/2014/04/15/All-upgraded-to-the-Windows-Phone-81-Update.aspx">Windows Phone 8.1 Update&lt;/a> for a couple of weeks now and have to say I like. I have not suffered the poor battery life others seem to have suffered. Maybe this is an feature of the Nokia 820 no needing as many firmware updates from Nokia (which aren't available yet) note having such power hungry features as the larger phones.&lt;/p>
&lt;p>The only issue I have had is that I lost an audio channel when using a headset. Initially I was unsure if it was a mechanical fault on the headphone socket, but I checked the headset was good, it sounded as if the balance was faded to just one side as you could just hear something faint on the failing side. Anyway as often is the case in IT, a reboot of the phone fixed the issue.&lt;/p></description></item><item><title>The return of Visual Studio Setup projects - just because you can use them should you?</title><link>https://blogs.blackmarble.co.uk/rfennell/the-return-of-visual-studio-setup-projects-just-because-you-can-use-them-should-you/</link><pubDate>Wed, 23 Apr 2014 09:18:59 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/the-return-of-visual-studio-setup-projects-just-because-you-can-use-them-should-you/</guid><description>
&lt;p>A significant blocker for some of my customers moving to Visual Studio 2013 (and 2012 previously) has been the removal of Visual Studio Setup Projects; my experience has been confirmed by &lt;a href="https://visualstudio.uservoice.com/forums/121579-visual-studio/suggestions/3041773-bring-back-the-basic-setup-and-deployment-project">UserVoice&lt;/a>. Well Microsoft have addressed this pain point by releasing a &lt;a href="http://blogs.msdn.com/b/visualstudio/archive/2014/04/17/visual-studio-installer-projects-extension.aspx">Visual Studio Extension to re-add this Visual Studio 2010 functionality to 2013&lt;/a>. This can be downloaded from the &lt;a href="http://visualstudiogallery.msdn.microsoft.com/9abe329c-9bba-44a1-be59-0fbf6151054d">Visual Studio Gallery&lt;/a>.&lt;/p>
&lt;p>Given this release, the question now becomes should you use it? Or should you take the harder road in the short term of moving to &lt;a href="http://wixtoolset.org/">Wix&lt;/a>, but with the far greater flexibility this route offers going forward?&lt;/p></description></item><item><title>All upgraded to the Windows Phone 8.1 Update</title><link>https://blogs.blackmarble.co.uk/rfennell/all-upgraded-to-the-windows-phone-8-1-update/</link><pubDate>Tue, 15 Apr 2014 10:03:13 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/all-upgraded-to-the-windows-phone-8-1-update/</guid><description>
&lt;p>My Nokia 820 phone is now &lt;a href="http://www.wpcentral.com/windows-phone-81-now-available">updated to 8.1 with the developer preview&lt;/a>.&lt;/p>
&lt;p>&lt;a href="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_177.png">&lt;img
loading="lazy"
decoding="async"
alt="image"
class="image_figure image_internal image_unprocessed"
src="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_thumb_175.png"
title="image"
/>
&lt;/a>&lt;/p>
&lt;p>The actual upgrade was straight forward, the only issue was that the &lt;a href="http://www.wpcentral.com/windows-phone-81-now-available">Store was down last night&lt;/a> so updating apps could not be done until this morning. This was made more of an issue by the fact I had had to remove all my Nokia Maps and the iPodcast application (and downloaded podcasts) to free up space on the phone to allow the upgrade. Both these apps could only store data on the phone (not the SDcard) thus blocked the upgrade. This lack of space on the actual phone has been a constant issue for me on the Nokia 820.&lt;/p></description></item><item><title>The 2013 editions TFS books</title><link>https://blogs.blackmarble.co.uk/rfennell/the-2013-editions-tfs-books/</link><pubDate>Tue, 15 Apr 2014 09:27:31 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/the-2013-editions-tfs-books/</guid><description>
&lt;p>The 2013 editions of existing TFS books are now available&lt;/p>
&lt;p>&lt;a href="http://www.amazon.co.uk/dp/1118836340?tag=buitwoonmypc-21&amp;amp;camp=2902&amp;amp;creative=19466&amp;amp;linkCode=as4&amp;amp;creativeASIN=1118836340&amp;amp;adid=0GBH270XCWF1JPMBDH4G&amp;amp;&amp;amp;ref-refURL=http%3A%2F%2Fblogs.blackmarble.co.uk%2Fblogs%2Frfennell%2Fpage%2FReading-List.aspx">
&lt;img
loading="lazy"
decoding="async"
alt=""
class="image_figure image_external image_processed"
width="385"
height="482"
src="https://blogs.blackmarble.co.uk/images/51xbj0kaNWL._SX385__6538595126053364764.jpg"
/>
&lt;/a>     &lt;a href="http://www.amazon.co.uk/Professional-Application-Lifecycle-Management-Visual-ebook/dp/B00JDJDPJM/ref=sr_1_1?s=books&amp;amp;ie=UTF8&amp;amp;qid=1397549808&amp;amp;sr=1-1&amp;amp;keywords=Professional&amp;#43;Application&amp;#43;Lifecycle&amp;#43;Management&amp;#43;with&amp;#43;Visual&amp;#43;Studio&amp;#43;2013">&lt;img
loading="lazy"
decoding="async"
alt="image"
class="image_figure image_internal image_unprocessed"
src="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_175.png"
title="image"
/>
&lt;/a>&lt;/p>
&lt;p>Also well worth a look is ‘Team Foundation Server 2013 Customization’ by Gordon Beeming. A great look at all the extension points in TFS&lt;/p>
&lt;p>&lt;a href="http://www.amazon.co.uk/Team-Foundation-Server-2013-Customization-ebook/dp/B00HYTDXJU/ref=sr_1_1?ie=UTF8&amp;amp;qid=1397550212&amp;amp;sr=8-1&amp;amp;keywords=Team&amp;#43;Foundation&amp;#43;Server&amp;#43;2013&amp;#43;Customization">&lt;img
loading="lazy"
decoding="async"
alt="image"
class="image_figure image_internal image_unprocessed"
src="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_176.png"
title="image"
/>
&lt;/a>&lt;/p>
&lt;p>A longer list of books can be found in &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/page/Reading-List.aspx">my reading list&lt;/a>&lt;/p></description></item><item><title>Where has my picture password login sign in gone on Windows 8?</title><link>https://blogs.blackmarble.co.uk/rfennell/where-has-my-picture-password-login-sign-in-gone-on-windows-8/</link><pubDate>Thu, 10 Apr 2014 13:45:01 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/where-has-my-picture-password-login-sign-in-gone-on-windows-8/</guid><description>
&lt;p>I have had a &lt;a href="http://surface.microsoftstore.com/store/msuk/en_GB/html/pbPage.CATS/categoryID.66611000?tid=tDLg4htd&amp;amp;cid=5366&amp;amp;pcrid=3432721664&amp;amp;pkw=surface%202&amp;amp;pmt=e&amp;amp;WT.srch=1&amp;amp;WT.mc_id=pointitsem_Microsoft&amp;#43;UK_bing_Surface&amp;#43;-&amp;#43;UK&amp;amp;WT.term=surface%202&amp;amp;WT.campaign=Surface&amp;#43;-&amp;#43;UK&amp;amp;WT.content=tDLg4htd&amp;amp;WT.source=bing&amp;amp;WT.medium=cpc">Surface 2&lt;/a> for about six months. It is great for watching videos on the train, or a bit of browsing, but don’t like it for note taking in meetings. This is a shame, as this is what I got it for; a light device with good battery life to take to meetings. What I needed was something I could hand write on in OneNote, an electronic pad. The Surface 2 touch screen is just not accurate enough.&lt;/p></description></item><item><title>Handling .pubxml files with TFS MSBuild arguments</title><link>https://blogs.blackmarble.co.uk/rfennell/handling-pubxml-files-with-tfs-msbuild-arguments/</link><pubDate>Thu, 10 Apr 2014 13:26:29 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/handling-pubxml-files-with-tfs-msbuild-arguments/</guid><description>
&lt;p>With &lt;a href="http://www.hanselman.com/blog/TinyHappyFeatures3PublishingImprovementsChainedConfigTransformsAndDeployingASPNETAppsFromTheCommandLine.aspx">Visual Studio 2012 there were changes in the way Web Publishing worked&lt;/a>; the key fact being that the configuration was moved from the .csproj to a .pubxml in the properties folder. This allows them to be more easily managed under source control by a team. This does have some knock on effects though, especially when you start to consider automated build and deployment.&lt;/p>
&lt;p>Up to now we have not seen issues in this area, most of our active projects that needed web deployment packages had started in the Visual Studio 2010 era so had all the publish details in the project and this is still supported by later versions of Visual Studio. This meant that if we had three configurations debug, lab and release, then there were three different sets of settings stored in different blocks of the project file. So if you used the &lt;strong>/p:DeployOnBuild=True&lt;/strong> MS Build argument for your TFS build, and built all three configurations you got the settings related to the respective configuration in each drop location.&lt;/p></description></item><item><title>What I learnt getting Release Management running with a network Isolated environment</title><link>https://blogs.blackmarble.co.uk/rfennell/what-i-learnt-getting-release-management-running-with-a-network-isolated-environment/</link><pubDate>Tue, 08 Apr 2014 13:58:19 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/what-i-learnt-getting-release-management-running-with-a-network-isolated-environment/</guid><description>
&lt;p>&lt;strong>Updated 20 Oct 2014&lt;/strong> – With notes on using an Action for cross domain authentication&lt;/p>
&lt;p>In &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/post/2014/03/29/Getting-started-with-Release-Management-with-network-isolated-Lab-Management-environments.aspx">my previous post I described how to get a network isolated environment up and running with Release Management&lt;/a>, it is all to do with shadow accounts. Well getting it running is one thing, having a useful release process is another.&lt;/p>
&lt;p>For my test environment I needed to get three things deployed and tested&lt;/p>
&lt;ul>
&lt;li>A SQL DB deployed via a DACPAC&lt;/li>
&lt;li>A WCF web service deployed using MSDeploy&lt;/li>
&lt;li>A web site deployed using MSDeploy&lt;/li>
&lt;/ul>
&lt;p>My environment was a four VM &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/post/2010/10/25/common-confusion-i-have-seen-with-visual-studio-2010-lab-management.aspx">network isolated environment&lt;/a> running on our TFS Lab Management system.&lt;/p></description></item><item><title>Fix for ‘Web deployment task failed. (Unknown ProviderOption:DefiningProjectFullPath. Known ProviderOptions are:skipInvalid’ errors on TFS 2013.2 build</title><link>https://blogs.blackmarble.co.uk/rfennell/fix-for-web-deployment-task-failed-unknown-provideroptiondefiningprojectfullpath-known-provideroptions-areskipinvalid-errors-on-tfs-2013-2-build/</link><pubDate>Mon, 07 Apr 2014 23:36:05 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/fix-for-web-deployment-task-failed-unknown-provideroptiondefiningprojectfullpath-known-provideroptions-areskipinvalid-errors-on-tfs-2013-2-build/</guid><description>
&lt;p>When working with web applications we tend to use &lt;a href="http://www.iis.net/downloads/microsoft/web-deploy">MSDeploy&lt;/a> for distribution. Our TFS build box, as well as producing a &lt;strong>_PublishedWebsite&lt;/strong> copy of the site, produce the ZIP packaged version we use to deploy to test and production servers via PowerShell or IIS Manager&lt;/p>
&lt;p>To create this package we add the MSBuild Arguments **/p:CreatePackageOnPublish=True /p:DeployOnBuild=true /p:IsPackaging=True **&lt;/p>
&lt;p>&lt;a href="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_162.png">&lt;img
loading="lazy"
decoding="async"
alt="image"
class="image_figure image_internal image_unprocessed"
src="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_thumb_162.png"
title="image"
/>
&lt;/a>&lt;/p>
&lt;p>This was been working fine, until I upgraded our TFS build system to &lt;a href="http://blogs.msdn.com/b/bharry/archive/2014/04/02/tfs-2013-2-update-2-released.aspx">2013.2&lt;/a>. Any builds queued after this upgrade, that builds MSDeploy packages, gives the error&lt;/p></description></item><item><title>Upgrading a VSTO project from VS 2008 to 2013</title><link>https://blogs.blackmarble.co.uk/rfennell/upgrading-a-vsto-project-from-vs-2008-to-2013/</link><pubDate>Mon, 07 Apr 2014 13:17:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/upgrading-a-vsto-project-from-vs-2008-to-2013/</guid><description>
&lt;p>To make sure all our Word documents are consistent we use a Word template that include VSTO action pane.&lt;/p>
&lt;p>&lt;a href="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_161.png">&lt;img
loading="lazy"
decoding="async"
alt="image"
class="image_figure image_internal image_unprocessed"
src="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_thumb_161.png"
title="image"
/>
&lt;/a>&lt;/p>
&lt;p>This allow us to insert standard blocks of text, T&amp;amp;C and the like, and also makes sure document revisions and reviews are correctly logged. We have used this for years without any issues, but I recently needed to make some changes to the underlying Word .dotx template and I had to jump through a couple of hoops to get it rebuilding in Visual Studio 2013 for Office 2013 (previously it had been built against Visual Studio 2008 generation tools)&lt;/p></description></item><item><title>TFS 2013.2 has RTM’d</title><link>https://blogs.blackmarble.co.uk/rfennell/tfs-2013-2-has-rtmd/</link><pubDate>Thu, 03 Apr 2014 16:24:31 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/tfs-2013-2-has-rtmd/</guid><description>
&lt;p>&lt;a href="http://blogs.msdn.com/b/bharry/archive/2014/04/02/tfs-2013-2-update-2-released.aspx">TFS 2013.2 got RTM’d&lt;/a> last night and is available on MSDN; interestingly Visual Studio 2013.2 is still only an RC, we have to wait for that to RTM.&lt;/p>
&lt;p>As we had a good proportion of our team at &lt;a href="http://www.buildwindows.com/">Build 2014&lt;/a> I took the chance to do the upgrade today. It went smoothly, no surprises, though the  installation phase (the middle bit after the copy and before the config wizard) took a while. On our build agents, they all seemed to want reboot (or two) at this point, the TFS server did not, but took a good few minutes with no progress bar movement when I assume it was updating libraries.&lt;/p></description></item><item><title>Looking forward to speaking at Techorama in May</title><link>https://blogs.blackmarble.co.uk/rfennell/looking-forward-to-speaking-at-techorama-in-may/</link><pubDate>Sun, 30 Mar 2014 13:56:41 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/looking-forward-to-speaking-at-techorama-in-may/</guid><description>
&lt;p>Looking forward to speaking at &lt;a href="http://www.techorama.be/">Techorama in May&lt;/a>, great range of &lt;a href="http://www.techorama.be/speakers/">speakers&lt;/a> and &lt;a href="http://www.techorama.be/agenda/">subjects&lt;/a>.&lt;/p>
&lt;p>&lt;a href="http://www.techorama.be/tickets">&lt;img
loading="lazy"
decoding="async"
alt="speaking-at[1]"
class="image_figure image_internal image_unprocessed"
src="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/speaking-at%5B1%5D.jpg"
title="speaking-at[1]"
/>
&lt;/a>&lt;/p>
&lt;p>Hope to see you there, for ticket details see &lt;a href="http://www.techorama.be/tickets/" title="http://www.techorama.be/tickets/">http://www.techorama.be/tickets/&lt;/a>&lt;/p></description></item><item><title>Getting started with Release Management with network isolated Lab Management environments</title><link>https://blogs.blackmarble.co.uk/rfennell/getting-started-with-release-management-with-network-isolated-lab-management-environments/</link><pubDate>Sat, 29 Mar 2014 15:23:26 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/getting-started-with-release-management-with-network-isolated-lab-management-environments/</guid><description>
&lt;p>Our testing environments are based on TFS Lab Management, historically we have managed deployment into them manually (or at least via a PowerShell script run manually) or using TFS Build. I thought it time I at least tried to move over to &lt;a href="http://www.visualstudio.com/en-us/explore/release-management-vs.aspx">Release Management&lt;/a>.&lt;/p>
&lt;p>The process to install the components of Release Management is fairly straight forward, there are wizards that ask little other than which account to run as&lt;/p>
&lt;ul>
&lt;li>Install the deployment server, pointing at a SQL instance&lt;/li>
&lt;li>Install the management client, pointing at the deployment server&lt;/li>
&lt;li>Install the deployment agent on each box you wish to deploy to, again pointing it as the deployment server&lt;/li>
&lt;/ul>
&lt;p>I hit a problem with the third step. Our lab environments are usually &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/post/2010/10/25/common-confusion-i-have-seen-with-visual-studio-2010-lab-management.aspx">network isolated&lt;/a>, hence each can potentially be running their own copies of the same domain. This means the connection from the deployment agent to the deployment server is cross domain. We don’t want to setup cross domain trusts as&lt;/p></description></item><item><title>A better way of using TFS Community Build Extensions StyleCop activity so it can use multiple rulesets</title><link>https://blogs.blackmarble.co.uk/rfennell/a-better-way-of-using-tfs-community-build-extensions-stylecop-activity-so-it-can-use-multiple-rulesets/</link><pubDate>Tue, 25 Mar 2014 09:26:13 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/a-better-way-of-using-tfs-community-build-extensions-stylecop-activity-so-it-can-use-multiple-rulesets/</guid><description>
&lt;h3 id="background">Background&lt;/h3>
&lt;p>The &lt;a href="https://tfsbuildextensions.codeplex.com/">TFS Community Build Extensions&lt;/a> provide many activities to enhance your build. One we use a lot is the one for &lt;a href="http://stylecop.codeplex.com/">StyleCop&lt;/a> to enforce code consistency in projects as part of our check in &amp;amp; build process.&lt;/p>
&lt;p>In most projects you will not want a single set of StyleCop rules to be applied across the whole solution. Most teams will require a higher level of ‘rule adherence’ for production code as opposed to unit test code. By this I don’t mean the test code is ‘lower quality’, just that rules will differ e.g. we don’t require XML documentation blocks on unit test methods as the unit test method names should be documentation enough.&lt;/p></description></item><item><title>Migrating to SCVMM 2012 R2 in a TFS Lab Scenario</title><link>https://blogs.blackmarble.co.uk/rfennell/migrating-to-scvmm-2012-r2-in-a-tfs-lab-scenario/</link><pubDate>Thu, 20 Mar 2014 16:03:14 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/migrating-to-scvmm-2012-r2-in-a-tfs-lab-scenario/</guid><description>
&lt;p>Rik has just done a &lt;a href="http://blogs.blackmarble.co.uk/blogs/rhepworth/post/2014/03/20/Migrating-to-SCVMM-2012-R2-in-a-TFS-Lab-Scenario.aspx">post on upgrading our SCVMM 2012 instance we use with Lab Management to 2012 R2&lt;/a>, a good few gotchas in there as you might expect.&lt;/p>
&lt;p>Well worth a read&lt;/p></description></item><item><title>Migrating a TFS TFVC based team project to a Git team project retaining as much source and work item history as possible</title><link>https://blogs.blackmarble.co.uk/rfennell/migrating-a-tfs-tfvc-based-team-project-to-a-git-team-project-retaining-as-much-source-and-work-item-history-as-possible/</link><pubDate>Fri, 14 Mar 2014 11:02:46 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/migrating-a-tfs-tfvc-based-team-project-to-a-git-team-project-retaining-as-much-source-and-work-item-history-as-possible/</guid><description>
&lt;p>I have just had a guest blog post published on the Microsoft UK Developers site ‘&lt;a href="http://bit.ly/RFennellBlog">Migrating a TFS TFVC based team project to a Git team project retaining as much source and work item history as possible&lt;/a>’. It discusses alternatives to using TFS Integration Platform to migrate source code and associated work items.&lt;/p></description></item><item><title>Guest post on Microsoft ALM Blog on Lab Management</title><link>https://blogs.blackmarble.co.uk/rfennell/guest-post-on-microsoft-alm-blog-on-lab-management/</link><pubDate>Tue, 25 Feb 2014 22:24:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/guest-post-on-microsoft-alm-blog-on-lab-management/</guid><description>
&lt;p>A &lt;a href="http://blogs.msdn.com/b/visualstudioalm/archive/2014/02/25/tfs-lab-management-with-multiple-scvmm-servers.aspx">clarification blog post&lt;/a> I wrote on what to do if you have multiple SCVMM servers in your network and want to use TFS Lab Management has just been published on the &lt;a href="http://blogs.msdn.com/b/visualstudioalm/">Microsoft Application Lifecycle Management&lt;/a> blog.&lt;/p>
&lt;p>For more information on best practices with TFS Lab Management  have a look at the &lt;a href="http://vsarlabman.codeplex.com/">ALM Rangers guide&lt;/a>&lt;/p>
&lt;p>&lt;a href="http://vsarlabman.codeplex.com/">
&lt;img
loading="lazy"
decoding="async"
alt="image"
class="image_figure image_external image_unprocessed"
src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-45-92-metablogapi/6114.image_5F00_4B7E16BC.png"
title="image"
/>
&lt;/a>&lt;/p></description></item><item><title>DDD South west</title><link>https://blogs.blackmarble.co.uk/rfennell/ddd-south-west/</link><pubDate>Tue, 25 Feb 2014 18:57:55 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/ddd-south-west/</guid><description>
&lt;p>There is a call for speakers for DDD South West on the 17th of May in Bristol. I have submitted as proposal, are you going to?&lt;/p>
&lt;p>For more details see &lt;a href="http://www.dddsouthwest.com/" title="http://www.dddsouthwest.com/">http://www.dddsouthwest.com/&lt;/a> &lt;/p></description></item><item><title>High CPU utilisation on the data tier after a TFS 2010 to 2013 upgrade</title><link>https://blogs.blackmarble.co.uk/rfennell/high-cpu-utilisation-on-the-data-tier-after-a-tfs-2010-to-2013-upgrade/</link><pubDate>Tue, 25 Feb 2014 18:52:36 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/high-cpu-utilisation-on-the-data-tier-after-a-tfs-2010-to-2013-upgrade/</guid><description>
&lt;p>There have been significant changes in the DB schema between TFS 2010 and 2013. This means that as part of an in-place upgrade process a good deal of data needs to be moved around. Some of this is done as part of the actual upgrade process, but to get you up and running quicker, some is done post upgrade using SQL SPROCs. Depending how much data there is to move this can take a while, maybe many hours. This is the cause the SQL load.&lt;/p></description></item><item><title>New ALM Rangers releases</title><link>https://blogs.blackmarble.co.uk/rfennell/new-alm-rangers-releases/</link><pubDate>Tue, 18 Feb 2014 12:47:06 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/new-alm-rangers-releases/</guid><description>
&lt;p>While I have been on holiday there have been a few &lt;a href="http://blogs.msdn.com/b/visualstudioalm/archive/2014/02/12/new-readiness-content-released-or-spotted-by-the-alm-rangers.aspx">ALM Rangers releases&lt;/a>.&lt;/p>
&lt;p>I am particularly happy to see the &lt;a href="http://blogs.msdn.com/b/willy-peter_schaub/archive/2014/02/06/lab-management-guide-v3-update-is-available.aspx">Lab Management Guide … v3 update&lt;/a> guidance is available, as this was a project I was working on. The big change from previous editions is that it covers setting up Lab Management to make use of Azure IaaS resources.&lt;/p>
&lt;p>So if you use TFS have a look at &lt;a href="http://aka.ms/vsarsolutions">http://aka.ms/vsarsolutions&lt;/a> for a full list of resources&lt;/p></description></item><item><title>A walkthrough of getting Kerberos working with a Webpart inside SharePoint accessing a WCF service</title><link>https://blogs.blackmarble.co.uk/rfennell/a-walkthrough-of-getting-kerberos-working-with-a-webpart-inside-sharepoint-accessing-a-wcf-service/</link><pubDate>Thu, 06 Feb 2014 21:47:23 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/a-walkthrough-of-getting-kerberos-working-with-a-webpart-inside-sharepoint-accessing-a-wcf-service/</guid><description>
&lt;p>&lt;strong>Update 2/4/2014&lt;/strong> – Added notes about using service accounts as opposed to machine accounts for the AppPool running the web service&lt;/p>
&lt;p>In the past I have &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/post/2010/10/29/fun-with-wcf-sharepoint-and-kerberos-well-it-looks-like-fun-with-hindsight.aspx">posted on how to get Kerberos running for multi tier applications&lt;/a>. Well as usual when I had to redeploy the application onto new hardware I found my notes were not as clear as I would have hoped. So here is what is meant to be a walkthrough for getting our application working in our TFS lab environment.&lt;/p></description></item><item><title>Speaking at Gravitas’s Tech Talk #3 -</title><link>https://blogs.blackmarble.co.uk/rfennell/speaking-at-gravitass-tech-talk-3/</link><pubDate>Thu, 06 Feb 2014 17:15:29 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/speaking-at-gravitass-tech-talk-3/</guid><description>
&lt;p>I am speaking at &lt;a href="https://www.eventbrite.co.uk/e/tech-talk-3-tfs-visual-studio-2013-vs-the-rest-tickets-10523581315">Gravitas’s Tech Talk #3 - &amp;quot;TFS &amp;amp; Visual Studio 2013 vs The Rest&amp;quot;&lt;/a> on Tuesday march the 4th about&lt;/p>
&lt;blockquote>
&lt;p>&lt;strong>&amp;quot;Microsoft's Application Lifecycle product has had a lot of changes in the past couple of years. In this session will look at how it can be used provide a complete solution from project inception through development, testing and deployment for project both using Microsoft and other vendor technologies&amp;quot;&lt;/strong>&lt;/p></description></item><item><title>GDR3 update for my Nokia 820</title><link>https://blogs.blackmarble.co.uk/rfennell/gdr3-update-for-my-nokia-820/</link><pubDate>Sun, 02 Feb 2014 09:59:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/gdr3-update-for-my-nokia-820/</guid><description>
&lt;p>The &lt;a href="http://www.wpcentral.com/windows-phone-8-update-3">GDR3 update for my Nokia 820&lt;/a> has at last arrived. As my phone is a developer unit it is at the end of the automated update list. I suppose I could have pulled it down by hand, but I was not in a major rush as I am not doing WP8 development at present.&lt;/p>
&lt;p>The update seems to have gone on OK. Only strange thing was I was getting low space warnings prior to the upgrade. I suspect this was the fact the new patch had been download onto the phones main storage, but this was a bit full of content from &lt;a href="http://ipodcast.dotarrowsite.com/">iPodcast&lt;/a> (the otherwise excellent app I use for podcasts can’t store to my SD card). Just to be on the safe side I uninstalled iPodcast, did the GDR3 update and then reinstalled iPodcast. As I have the premium version I could easily restore my podcast lists, including what I had and had not listened to, from the cloud.&lt;/p></description></item><item><title>Upgraded older Build and Test Controllers to TFS 2013</title><link>https://blogs.blackmarble.co.uk/rfennell/upgraded-older-build-and-test-controllers-to-tfs-2013/</link><pubDate>Sat, 01 Feb 2014 14:40:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/upgraded-older-build-and-test-controllers-to-tfs-2013/</guid><description>
&lt;p>All has been going well since our upgrade from &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/post/2014/01/21/How-long-is-my-TFS-2010-to-2013-upgrade-going-to-take.aspx">TFS 2012 to 2013&lt;/a>, no nasty surprises.&lt;/p>
&lt;p>As I had a bit of time I thought it a good idea to start the updates of our build and lab/test systems. We had only upgraded our TFS 2012.3 server to 2013. We had not touched our build system (one 2012 controller and 7 agents on various VMs) and our Lab Management/test controller. Our plan, after a bit of thought, was to so a slow migration putting in new 2013 generation build and test controllers in addition to our 2012 ones. We would then decide on an individual build agent VM basis what to do, probably upgrading the build agents and connecting them to the new controller. There seems to be no good reason to rebuild the whole build agent VMs with the specific SDKs and tools they each need.&lt;/p></description></item><item><title>Testing new social plugin for BlogEngine</title><link>https://blogs.blackmarble.co.uk/rfennell/testing-new-social-plugin-for-blogengine/</link><pubDate>Mon, 27 Jan 2014 13:19:22 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/testing-new-social-plugin-for-blogengine/</guid><description>
&lt;p>We are testing the ‘social publish’  plugin for BlogEngine. &lt;a href="http://blogs.blackmarble.co.uk/blogs/rhepworth/post/2014/01/27/BlogEngineNet-automatically-tweeting-on-new-posts.aspx">Rik’s post&lt;/a> has the details on what needs to be done to get it working with the current Twitter APIs&lt;/p></description></item><item><title>How long is my TFS 2010 to 2013 upgrade going to take?</title><link>https://blogs.blackmarble.co.uk/rfennell/how-long-is-my-tfs-2010-to-2013-upgrade-going-to-take/</link><pubDate>Tue, 21 Jan 2014 19:44:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/how-long-is-my-tfs-2010-to-2013-upgrade-going-to-take/</guid><description>
&lt;p>Update 27 Jun 2013 &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/post/2014/06/27/How-long-is-my-TFS-2010-to-2013-upgrade-going-to-take-Part-2.aspx">See update version of post with more data&lt;/a>&lt;/p>
&lt;p>I seem to be involved with a number of TFS 2010 to 2013 upgrades at present. I suppose people are looking at TFS 2013 in the same way as they have historically looked at the first service pack for a product i.e: the time to upgrade when most of the main issues are addressed. That said TFS 2013 is not TFS 2012 SP1!&lt;/p></description></item><item><title>Upgrading our TFS 2012 server to 2013</title><link>https://blogs.blackmarble.co.uk/rfennell/upgrading-our-tfs-2012-server-to-2013/</link><pubDate>Tue, 21 Jan 2014 19:09:55 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/upgrading-our-tfs-2012-server-to-2013/</guid><description>
&lt;p>We have eventually got around to the 2013 upgrade of our production TFS server. It had been put off due to some tight delivery deadlines around Christmas.&lt;/p>
&lt;p>The upgrade went fine, unlike out some &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/post/2013/02/07/More-in-rights-being-stripped-for-the-team-project-contributors-group-in-TFS-2012-when-QU1-applied-and-how-to-sort-it.aspx">previous ones&lt;/a> we have had.&lt;/p>
&lt;p>The upgrading of our team process templates, to add the new features, was greatly eased by using &lt;a href="http://features4tfs.codeplex.com/">Feature4Tfs tool on CodePlex&lt;/a>. This meant one command line call and all the projects were done (we had no significant process customisation) as opposed to visiting in team project in the admin console.&lt;/p></description></item><item><title>Changing targeted .NET version for a project means web.config changes for EF</title><link>https://blogs.blackmarble.co.uk/rfennell/changing-targeted-net-version-for-a-project-means-web-config-changes-for-ef/</link><pubDate>Wed, 15 Jan 2014 12:43:48 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/changing-targeted-net-version-for-a-project-means-web-config-changes-for-ef/</guid><description>
&lt;p>I am upgrade an internal system from .NET 4.0 to 4.5 so that I can use the &lt;a href="http://blog.johnsworkshop.net/tfs11-api-reading-the-team-configuration-iterations-and-areas/#more-527">Team API features in TFS&lt;/a>. The system is based around a WCF web service that links our customer help desk system to TFS to keep bug reports in sync. It uses Entity Framework to access our help desk SQL DB.&lt;/p>
&lt;p>When I changed the targeted .NET framework  for the WCF project, I started to get warning to update the Nuget managed references for EF, which I did.&lt;/p></description></item><item><title>Fix for intermittent connection problem in lab management – restart the test controller</title><link>https://blogs.blackmarble.co.uk/rfennell/fix-for-intermittent-connection-problem-in-lab-management-restart-the-test-controller/</link><pubDate>Mon, 13 Jan 2014 14:50:42 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/fix-for-intermittent-connection-problem-in-lab-management-restart-the-test-controller/</guid><description>
&lt;p>Just had a problem with a TFS 2012 Lab Management deployment build. It was working this morning, deploying two web sites via MSDeploy and a DB via a DacPac, then running some CodedUI tests. However, when I tried a new deployment this afternoon it kept failing with the error:&lt;/p>
&lt;blockquote>
&lt;p>&lt;em>The deployment task was aborted because there was a connection failure between the test controller and the test agent.&lt;/em>&lt;/p>
&lt;p>&lt;a href="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_151.png">&lt;img
loading="lazy"
decoding="async"
alt="image"
class="image_figure image_internal image_unprocessed"
src="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_thumb_151.png"
title="image"
/>
&lt;/a>&lt;/p></description></item><item><title>Great support from BlogEngine.NET</title><link>https://blogs.blackmarble.co.uk/rfennell/great-support-from-blogengine-net/</link><pubDate>Tue, 07 Jan 2014 10:27:32 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/great-support-from-blogengine-net/</guid><description>
&lt;p>I &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/post/2014/01/06/Upgrading-from-BlogEngine-28-to-29.aspx">posted yesterday&lt;/a> that we had upgraded to the current version of BE 2.9. We, as you might expect, had a few minor issues, but I must say the support on the &lt;a href="http://blogengine.codeplex.com/discussions">discussion forums&lt;/a> has been excellent.&lt;/p>
&lt;p>This included the problems I had that were down to missing files and web.config issues (basically my copy errors when moving content from our BE 2.8 instance to the new BE 2.9 on) and a genuine bug in the new CustomFields code &lt;a href="http://blogengine.codeplex.com/discussions/479432">(fixed in 2.9.0.3&lt;/a>). All discussion posts were responded to, and in the case of the bug fix, within a very short period of time.&lt;/p></description></item><item><title>Upgrading from BlogEngine 2.8 to 2.9</title><link>https://blogs.blackmarble.co.uk/rfennell/upgrading-from-blogengine-2-8-to-2-9/</link><pubDate>Mon, 06 Jan 2014 13:57:41 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/upgrading-from-blogengine-2-8-to-2-9/</guid><description>
&lt;p>I have just upgrade our Blog Server from &lt;a href="http://www.dotnetblogengine.net/">BlogEngine.NET 2.8 to 2.9&lt;/a>, all seems to have gone well, as before basically it is just copies files and adds s table to the DB schema, so…&lt;/p>
&lt;ol>
&lt;li>backup your blogs folder and SQL DB in case of problems&lt;/li>
&lt;li>delete the contents  of the blogs folder&lt;/li>
&lt;li>copy in the the &lt;a href="http://blogengine.codeplex.com/releases/view/116747">new release&lt;/a> from the zip&lt;/li>
&lt;li>run the SQL upgrade script on your DB&lt;/li>
&lt;li>fix the SQL connection string in the web.config&lt;/li>
&lt;li>copy in the theme and extension files you were using as detailed in the &lt;a href="http://blogengine.codeplex.com/documentation">release notes&lt;/a>, but I found using &lt;a href="http://www.rtur.net/blog/post/2013/12/01/updater-utility-for-blogengine-29">updater utility&lt;/a> did a great job for me&lt;/li>
&lt;/ol>
&lt;p>As many of our sites were using the standard theme, it picked up the new bootstrap based version. Anyone with the other themes just see what they saw before&lt;/p></description></item><item><title>Fix for Media Center library issue after Christmas tree lights incident</title><link>https://blogs.blackmarble.co.uk/rfennell/fix-for-media-center-library-issue-after-christmas-tree-lights-incident/</link><pubDate>Tue, 24 Dec 2013 13:43:58 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/fix-for-media-center-library-issue-after-christmas-tree-lights-incident/</guid><description>
&lt;p>&lt;em>Twas the night before Christmas and….&lt;/em>&lt;/p>
&lt;p>To cut a long story short the PC that runs my &lt;a href="http://windows.microsoft.com/en-gb/windows7/products/features/windows-media-center">Window Media Center&lt;/a> (MCE) got switched on and off at the wall twice whilst Christmas tree lights were being put up.&lt;/p>
&lt;p>Now the PC is running WIndows 8.1 on modern hardware, so it should have been OK, and mostly was. However I found a problem that MCE was not showing any music, video or pictures in its libraries but the recorded TV library was fine. I suspected the issue was that my media is on an external USB3 RAID unit, so there was a chance that on one of the unintended reboots the drives had not spun up in time and MCE had ‘forgotten’ about the external drive.&lt;/p></description></item><item><title>Getting the domainuser when using versionControl.GetPermissions() in the TFS API</title><link>https://blogs.blackmarble.co.uk/rfennell/getting-the-domainuser-when-using-versioncontrol-getpermissions-in-the-tfs-api/</link><pubDate>Fri, 20 Dec 2013 15:40:07 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/getting-the-domainuser-when-using-versioncontrol-getpermissions-in-the-tfs-api/</guid><description>
&lt;p>If you are using the TFS API to get a list of user who have rights in a given version control folder you need to be careful as you don’t get back the domainuser name you might expect from the GetPermissions(..) call. You actually get the display name. Now that might be fine for you but I needed the domainuser format as I was trying to populate a peoplepicker control.&lt;/p></description></item><item><title>A hair in the gate</title><link>https://blogs.blackmarble.co.uk/rfennell/a-hair-in-the-gate/</link><pubDate>Thu, 12 Dec 2013 12:39:29 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/a-hair-in-the-gate/</guid><description>
&lt;p>My &lt;a href="http://www.microsoft.com/hardware/en-us/p/arc-touch-mouse/RVF-00052">Arc mouse&lt;/a> started behaving strangely today, very jumpy. Felt like the cursor was being pulled left. Turns out the problem was a tiny hair caught in the led sensor slot&lt;/p>
&lt;p>&lt;a href="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_148.png">&lt;img
loading="lazy"
decoding="async"
alt="image"
class="image_figure image_internal image_unprocessed"
src="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_thumb_148.png"
title="image"
/>
&lt;/a>&lt;/p>
&lt;p>You could see there was a problem as the led was flashing a lot, when it is normally solidly on if turn over the mouse you look into the slot.&lt;/p>
&lt;p>Once I got it out all was fine again&lt;/p></description></item><item><title>Notes from my session of the Visual Studio 2013 launch at NDC London</title><link>https://blogs.blackmarble.co.uk/rfennell/notes-from-my-session-of-the-visual-studio-2013-launch-at-ndc-london/</link><pubDate>Wed, 04 Dec 2013 21:14:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/notes-from-my-session-of-the-visual-studio-2013-launch-at-ndc-london/</guid><description>
&lt;p>Thanks to anyone who came to my session ‘TFS is not just for Visual Studio users’ at the Visual Studio 2013 at NDC London yesterday. Hope you found it useful and are now thinking of TFS as a tool for heterogeneous teams, not just developers using Visual Studio. As I discussed there are many options:&lt;/p>
&lt;ul>
&lt;li>
&lt;p>Developers can work within their IDEs&lt;/p>
&lt;/li>
&lt;li>
&lt;p>Visual Studio 2008, 2010, 2012, 2013&lt;/p>
&lt;/li>
&lt;li>
&lt;p>Any IDE based on Eclipse&lt;/p></description></item><item><title>The TFS 2013 Brian Keller demo VM is available</title><link>https://blogs.blackmarble.co.uk/rfennell/the-tfs-2013-brian-keller-demo-vm-is-available/</link><pubDate>Thu, 28 Nov 2013 17:08:51 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/the-tfs-2013-brian-keller-demo-vm-is-available/</guid><description>
&lt;p>The TFS 2013 Brian Keller demo VM is available at &lt;a href="http://aka.ms/vs13almvm">http://aka.ms/vs13almvm&lt;/a>&lt;/p></description></item><item><title>Fix for 0xc00d36b4 error when play MP4 videos on a Surface 2</title><link>https://blogs.blackmarble.co.uk/rfennell/fix-for-0xc00d36b4-error-when-play-mp4-videos-on-a-surface-2/</link><pubDate>Wed, 27 Nov 2013 14:51:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/fix-for-0xc00d36b4-error-when-play-mp4-videos-on-a-surface-2/</guid><description>
&lt;p>Whilst in the USA last week I bought a Surface 2 tablet. Upon boot it ran around 20 updates, as you expect, but unfortunately one of these seemed to remove its ability to play MP4 videos, giving a 0xc00d36b4 error whenever you try. A bit of a pain as one of the main reasons I wanted a tablet was for watching training videos and &lt;a href="http://www.pluralsight.com/training">PluralSight&lt;/a> on the move.&lt;/p>
&lt;p>After a fiddling and hunting on the web I found &lt;a href="http://answers.microsoft.com/en-us/musicandvideo/forum/xboxvideo-xvideoapp/0xc00d36b4-error/4ae0c298-1a56-4845-9792-392205a533c9?page=1">I was not alone&lt;/a>, so I added my voice to the thread, and eventually an answer appeared. It seems the Nvidia Audio Enhancements seem to be the problem. I guess they got updated within the first wave of updates.&lt;/p></description></item><item><title>Microsoft Patterns &amp;amp; Practice publication ‘Building a Release Pipeline with Team Foundation Server 2012’</title><link>https://blogs.blackmarble.co.uk/rfennell/microsoft-patterns-practice-publication-building-a-release-pipeline-with-team-foundation-server-2012/</link><pubDate>Fri, 22 Nov 2013 01:47:42 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/microsoft-patterns-practice-publication-building-a-release-pipeline-with-team-foundation-server-2012/</guid><description>
&lt;p>Are you interested in building your own release pipeline using only the tools within TFS 2012 (or 2013)?&lt;/p>
&lt;p>If so why not have a look at the Microsoft Patterns &amp;amp; Practice publication &lt;a href="http://msdn.microsoft.com/en-us/library/dn449957.aspx">Building a Release Pipeline with Team Foundation Server 2012&lt;/a> it provides great background and a full work through via its &lt;a href="http://www.microsoft.com/en-us/download/details.aspx?id=40295">hands-on-lab&lt;/a>.&lt;/p></description></item><item><title>My guest post on the UK MSDN blog on ‘Using MSDN Azure benefits with TFS Lab Management’</title><link>https://blogs.blackmarble.co.uk/rfennell/my-guest-post-on-the-uk-msdn-blog-on-using-msdn-azure-benefits-with-tfs-lab-management/</link><pubDate>Wed, 20 Nov 2013 19:12:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/my-guest-post-on-the-uk-msdn-blog-on-using-msdn-azure-benefits-with-tfs-lab-management/</guid><description>
&lt;p>A guest post I wrote has just been published on the  &lt;a href="http://blogs.msdn.com/b/ukmsdn/archive/2013/11/19/how-vpns-can-help-you-use-your-msdn-azure-benefits-with-tfs-lab-management.aspx">UK MSDN blog titled ‘How VPNs can help you use your MSDN Azure benefits with TFS Lab Management’&lt;/a>&lt;/p></description></item><item><title>Announcing a CodePlex project that provides an IronPython DSL that can be used to define the handling of TFS Alerts</title><link>https://blogs.blackmarble.co.uk/rfennell/announcing-a-codeplex-project-that-provides-an-ironpython-dsl-that-can-be-used-to-define-the-handling-of-tfs-alerts/</link><pubDate>Sun, 17 Nov 2013 21:03:18 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/announcing-a-codeplex-project-that-provides-an-ironpython-dsl-that-can-be-used-to-define-the-handling-of-tfs-alerts/</guid><description>
&lt;p>I have just published a new project to CodePlex &lt;a href="http://tfsalertsdsl.codeplex.com/" title="http://tfsalertsdsl.codeplex.com/">http://tfsalertsdsl.codeplex.com/&lt;/a>.&lt;/p>
&lt;blockquote>
&lt;p>&lt;em>Microsoft Team Foundation Server (TFS) provides an alerting model where given a certain condition, such as a check-in, work item edit or build completion, an email can be sent to an interest party or a call made to a SOAP based web service. Using this SOAP model it is possible to provide any bespoke operations you wish that are triggered by a change on the TFS server.&lt;/em>&lt;/p></description></item><item><title>Fixing a WCF authentication schemes configured on the host ('IntegratedWindowsAuthentication') do not allow those configured on the binding 'BasicHttpBinding' ('Anonymous') error</title><link>https://blogs.blackmarble.co.uk/rfennell/fixing-a-wcf-authentication-schemes-configured-on-the-host-integratedwindowsauthentication-do-not-allow-those-configured-on-the-binding-basichttpbinding-anonymous-error/</link><pubDate>Wed, 13 Nov 2013 12:54:39 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/fixing-a-wcf-authentication-schemes-configured-on-the-host-integratedwindowsauthentication-do-not-allow-those-configured-on-the-binding-basichttpbinding-anonymous-error/</guid><description>
&lt;p>Whilst testing a WCF web service I got the error&lt;/p>
&lt;blockquote>
&lt;h4 id="the-authentication-schemes-configured-on-the-host-integratedwindowsauthentication-do-not-allow-those-configured-on-the-binding-basichttpbinding-anonymous-please-ensure-that-the-securitymode-is-set-to-transport-or-transportcredentialonly-additionally-this-may-be-resolved-by-changing-the-authentication-schemes-for-this-application-through-the-iis-management-tool-through-the-servicehostauthenticationauthenticationschemes-property-in-the-application-configuration-file-at-the">&lt;em>The authentication schemes configured on the host ('IntegratedWindowsAuthentication') do not allow those configured on the binding 'BasicHttpBinding' ('Anonymous'). Please ensure that the SecurityMode is set to Transport or TransportCredentialOnly. Additionally, this may be resolved by changing the authentication schemes for this application through the IIS management tool, through the ServiceHost.Authentication.AuthenticationSchemes property, in the application configuration file at the &lt;serviceAuthenticationManager> element, by updating the ClientCredentialType property on the binding, or by adjusting the AuthenticationScheme property on the HttpTransportBindingElement.&lt;/em>&lt;/h4>&lt;/blockquote>
&lt;p>Now this sort of made sense as the web services was mean to be secured using Windows Authentication, so the IIS setting was correct, anonymous authentication was off&lt;/p></description></item><item><title>When your TFS Lab test agents can’t start check the DNS</title><link>https://blogs.blackmarble.co.uk/rfennell/when-your-tfs-lab-test-agents-cant-start-check-the-dns/</link><pubDate>Fri, 08 Nov 2013 16:11:45 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/when-your-tfs-lab-test-agents-cant-start-check-the-dns/</guid><description>
&lt;p>Lab Management has a lot of moving parts, especially if you are using SCVMM based environments. All the parts have to communicate if the system is work.&lt;/p>
&lt;p>One of the most common problem I have seen are due to DNS issues. A slowly propagating DNS can cause chaos as the test controller will not be able to resolve the name of the dynamically registered lab VMs.&lt;/p>
&lt;p>The best fix is to sort out your DNS issues, but that is not always possible (some things just take the time they take, especially on large WANs).&lt;/p></description></item><item><title>Building VMs for use in TFS Lab Management environments</title><link>https://blogs.blackmarble.co.uk/rfennell/building-vms-for-use-in-tfs-lab-management-environments/</link><pubDate>Thu, 07 Nov 2013 18:27:36 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/building-vms-for-use-in-tfs-lab-management-environments/</guid><description>
&lt;p>We have recently gone through an exercise to provide a consistent set of prebuilt configured VMs for use in our TFS Lab Management environments.&lt;/p>
&lt;p>This is not an insignificant piece of work &lt;a href="http://blogs.blackmarble.co.uk/blogs/rhepworth/post/2013/09/29/Building-environments-for-Lab-Manager-Why-bare-metal-scripting-fails.aspx">as this post by Rik Hepworth&lt;/a> discusses detailing all the IT pro work he had to do to create them. This is all before we even think about the work required to create deployment TFS builds and the like.&lt;/p></description></item><item><title>More on TF215106: Access denied from the TFS API after upgrade from 2012 to 2013</title><link>https://blogs.blackmarble.co.uk/rfennell/more-on-tf215106-access-denied-from-the-tfs-api-after-upgrade-from-2012-to-2013/</link><pubDate>Wed, 06 Nov 2013 15:23:48 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/more-on-tf215106-access-denied-from-the-tfs-api-after-upgrade-from-2012-to-2013/</guid><description>
&lt;p>In my &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/post/2013/10/21/TF215106-Access-denied-from-the-TFS-API-after-upgrade-from-2012-to-2013.aspx">previous post&lt;/a> I thought I had fixed my problems with TF215106 errors&lt;/p>
&lt;blockquote>
&lt;p>&amp;quot;TF215106: Access denied. TYPHOONTFS\TFSService needs Update build information permissions for build definition ClassLibrary1.Main.Manual in team project Scrum to perform the action. For more information, contact the Team Foundation Server administrator.&amp;quot;}&lt;/p>&lt;/blockquote>
&lt;p>Turns out I had not, acutally I not idea why it worked for a while! There could well be an API version issue, but I had to actually also missed I needed to do what the error message said!&lt;/p></description></item><item><title>‘Upgrading’ my Lenovo W520 to Windows 8.1</title><link>https://blogs.blackmarble.co.uk/rfennell/upgrading-my-lenovo-w520-to-windows-8-1/</link><pubDate>Tue, 05 Nov 2013 16:35:03 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/upgrading-my-lenovo-w520-to-windows-8-1/</guid><description>
&lt;p>The upgrade experience for Windows 8 Enterprise is basically a reinstall, as you lose some many desktop apps and settings. So I decided to do a clean install, my PC was in need of a repave anyway.&lt;/p>
&lt;p>My PC has 3 disks, a bitlockered SSD for the OS, another bitlockered drive used for data and a non bitlockered drive I use for ISOs, downloads etc. Just to be on the safe side I removed the bitlocker encryption on my second drive, then I deleted the contents of my SSD and re-installed.&lt;/p></description></item><item><title>Changes in Skydrive access on Windows 8.1</title><link>https://blogs.blackmarble.co.uk/rfennell/changes-in-skydrive-access-on-windows-8-1/</link><pubDate>Tue, 22 Oct 2013 17:38:06 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/changes-in-skydrive-access-on-windows-8-1/</guid><description>
&lt;p>After &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/post/2013/10/19/Upgrading-Windows-8-Media-Center-to-81.aspx">upgrading to Windows 8.1 on my Media Center PC&lt;/a> I have noticed a change in SkyDrive. The ‘upgrade’ process from 8 to 8.1 is really a reinstall of the OS and reapplication of Windows 8 applications. Some Windows desktop applications are removed. In the case of my Media Center PC the only desktop app installed was Windows Desktop Skydrive that I used to &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/post/2012/04/26/Thoughts-on-the-new-Skydrive.aspx">sync photos from my MediaPC to the cloud&lt;/a>. This is no longer needed as Windows 8.1 exposes the Skydrive files linked to the logged in LiveID as folders under the c:user[userid]documents folder, just like &lt;a href="http://windows.microsoft.com/en-GB/skydrive/download">Windows Desktop client&lt;/a> used to do.&lt;/p></description></item><item><title>TF215106: Access denied from the TFS API after upgrade from 2012 to 2013</title><link>https://blogs.blackmarble.co.uk/rfennell/tf215106-access-denied-from-the-tfs-api-after-upgrade-from-2012-to-2013/</link><pubDate>Mon, 21 Oct 2013 20:19:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/tf215106-access-denied-from-the-tfs-api-after-upgrade-from-2012-to-2013/</guid><description>
&lt;p>&lt;strong>Updated 6th Nov 2013&lt;/strong> - Also see this updated post , the API mentioned here maybe an issue, but the rights change in this other post is probably the real issue&lt;/p>
&lt;p>After upgrading a test server from TFS 2012 to 2013 I started getting the following exception when trying to set the retention for a build policy via the TFS API&lt;/p>
&lt;blockquote>
&lt;p>&amp;quot;TF215106: Access denied. TYPHOONTFS\TFSService needs Update build information permissions for build definition ClassLibrary1.Main.Manual in team project Scrum to perform the action. For more information, contact the Team Foundation Server administrator.&amp;quot;}&lt;/p></description></item><item><title>A fix for power saving stopping my slow application installation</title><link>https://blogs.blackmarble.co.uk/rfennell/a-fix-for-power-saving-stopping-my-slow-application-installation/</link><pubDate>Mon, 21 Oct 2013 13:14:42 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/a-fix-for-power-saving-stopping-my-slow-application-installation/</guid><description>
&lt;p>I am getting sick of the fact that the &lt;a href="http://www.samsung.com/us/computer/pcs/XE500T1C-A01US">Samsung 500T tablet&lt;/a> running Windows 8.1 I am installing applications on  keeps going into sleep mode to save power. I start the install, leave it to run, look back later it has been saving power, started and stopped Wifi and I have one very confused install. It is not as if it is anything weird, just Office 2013.&lt;/p>
&lt;p>So the the workaround (as I admit I forgot to pickup it’s PSU this morning) is pop it into Presenter Mode (via the Windows key X and Mobility Center). This means it ignore Power saving and just runs for me. Install finish fine and I am good to go&lt;/p></description></item><item><title>Can I use the HP ALM Synchronizer with TF Service?</title><link>https://blogs.blackmarble.co.uk/rfennell/can-i-use-the-hp-alm-synchronizer-with-tf-service/</link><pubDate>Mon, 21 Oct 2013 11:39:51 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/can-i-use-the-hp-alm-synchronizer-with-tf-service/</guid><description>
&lt;p>I recently tried to get the free &lt;a href="https://hpln.hp.com/group/hp-alm-synchronizer">HP ALM Synchronizer&lt;/a> to link to Microsoft’s &lt;a href="http://tfs.visualstudio.com">TF Service&lt;/a>, the summary is it does not work. However, it took me a while to realise this.&lt;/p>
&lt;p>The HP ALM Synchronizer was designed for TFS 2008/2010 so the first issue you hit is that TF Services is today basically TFS 2013 (and is a moving goal post as it is updated so often). This means when you try to configure the TFS connection in HP ALM Synchronizer  it fails because it cannot see any TFS client it supports. This is fairly simple to address, just &lt;a href="http://www.microsoft.com/en-us/download/details.aspx?id=29082">install Visual Studio Team Explorer 2010 and patch it up to date&lt;/a> so that it can connect to TF Service (&lt;a href="http://tfs.visualstudio.com/learn/get-started">you could go back to the 2008 and achieve the same if you really needed to&lt;/a>)&lt;/p></description></item><item><title>Upgrading Windows 8 Media Center to 8.1</title><link>https://blogs.blackmarble.co.uk/rfennell/upgrading-windows-8-media-center-to-8-1/</link><pubDate>Sat, 19 Oct 2013 00:19:58 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/upgrading-windows-8-media-center-to-8-1/</guid><description>
&lt;p>Just done the update of my Windows 8 Media Center to 8.1. First issue was I looked in the store and could not see the update. I was looking for an ‘update’ in the top right not a huge application entry in the middle of the screen. Strange how you can miss the obvious&lt;/p>
&lt;p>The download took about 30 minutes which worked in background whilst I was using Media Center. It then did a reboot,  the main install of files took about 30 minutes too. It seemed to sit at 85% for a long time, then another reboot. A few ‘preparing devices’ messages and ‘getting ready’ for a good 10 minutes, then ‘Applying PC settings', another reboot then ‘setting up a few more things’ . I then had to accept some licenses, and login with a LiveID, and eventually it started, and everything was working.&lt;/p></description></item><item><title>Problems with Microsoft Fake Stubs and IronPython</title><link>https://blogs.blackmarble.co.uk/rfennell/problems-with-microsoft-fake-stubs-and-ironpython/</link><pubDate>Tue, 15 Oct 2013 14:45:58 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/problems-with-microsoft-fake-stubs-and-ironpython/</guid><description>
&lt;p>I have been changing the mocking framework used on a project I am planning to open source. Previously it had been using &lt;a href="http://www.typemock.com">Typemock&lt;/a> to mock out items in the TFS API. This had been working well but used features of the toolset that are only available on the licensed product (not the free version). As I don’t like to publish tests people cannot run I thought it best to swap to &lt;a href="http://msdn.microsoft.com/en-us/library/jj159340.aspx">Microsoft Fakes&lt;/a> as there is a better chance any user will have a version of Visual Studio that provides this toolset.&lt;/p></description></item><item><title>Links from my DDDNorth session ‘Automated Build Is Not The End Of The Story’</title><link>https://blogs.blackmarble.co.uk/rfennell/links-from-my-dddnorth-session-automated-build-is-not-the-end-of-the-story/</link><pubDate>Sun, 13 Oct 2013 20:14:57 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/links-from-my-dddnorth-session-automated-build-is-not-the-end-of-the-story/</guid><description>
&lt;p>Thanks to everyone who came to my DDDNorth session ‘Automated Build Is Not The End Of The Story’, the links to the tools I discussed are as follows&lt;/p>
&lt;ul>
&lt;li>
&lt;p>Visual Studio Lab Management&lt;/p>
&lt;/li>
&lt;li>
&lt;p>MSDN &lt;a href="http://msdn.microsoft.com/en-us/library/dd997438.aspx">http&lt;/a>&lt;a href="http://msdn.microsoft.com/en-us/library/dd997438.aspx">://&lt;/a>&lt;a href="http://msdn.microsoft.com/en-us/library/dd997438.aspx">msdn.microsoft.com/en-us/library/dd997438.aspx&lt;/a>&lt;/p>
&lt;/li>
&lt;li>
&lt;p>ALM Rangers best practice guidance &lt;a href="http://vsarlabman.codeplex.com/">http://vsarlabman.codeplex.com/&lt;/a>&lt;/p>
&lt;/li>
&lt;li>
&lt;p>Building Environments&lt;/p>
&lt;/li>
&lt;li>
&lt;p>SC-VMM &lt;a href="http://technet.microsoft.com/en-us/library/gg610610.aspx">http://&lt;/a>&lt;a href="http://technet.microsoft.com/en-us/library/gg610610.aspx">technet.microsoft.com/en-us/library/gg610610.aspx&lt;/a>&lt;/p>
&lt;/li>
&lt;li>
&lt;p>ALM Rangers VM Factory &lt;a href="http://vsarvmfactory.codeplex.com/">http://vsarvmfactory.codeplex.com/&lt;/a>&lt;/p>
&lt;/li>
&lt;li>
&lt;p>Chef &lt;a href="http://www.opscode.com/chef/">http://www.opscode.com/chef/&lt;/a>&lt;/p>
&lt;/li>
&lt;li>
&lt;p>Puppet &lt;a href="http://puppetlabs.com/">http://puppetlabs.com&lt;/a>&lt;a href="http://puppetlabs.com/">/&lt;/a>&lt;/p>
&lt;/li>
&lt;li>
&lt;p>Deployment&lt;/p>
&lt;/li>
&lt;li>
&lt;p>ALM Rangers Test Infrastructure Guidance &lt;a href="http://tig.codeplex.com/">http://tig.codeplex.com/&lt;/a>&lt;/p>
&lt;/li>
&lt;li>
&lt;p>ALM Rangers DevOps Workbench Express Edition &lt;a href="http://vsardevops.codeplex.com/releases/view/111294">http://vsardevops.codeplex.com/releases/view/111294&lt;/a>&lt;/p>
&lt;/li>
&lt;li>
&lt;p>Octopus Deploy &lt;a href="http://octopusdeploy.com/">http://octopusdeploy.com/&lt;/a>&lt;/p>
&lt;/li>
&lt;li>
&lt;p>Buildmaster &lt;a href="http://inedo.com/buildmaster/overview">http://inedo.com/buildmaster/overview&lt;/a>&lt;/p>
&lt;/li>
&lt;li>
&lt;p>InRelease &lt;a href="http://www.microsoft.com/visualstudio/inrelease/">http://www.microsoft.com/visualstudio/inrelease/&lt;/a>&lt;/p>
&lt;/li>
&lt;/ul></description></item><item><title>Get rid of that that zombie build</title><link>https://blogs.blackmarble.co.uk/rfennell/get-rid-of-that-that-zombie-build/</link><pubDate>Thu, 10 Oct 2013 22:03:09 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/get-rid-of-that-that-zombie-build/</guid><description>
&lt;p>Whilst upgrading a TFS 2010 server to 2012 I had a problem that a build was showing in the queue as active after the upgrade. This build was queued in January, 10 months ago, so should have finished a long long time ago. This build had the effect that it blocked any newly queued builds, but the old build did not appear to be running on any agent – a zombie build.&lt;/p></description></item><item><title>Fix for - Could not load file or assembly 'Microsoft.VisualStudio.Shell’ on TFS 2010 Build Controller</title><link>https://blogs.blackmarble.co.uk/rfennell/fix-for-could-not-load-file-or-assembly-microsoft-visualstudio-shell-on-tfs-2010-build-controller/</link><pubDate>Thu, 10 Oct 2013 21:47:34 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/fix-for-could-not-load-file-or-assembly-microsoft-visualstudio-shell-on-tfs-2010-build-controller/</guid><description>
&lt;p>I have &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/post/2011/09/17/what-to-do-when-your-tfs-build-agent-says-it-is-ready-but-the-icon-says-it-is-not.aspx">previously posted about when TFS build controllers don’t start properly&lt;/a>. Well I saw the same problem today whilst upgrading a TFS 2010 server to TFS 2012.3. The client did not want to immediately upgrade their build processes and decided to keep their 2010 build VMs just pointing them at the updated server (remember TFS 2012.2 and later servers can support either 2012 or 2010 build controllers).&lt;/p>
&lt;p>The problem was that when we restarted the build service the controller and agents appeared to start, but then we got a burst of errors in the event log and we saw the controller say it was ready, but have the stopped icon.&lt;/p></description></item><item><title>And the most ridiculous packaging award of the day goes to…</title><link>https://blogs.blackmarble.co.uk/rfennell/and-the-most-ridiculous-packaging-award-of-the-day-goes-to/</link><pubDate>Mon, 30 Sep 2013 12:32:21 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/and-the-most-ridiculous-packaging-award-of-the-day-goes-to/</guid><description>
&lt;p>&lt;a href="http://cpc.farnell.com/">CPC&lt;/a> who managed to send two resistor-capacitor balances for LED lights, which as about 1cm in size&lt;/p>
&lt;p>
&lt;img
loading="lazy"
decoding="async"
alt=""
class="image_figure image_external image_unprocessed"
src="http://blogs.blackmarble.co.uk/blogs/adawson/image.axd?picture=Capacitor_Resistor_Package.jpg"
/>
&lt;/p>
&lt;p>in a box as shown here&lt;/p>
&lt;p>&lt;a href="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_144.png">&lt;img
loading="lazy"
decoding="async"
alt="image"
class="image_figure image_internal image_unprocessed"
src="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_thumb_144.png"
title="image"
/>
&lt;/a>&lt;/p>
&lt;p>Other than loads of that inflatable packing material there was a huge CPC catalogue, with the interesting sticker&lt;/p>
&lt;p>&lt;a href="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_145.png">&lt;img
loading="lazy"
decoding="async"
alt="image"
class="image_figure image_internal image_unprocessed"
src="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_thumb_145.png"
title="image"
/>
&lt;/a>&lt;/p>
&lt;p>So an online electronics company, that provides free shipping (a really good thing when the components were only a couple of £s), chose to also send a very heavy catalogue that they know is out of date, when I have already used their quick and easy web site.&lt;/p></description></item><item><title>‘TF400499: You have not set your team field’ when trying to update Team Settings via the TFS API</title><link>https://blogs.blackmarble.co.uk/rfennell/tf400499-you-have-not-set-your-team-field-when-trying-to-update-team-settings-via-the-tfs-api/</link><pubDate>Mon, 16 Sep 2013 12:50:56 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/tf400499-you-have-not-set-your-team-field-when-trying-to-update-team-settings-via-the-tfs-api/</guid><description>
&lt;p>I have recently been automating TFS admin processes such as creating a new team within an existing team project. The TFS team is now our primary means we use to segment work so we need to create new teams fairly often, so automation makes good sense.&lt;/p>
&lt;p>As far as I can see, there are no command line tools, like TF.EXE or WITADMIN.EXE, to do most of the team operations. They are usually browser based. So I have been using PowerShell and the TFS API for the automation.&lt;/p></description></item><item><title>Moving from Ubuntu to Mint for my TEE demos</title><link>https://blogs.blackmarble.co.uk/rfennell/moving-from-ubuntu-to-mint-for-my-tee-demos/</link><pubDate>Tue, 10 Sep 2013 21:50:58 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/moving-from-ubuntu-to-mint-for-my-tee-demos/</guid><description>
&lt;p>I posted a while ago about the &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/post/2013/06/07/DHCP-does-not-seem-to-work-on-Ubuntu-for-wireless-based-Hyper-V-virtual-switches.aspx">problems with DHCP using a Hyper-V virtual switch with WIFI and an Ubuntu VM&lt;/a>, well I never found a good solution without hard coding IP addresses.&lt;/p>
&lt;p>I recently tried using &lt;a href="http://www.linuxmint.com/download.php">Mint 15&lt;/a> and was please to see this did not suffer the same problems, it seems happy with DHCP over Hyper-V virtual switches. I think I will give it a go a do a while for any cross platform &lt;a href="http://msdn.microsoft.com/en-us/library/gg413285.aspx">TEE&lt;/a> demos I need for a while.&lt;/p></description></item><item><title>Where did that email go?</title><link>https://blogs.blackmarble.co.uk/rfennell/where-did-that-email-go/</link><pubDate>Tue, 10 Sep 2013 12:05:01 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/where-did-that-email-go/</guid><description>
&lt;p>We use the TFS Alerts system to signal to our teams what state project build are at. So when a developer changes a build quality to ‘ready for test’ an email is sent to everyone in the team and we make sure the build retention policy is set to keep. Now this is not the standard behaviour of the TFS build alerts system, so we do all this by calling a SOAP based web service which in turn uses the TFS API.&lt;/p></description></item><item><title>Maybe I should have got the Nokia 925</title><link>https://blogs.blackmarble.co.uk/rfennell/maybe-i-should-have-got-the-nokia-925/</link><pubDate>Sun, 01 Sep 2013 12:13:54 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/maybe-i-should-have-got-the-nokia-925/</guid><description>
&lt;p>I was at &lt;a href="http://www.livefromjodrellbank.com/news/sigur-ros-friday-30th-august/">Jodrell Bank to see Sigur Ros&lt;/a> last Friday. I could have really done with the low light features of Nokia 925 as opposed to &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/post/2013/08/21/A-week-with-a-Nokia-820.aspx">my 820&lt;/a>. The shots I took of the projected light show onto the radio telescope disk were not as good as I hoped.&lt;/p>
&lt;p>&lt;a href="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/WP_20130830_016.jpg">&lt;img
loading="lazy"
decoding="async"
alt="WP_20130830_016"
class="image_figure image_internal image_unprocessed"
src="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/WP_20130830_016_thumb.jpg"
title="WP_20130830_016"
/>
&lt;/a>&lt;a href="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/WP_20130830_015.jpg">&lt;img
loading="lazy"
decoding="async"
alt="WP_20130830_015"
class="image_figure image_internal image_unprocessed"
src="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/WP_20130830_015_thumb.jpg"
title="WP_20130830_015"
/>
&lt;/a>&lt;/p>
&lt;p>But the panorama earlier in the evening worked well&lt;/p>
&lt;p>&lt;a href="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/WP_20130830_19_47_33_Panorama.jpg">&lt;img
loading="lazy"
decoding="async"
alt="WP_20130830_19_47_33_Panorama"
class="image_figure image_internal image_unprocessed"
src="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/WP_20130830_19_47_33_Panorama_thumb.jpg"
title="WP_20130830_19_47_33_Panorama"
/>
&lt;/a>&lt;/p></description></item><item><title>DDDNorth registration is now open</title><link>https://blogs.blackmarble.co.uk/rfennell/dddnorth-registration-is-now-open/</link><pubDate>Thu, 29 Aug 2013 16:21:59 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/dddnorth-registration-is-now-open/</guid><description>
&lt;p>&lt;a href="http://www.dddnorth.co.uk/Home/Register">DDDNorth registration&lt;/a> is now open, and I am sure will soon close and move to a wait list. So if you want to attend I would get in early&lt;/p>
&lt;p>
&lt;img
loading="lazy"
decoding="async"
alt="DDD North Logo"
class="image_figure image_external image_unprocessed"
src="http://www.dddnorth.co.uk/Content/images/logo.png"
/>
&lt;/p></description></item><item><title>Review of ‘Software Testing using Visual Studio 2012’ from Packt Publishing</title><link>https://blogs.blackmarble.co.uk/rfennell/review-of-software-testing-using-visual-studio-2012-from-packt-publishing/</link><pubDate>Wed, 28 Aug 2013 10:01:14 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/review-of-software-testing-using-visual-studio-2012-from-packt-publishing/</guid><description>
&lt;p>I have just been reading &lt;a href="http://www.packtpub.com/software-testing-using-visual-studio-2012/book">Software Testing using Visual Studio 2012&lt;/a> by &lt;a href="http://www.packtpub.com/authors/profiles/subashni-s">Subashni. S&lt;/a> and &lt;a href="http://www.packtpub.com/authors/profiles/n-satheesh-kumar-0">Satheesh Kumar. N&lt;/a> from Packt Publishing&lt;/p>
&lt;p>&lt;a href="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/9540EN_cov-stwvs2012.jpg">&lt;img
loading="lazy"
decoding="async"
alt="9540EN_cov-stwvs2012"
class="image_figure image_internal image_unprocessed"
src="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/9540EN_cov-stwvs2012_thumb.jpg"
title="9540EN_cov-stwvs2012"
/>
&lt;/a>&lt;/p>
&lt;p>This book does what it says on the cover, it is a general introduction to the testing tools within the Visual Studio 2012 family. My comment is not about how well it is done, it is a clear enough introduction, but why produce a book that really just covers what is in &lt;a href="http://msdn.microsoft.com/en-us/vstudio/aa718325.aspx">MSDN&lt;/a>, &lt;a href="http://channel9.msdn.com/">Channel9&lt;/a>, numerous podcasts, blogs and &lt;a href="http://blogs.msdn.com/b/willy-peter_schaub/archive/2013/05/16/visual-studio-alm-ranger-solutions-catalog.aspx">ALM Rangers documentation&lt;/a>?&lt;/p></description></item><item><title>A week with a Nokia 820</title><link>https://blogs.blackmarble.co.uk/rfennell/a-week-with-a-nokia-820/</link><pubDate>Wed, 21 Aug 2013 20:42:22 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/a-week-with-a-nokia-820/</guid><description>
&lt;p>I have been using a &lt;a href="http://www.nokia.com/gb-en/phones/phone/lumia800/">Nokia 800&lt;/a> (Windows Phone 7.8) for a year or so and been happy with it. It does what I needed i.e. phone, email, media player mainly for podcasts. So given all the  reported issues with WP8 and podcasts (no Zune client to manage the subscription/sync and you can only subscribe through the store if you are in the USA) I was not too keen to ‘upgrade’&lt;/p></description></item><item><title>DDDNorth session voting is now open</title><link>https://blogs.blackmarble.co.uk/rfennell/dddnorth-session-voting-is-now-open/</link><pubDate>Thu, 15 Aug 2013 17:43:47 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/dddnorth-session-voting-is-now-open/</guid><description>
&lt;p>You can now &lt;a href="http://www.dddnorth.co.uk/Sessions">vote for the sessions&lt;/a> you wish to see at DDNorth2&lt;/p>
&lt;p>
&lt;img
loading="lazy"
decoding="async"
alt="DDD North Logo"
class="image_figure image_external image_unprocessed"
src="http://www.dddnorth.co.uk/Content/images/logo.png"
/>
&lt;/p>
&lt;p>Hope to see you there on Saturday 12th October 2013 in Sunderland&lt;/p></description></item><item><title>Why is my TFS Lab build picking a really old build to deploy?</title><link>https://blogs.blackmarble.co.uk/rfennell/why-is-my-tfs-lab-build-picking-a-really-old-build-to-deploy/</link><pubDate>Thu, 01 Aug 2013 14:51:23 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/why-is-my-tfs-lab-build-picking-a-really-old-build-to-deploy/</guid><description>
&lt;p>I was working on a TFS lab deployment today and to speed up testing I set it to pick the &lt;Latest> build of the TFS build that actually builds the code, as opposed to queuing a new one each time. It took me ages to remember/realise why it kept trying to deploy some ancient build that had long since been deleted from my test system.&lt;/p>
&lt;p>&lt;a href="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_142.png">&lt;img
loading="lazy"
decoding="async"
alt="image"
class="image_figure image_internal image_unprocessed"
src="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_thumb_142.png"
title="image"
/>
&lt;/a>&lt;/p>
&lt;p>The reason was the &lt;Latest> build means the last successful build, not the last partially successful build. I had a problem with my code build that means a test was failing (a custom build activity on my build agent was the root cause if the issue). Once I fixed my build box so the code build did not fail the lab build was able to pickup the files I expected and deploy them&lt;/p></description></item><item><title>Fix for ‘Cannot install test agent on these machines because another environment is being created using the same machines’</title><link>https://blogs.blackmarble.co.uk/rfennell/fix-for-cannot-install-test-agent-on-these-machines-because-another-environment-is-being-created-using-the-same-machines/</link><pubDate>Mon, 29 Jul 2013 13:56:03 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/fix-for-cannot-install-test-agent-on-these-machines-because-another-environment-is-being-created-using-the-same-machines/</guid><description>
&lt;p>I &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/post/2013/07/23/Adding-another-VM-to-a-running-Lab-Management-environment.aspx">recently posted&lt;/a> about adding extra VMs to existing environments in Lab Management. Whilst following this process I hit a problem, I could not create my new environment there was a problem at the verify stage. It was fine adding the new VMs, but the one I was reusing gave the error ‘Microsoft test manager cannot install test agent on these machines because another environment is being created using the same machines’&lt;/p></description></item><item><title>Making the drops location for a TFS build match the assembly version number</title><link>https://blogs.blackmarble.co.uk/rfennell/making-the-drops-location-for-a-tfs-build-match-the-assembly-version-number/</link><pubDate>Sat, 27 Jul 2013 16:20:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/making-the-drops-location-for-a-tfs-build-match-the-assembly-version-number/</guid><description>
&lt;p>A couple of years ago &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/post/2011/09/26/syncing-the-build-number-and-assembly-version-numbers-in-a-tfs-build-when-using-the-tfsversion-activity.aspx">I wrote about using the TFSVersion build activity to try to sync the assembly and build number&lt;/a>. I did not want to see build names/drop location in the format 'BuildCustomisation_20110927.17’, I wanted to see the version number in the build something like  'BuildCustomisation 4.5.269.17'. The problem as I outlined in that post was that by fiddling with the &lt;strong>BuildNumberFormat&lt;/strong> you could easily cause an error where duplicated drop folder names were generated, such as&lt;/p></description></item><item><title>I can never remember the command line to add use to the TFS Service Accounts group</title><link>https://blogs.blackmarble.co.uk/rfennell/i-can-never-remember-the-command-line-to-add-use-to-the-tfs-service-accounts-group/</link><pubDate>Fri, 26 Jul 2013 10:57:57 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/i-can-never-remember-the-command-line-to-add-use-to-the-tfs-service-accounts-group/</guid><description>
&lt;p>I keep forgetting when you use &lt;a href="http://visualstudiogallery.msdn.microsoft.com/eb77e739-c98c-4e36-9ead-fa115b27fefe">TFS Integration Platform&lt;/a> that the user who the tool (or service account is running as a service) is running as has to be in the “Team Foundation Service Accounts” group on the TFS servers involved. If they are not you get a runtime conflict something like&lt;/p>
&lt;blockquote>
&lt;p>Microsoft.TeamFoundation.Migration.Tfs2010WitAdapter.PermissionException: TFS WIT bypass-rule submission is enabled. However, the migration service account 'Richard Fennell' is not in the Service Accounts Group on server 'http://tfsserver:8080/tfs'.&lt;/p></description></item><item><title>An attempted return for ‘Brian the build bunny’</title><link>https://blogs.blackmarble.co.uk/rfennell/an-attempted-return-for-brian-the-build-bunny/</link><pubDate>Tue, 23 Jul 2013 22:51:20 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/an-attempted-return-for-brian-the-build-bunny/</guid><description>
&lt;h2 id="background">Background&lt;/h2>
&lt;p>Back in 2008 Martin Woodward did a post on using a &lt;a href="http://en.wikipedia.org/wiki/Nabaztag">Nabaztag&lt;/a> as a build monitor for TFS, &lt;a href="http://www.woodwardweb.com/gadgets/000434.html">‘Brian the build bunny’&lt;/a>. I did a bit more work on this idea and wired into our internal build monitoring system. We ended up with a system where a build definition could be tagged so that it’s success or failure caused the Nabaztag to say a message.&lt;/p>
&lt;p>&lt;a href="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_134.png">&lt;img
loading="lazy"
decoding="async"
alt="image"
class="image_figure image_internal image_unprocessed"
src="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_thumb_134.png"
title="image"
/>
&lt;/a>&lt;/p>
&lt;p>This all worked well until the company that made Nabaztag went out of business, the problem being all communication with your rabbit was via their web servers. At the time we did nothing about this, so just stopped using this feature of our build monitors.&lt;/p></description></item><item><title>Adding another VM to a running Lab Management environment</title><link>https://blogs.blackmarble.co.uk/rfennell/adding-another-vm-to-a-running-lab-management-environment/</link><pubDate>Tue, 23 Jul 2013 14:29:24 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/adding-another-vm-to-a-running-lab-management-environment/</guid><description>
&lt;p>If you are using network isolated environment in TFS Lab management there is no way to add another VM unless you rebuild and redeploy the environment. However, if you are not network isolated you can at least avoid the redeploy issues to a degree.&lt;/p>
&lt;p>I had a SCVMM based environment that was a not network isolated environment that contained a single non-domain joined server. This was used to host a backend simulation service for a project. In the next phase of the project we need to test accessing this service via RDP/Terminal Server so I wanted to add a VM to act in this role to the environment.&lt;/p></description></item><item><title>Experiences with a Kindle Paperwhite</title><link>https://blogs.blackmarble.co.uk/rfennell/experiences-with-a-kindle-paperwhite/</link><pubDate>Sat, 20 Jul 2013 11:18:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/experiences-with-a-kindle-paperwhite/</guid><description>
&lt;p>I wrote a post a while ago about ‘&lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/post/2011/01/06/kindle-on-the-phone-7.aspx">should I buy a Kindle&lt;/a>’, well I put if off for over a year using the Kindle app on my WP7 phone, reading best part of 50 books and been happy enough without buying an actual Kindle. The key issue being poor battery life, but that’s phones for you.&lt;/p>
&lt;p>However, I have eventually got around to getting a Kindle device. They key was I had been waiting for something that used touch, had no keyboard,  but most importantly worked in the dark without an external light. This is because I found one of the most useful features of the phone app was reading in bed without the need for a light.&lt;/p></description></item><item><title>Washing your phone headset</title><link>https://blogs.blackmarble.co.uk/rfennell/washing-your-phone-headset/</link><pubDate>Sun, 14 Jul 2013 14:23:42 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/washing-your-phone-headset/</guid><description>
&lt;p>As part of my &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/post/2007/05/22/correct-cleaning-method-for-corsair-flash-voyager-usb-stick.aspx">on-going experiments&lt;/a> to see what pieces of personal electronics can be put through a washing machine on 40C wash, I can confirm the headset off my Nokia phone has survived.&lt;/p></description></item><item><title>Minor issue on TFS 2012.3 upgrade if you are using host headers in bindings</title><link>https://blogs.blackmarble.co.uk/rfennell/minor-issue-on-tfs-2012-3-upgrade-if-you-are-using-host-headers-in-bindings/</link><pubDate>Thu, 11 Jul 2013 10:03:14 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/minor-issue-on-tfs-2012-3-upgrade-if-you-are-using-host-headers-in-bindings/</guid><description>
&lt;p>Yesterday I upgraded our production &lt;a href="http://www.microsoft.com/en-us/download/details.aspx?id=38185">2012.2 TFS server to update 3&lt;/a>. All seemed to go OK and it completed with no errors, it was so much easier now that the update supports the use of &lt;a href="http://msdn.microsoft.com/en-us/library/ff877884.aspx">SQL 2012 Availability Groups&lt;/a> within the update process, no need to remove the DBs from the availability group prior to the update.&lt;/p>
&lt;p>However, though there were no errors it did reported a warning, and on a quick check users could not connects to the upgraded server on our usually https URL.&lt;/p></description></item><item><title>Setting SkyDrive as a trusted location in Office 2013</title><link>https://blogs.blackmarble.co.uk/rfennell/setting-skydrive-as-a-trusted-location-in-office-2013/</link><pubDate>Tue, 09 Jul 2013 14:03:17 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/setting-skydrive-as-a-trusted-location-in-office-2013/</guid><description>
&lt;p>We use a &lt;a href="http://en.wikipedia.org/wiki/Visual_Studio_Tools_for_Office">VSTO&lt;/a> based Word template to make sure all our documents have the same styling and are suitably reformatted for shipping to clients e.g revision comments removed, contents pages up to date etc. Normally we will create a new document using this template from our SharePoint server and all is OK. However sometimes you are on the road when you started a document so you just create it locally using a locally installed copy of the template. In the past this has not caused me problems. I have my local ‘My documents’ set in Word as a trusted location and it just works fine.&lt;/p></description></item><item><title>Renewed as an MVP for Visual Studio ALM</title><link>https://blogs.blackmarble.co.uk/rfennell/renewed-as-an-mvp-for-visual-studio-alm/</link><pubDate>Mon, 01 Jul 2013 17:09:13 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/renewed-as-an-mvp-for-visual-studio-alm/</guid><description>
&lt;p>Really pleased to say I have been renewed as a Microsoft MVP for Visual Studio ALM. It great to be involved with such as activity community as the ALM crowd, can’t wait for the next summit in November.&lt;/p>
&lt;p>
&lt;img
loading="lazy"
decoding="async"
alt="MVP Logo"
class="image_figure image_external image_processed"
width="150"
height="61"
src="https://blogs.blackmarble.co.uk/images/mvp_421651948594914064.png"
/>
&lt;/p></description></item><item><title>DDDNorth session submission has opened</title><link>https://blogs.blackmarble.co.uk/rfennell/dddnorth-session-submission-has-opened/</link><pubDate>Mon, 01 Jul 2013 10:19:53 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/dddnorth-session-submission-has-opened/</guid><description>
&lt;p>The next &lt;a href="http://www.dddnorth.co.uk">DDDNorth event is to be held at Sunderland University on the 12th October&lt;/a>. Session submission has now opened so why not get your &lt;a href="http://www.dddnorth.co.uk/Sessions">session proposal&lt;/a> in?&lt;/p>
&lt;p>
&lt;img
loading="lazy"
decoding="async"
alt="DDD North Logo"
class="image_figure image_external image_unprocessed"
src="http://www.dddnorth.co.uk/Content/images/logo.png"
/>
&lt;/p></description></item><item><title>The best way to enjoy Build on the road.</title><link>https://blogs.blackmarble.co.uk/rfennell/the-best-way-to-enjoy-build-on-the-road/</link><pubDate>Fri, 28 Jun 2013 09:49:07 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/the-best-way-to-enjoy-build-on-the-road/</guid><description>
&lt;p>The way most big conferences manage to virtually live stream everything is very impressive. I started watching the &lt;a href="http://channel9.msdn.com/Events/Build/2013">stream of yesterdays Microsoft Build keynote&lt;/a> on the office’s big projection screen with everyone else at Black Marble. I have always said the best way to enjoy a keynote is on the comfy sofa with a beer at the end of the day. So much better than an early queue then a usually over air conditioned hall with 10,000 close friends.&lt;/p></description></item><item><title>A day of TFS upgrades</title><link>https://blogs.blackmarble.co.uk/rfennell/a-day-of-tfs-upgrades/</link><pubDate>Thu, 27 Jun 2013 13:36:50 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/a-day-of-tfs-upgrades/</guid><description>
&lt;p>After last nights release of new TFS and Visual Studio bits at the &lt;a href="http://www.buildwindows.com/">Build&lt;/a> conference I spent this morning upgrading my demo VMs. Firstly I upgraded to &lt;a href="http://www.microsoft.com/en-us/download/details.aspx?id=38185">TFS 2012.3&lt;/a> and then snapshotting before going onto &lt;a href="http://www.microsoft.com/visualstudio/eng#2013-preview">2013 Preview&lt;/a>. So by changing snapshot I can now demo either version. In both cases the upgrade process was as expected, basically a rerun of the configuration wizard with all the fields bar the password prefilled. &lt;a href="http://nakedalm.com/about">Martin Hinshelwood&lt;/a> has done a nice post if you want more &lt;a href="http://nakedalm.com/upgrading-to-team-foundation-server-2013/">details on the process&lt;/a>&lt;/p></description></item><item><title>Why can’t I find my build settings on a Git based project on TFS Service?</title><link>https://blogs.blackmarble.co.uk/rfennell/why-cant-i-find-my-build-settings-on-a-git-based-project-on-tfs-service/</link><pubDate>Wed, 26 Jun 2013 11:05:45 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/why-cant-i-find-my-build-settings-on-a-git-based-project-on-tfs-service/</guid><description>
&lt;p>Just wasted a bit of time trying to find the build tab on a TFS Team Project hosted on the hosted &lt;a href="http://tfs.visualstudio.com">http://tfs.visualstudio.com&lt;/a> using a Git repository. I was looking on team explorer expecting to see something like&lt;/p>
&lt;p>&lt;a href="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_129.png">&lt;img
loading="lazy"
decoding="async"
alt="image"
class="image_figure image_internal image_unprocessed"
src="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_thumb_129.png"
title="image"
/>
&lt;/a>&lt;/p>
&lt;p>But all I was seeing the the Visual Studio Git Changes option (just the top bit on the left panel above).&lt;/p>
&lt;p>It took to me ages to realise that the issue was I had cloned the Git repository to my local PC using the &lt;a href="http://visualstudiogallery.msdn.microsoft.com/abafc7d6-dcaa-40f4-8a5e-d6724bdb980c/view/Reviews/0?showReviewForm=True">Visual Studio Tools for Git&lt;/a>. So I was just using just Git tools, not TFS tools. As far as Visual Studio was concerned this was just some Git repository it could have been local, GitHub, TFS Service or anything that hosts Git.&lt;/p></description></item><item><title>Error adding a new widget to our BlogEngine.NET 2.8.0.0 server</title><link>https://blogs.blackmarble.co.uk/rfennell/error-adding-a-new-widget-to-our-blogengine-net-2-8-0-0-server/</link><pubDate>Tue, 25 Jun 2013 14:07:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/error-adding-a-new-widget-to-our-blogengine-net-2-8-0-0-server/</guid><description>
&lt;h3 id="background">Background&lt;/h3>
&lt;p>if you use Twitter in any web you will probably have noticed that they have switched off the 1.0 API, you have to use the 1.1 version which is stricter over OAUTH. This meant the Twitter feeds into our blog server stopped working on the 10th of June. The old call of&lt;/p>
&lt;p>&lt;a href="http://api.twitter.com/1/statuses/user_timeline.rss?screen_name=blackmarble" title="http://api.twitter.com/1/statuses/user_timeline.rss?screen_name=blackmarble">http://api.twitter.com/1/statuses/user_timeline.rss?screen_name=blackmarble&lt;/a>&lt;/p>
&lt;p>did not work and just change 1 to 1.1 did not work.&lt;/p>
&lt;p>So I decided to pull down a different widget for BlogEngine.NET to do the job, choosing &lt;a href="http://dnbegallery.org/cms/List/Widgets/RecentTweets">Recent Tweets&lt;/a>.&lt;/p></description></item><item><title>Using SYSPREP’d VM images as opposed to Templates in a new TFS 2012 Lab Management Environment</title><link>https://blogs.blackmarble.co.uk/rfennell/using-sysprepd-vm-images-as-opposed-to-templates-in-a-new-tfs-2012-lab-management-environment/</link><pubDate>Mon, 24 Jun 2013 13:49:01 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/using-sysprepd-vm-images-as-opposed-to-templates-in-a-new-tfs-2012-lab-management-environment/</guid><description>
&lt;p>An interesting change with Lab Management 2012 and SCVMM 2012 is that templates become a lot less useful. In the SCVMM 2008 versions you had a choice when you stored VMs in the SCVMM library. …&lt;/p>
&lt;ul>
&lt;li>You could store a fully configured VM&lt;/li>
&lt;li>or a generalised template.&lt;/li>
&lt;/ul>
&lt;p>When you added the template to a new environment you could enter details such as the machine name, domain to join and product key etc. If you try this with SCVMM 2012 you just see the message ‘These properties cannot be edited from Microsoft Test Manager’&lt;/p></description></item><item><title>Great experience moving my DotNetNuke site to PowerDNN</title><link>https://blogs.blackmarble.co.uk/rfennell/great-experience-moving-my-dotnetnuke-site-to-powerdnn/</link><pubDate>Wed, 19 Jun 2013 16:29:34 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/great-experience-moving-my-dotnetnuke-site-to-powerdnn/</guid><description>
&lt;p>I posted recently about my experiences in &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/post/2013/05/17/.aspx">upgrading DotNetNuke 5 to 7&lt;/a>, what fun that was! Well I have now had to do the move for real. I expected to follow the same process, but had problems. Turns out the key was to go 5 &amp;gt; 6 &amp;gt; 7. Once I did this the upgrade worked, turns out this is the &lt;a href="http://www.dotnetnuke.com/Resources/Wiki/Page/Suggested_Upgrade_Path.aspx">recommended route&lt;/a>. Why my previous trial worked I don’t know?&lt;/p>
&lt;p>Anyway I ended up with a local DNN 7 site running against SQL 2012. It still was using DNN 5 based skin (which has problems with IE 10) which I needed to alter, but was functional. So it was time to move my ISP.&lt;/p></description></item><item><title>Using git tf to migrate code between TFS servers retaining history</title><link>https://blogs.blackmarble.co.uk/rfennell/using-git-tf-to-migrate-code-between-tfs-servers-retaining-history/</link><pubDate>Sun, 16 Jun 2013 17:48:54 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/using-git-tf-to-migrate-code-between-tfs-servers-retaining-history/</guid><description>
&lt;p>&lt;a href="http://nakedalm.com/migrating-source-code-with-history-to-tfs-2012-with-git-tf/">Martin Hinshelwood did a recent post&lt;/a> on moving source code between TFS servers using  &lt;strong>git tf&lt;/strong>. He mentioned that you could use the &lt;strong>--deep&lt;/strong> option to get the whole changeset check-in history.&lt;/p>
&lt;p>Being fairly new to using Git, in anything other than the simplest scenarios, it took me a while to get the commands right. This is what I used in the end (using the Brian Keller VM for sample data) …&lt;/p></description></item><item><title>Beta release of the ALM Rangers Unit Test Generate VS Extension</title><link>https://blogs.blackmarble.co.uk/rfennell/beta-release-of-the-alm-rangers-unit-test-generate-vs-extension/</link><pubDate>Sun, 16 Jun 2013 17:09:56 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/beta-release-of-the-alm-rangers-unit-test-generate-vs-extension/</guid><description>
&lt;p>With Visual Studio 2012 have you missed the automated unit test generation tools that were present in Visual Studio 2010?&lt;/p>
&lt;p>If you have then the ALM Rangers have produced the ‘Unit Test Generate VS Extension’. The first beta of this is now available on the &lt;a href="http://aka.ms/Y1ff33">VSGallery&lt;/a>.&lt;/p>
&lt;p>&lt;a href="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/clip_image001.jpg">&lt;img
loading="lazy"
decoding="async"
alt="clip_image001"
class="image_figure image_internal image_unprocessed"
src="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/clip_image001_thumb.jpg"
title="clip_image001"
/>
&lt;/a>&lt;/p>
&lt;p>Why not download it and try out so you can provide feedback to the team?&lt;/p></description></item><item><title>Where did my parameters go when I edited that standard TFS report?</title><link>https://blogs.blackmarble.co.uk/rfennell/where-did-my-parameters-go-when-i-edited-that-standard-tfs-report/</link><pubDate>Mon, 10 Jun 2013 13:56:05 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/where-did-my-parameters-go-when-i-edited-that-standard-tfs-report/</guid><description>
&lt;p>I have been doing some editing of the standard scrum TFS 2012 Sprint Burndown report in SQL 2012 Report Builder. When I ran the report after editing the MDX query in the dsBurndown DataSet to return an extra column I got an error:&lt;/p>
&lt;ul>
&lt;li>on a remote PC it just said error with dsBurndown dataset&lt;/li>
&lt;li>on the server hosting reporting services, or in Report Builder, I got a bit more information, it said the TaskName parameter was not defined.&lt;/li>
&lt;/ul>
&lt;p>On checking the state of the dataset parameters before and after my edit I could see that the TaskName parameter had been lost&lt;/p></description></item><item><title>Nice discussion on real world issues with software projects</title><link>https://blogs.blackmarble.co.uk/rfennell/nice-discussion-on-real-world-issues-with-software-projects/</link><pubDate>Fri, 07 Jun 2013 15:37:26 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/nice-discussion-on-real-world-issues-with-software-projects/</guid><description>
&lt;p>Just watched a good session from TechEd USA 2013, it was billed as &lt;a href="http://channel9.msdn.com/Events/TechEd/NorthAmerica/2013/DEV-B212#fbid=vK8lgJC8uYE">Agile Software Development with Microsoft Visual Studio ALM&lt;/a> but has little that was specifically TFS based; no demos just war stories from &lt;a href="http://channel9.msdn.com/Events/Speakers/aaron-bjork">Aaron Bjork&lt;/a> and &lt;a href="http://channel9.msdn.com/Events/Speakers/Peter-Provost">Peter Provost&lt;/a>&lt;/p>
&lt;p>It is a good discussion of the problems, experiences and solutions the Microsoft Visual Studio team went through when trying to move to agile development, including&lt;/p>
&lt;ul>
&lt;li>Sprint lengths, be consistent across teams&lt;/li>
&lt;li>Retrospectives, do you actually act on them?&lt;/li>
&lt;li>Technical debt, do you write features or bugs?&lt;/li>
&lt;li>Measure what you do&lt;/li>
&lt;li>What is the role of the product owner/manager?&lt;/li>
&lt;/ul>
&lt;p>Well worth a watch&lt;/p></description></item><item><title>DHCP does not seem to work on Ubuntu for wireless based Hyper-V virtual switches</title><link>https://blogs.blackmarble.co.uk/rfennell/dhcp-does-not-seem-to-work-on-ubuntu-for-wireless-based-hyper-v-virtual-switches/</link><pubDate>Fri, 07 Jun 2013 10:02:50 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/dhcp-does-not-seem-to-work-on-ubuntu-for-wireless-based-hyper-v-virtual-switches/</guid><description>
&lt;p>If running an Ubuntu guest VM on Windows 8 Hyper-V you have a problem if you want to make use of a wireless network on the host machine. DHCP does not seem to work.&lt;/p>
&lt;p>Firstly you have to create a virtual switch in Hyper-V&lt;/p>
&lt;p>&lt;a href="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_121.png">&lt;img
loading="lazy"
decoding="async"
alt="image"
class="image_figure image_internal image_unprocessed"
src="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_thumb_121.png"
title="image"
/>
&lt;/a>&lt;/p>
&lt;p>and connect it to your wireless card&lt;/p>
&lt;p>&lt;a href="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_122.png">&lt;img
loading="lazy"
decoding="async"
alt="image"
class="image_figure image_internal image_unprocessed"
src="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_thumb_122.png"
title="image"
/>
&lt;/a>&lt;/p>
&lt;p>you can then connect a Network Adaptor on the Ubuntu guest VM to the new switch.&lt;/p></description></item><item><title>Visual Studio 2013 announcement at TechEd USA</title><link>https://blogs.blackmarble.co.uk/rfennell/visual-studio-2013-announcement-at-teched-usa/</link><pubDate>Mon, 03 Jun 2013 19:25:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/visual-studio-2013-announcement-at-teched-usa/</guid><description>
&lt;p>Today at TechEd USA Brian Harry announced Visual Studio 2013, &lt;a href="http://blogs.msdn.com/b/bharry/archive/2013/06/03/visual-studio-2013.aspx">have a look at his blog for details of the new ALM features&lt;/a>. These include…&lt;/p>
&lt;ul>
&lt;li>Agile Portfolio Management&lt;/li>
&lt;li>Git source control on premises&lt;/li>
&lt;li>Revised team explorer including pop out windows&lt;/li>
&lt;li>Improvements in code editing and annotation&lt;/li>
&lt;li>Improvement in web based test management&lt;/li>
&lt;li>Team Room – chat like collaboration&lt;/li>
&lt;li>Cloud based web load testing&lt;/li>
&lt;li>The start of addition of release management to TFS via the purchase of &lt;a href="http://www.incyclesoftware.com/inrelease/">InRelease&lt;/a>&lt;/li>
&lt;/ul>
&lt;p>For more info see the various sessions up on &lt;a href="http://channel9.msdn.com/Events/TechEd/NorthAmerica/2013#fbid=vK8lgJC8uYE">Channel 9&lt;/a>&lt;/p></description></item><item><title>Lenovo W520 problems with Wifi and Windows 8</title><link>https://blogs.blackmarble.co.uk/rfennell/lenovo-w520-problems-with-wifi-and-windows-8/</link><pubDate>Mon, 03 Jun 2013 19:12:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/lenovo-w520-problems-with-wifi-and-windows-8/</guid><description>
&lt;p>My Windows 8 based Lenovo W520 has an Intel Centrino Ultimate-N 6300 Wifi chipset, it has been giving me problems with this for a while.&lt;/p>
&lt;p>The most usual problem is that if I sleep or hibernate the PC when I restart it, in a different location, there is a chance I cannot connect to Wifi networks. I can see them, get a limited connection but no IP address as DHCP fails. Sometimes using the hardware Wifi switch on the front left of the PC helps, sometimes switching into Windows 8 airplane mode and back out does, but not always. Often I need to restart the PC.&lt;/p></description></item><item><title>My session on TFS at the ‘Building Applications for the Future’</title><link>https://blogs.blackmarble.co.uk/rfennell/my-session-on-tfs-at-the-building-applications-for-the-future/</link><pubDate>Wed, 22 May 2013 22:21:07 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/my-session-on-tfs-at-the-building-applications-for-the-future/</guid><description>
&lt;p>Thanks to everyone who attended my session on ‘TFS for Developers’ at the &lt;a href="https://www.greymatter.com/information/events">Grey Matter’s ‘Building Applications for the Future’ event&lt;/a> today. As you will have noticed my session was basically slide free, so not much to share there.&lt;/p>
&lt;p>As I said at the end of my session to find out more have a look at&lt;/p>
&lt;ul>
&lt;li>&lt;a href="http://aka.ms/VS11ALMVM">Brian Keller’s TFS 2012 VM&lt;/a> – ready to run demo VM with plenty of hands on labs&lt;/li>
&lt;li>&lt;a href="http://tfs.visualstudio.com">Team Foundation Service&lt;/a> – the free hosted version of TFS – go on give it a try.&lt;/li>
&lt;li>&lt;a href="http://blogs.msdn.com/b/bharry/">Brian Harry’s Blog&lt;/a> – all announcements on TFS can be found here&lt;/li>
&lt;/ul>
&lt;p>Also a couple of people asked by about TFS and Eclipse, which I only mentioned briefly at the end. For more on &lt;a href="http://channel9.msdn.com/Events/TechDays/UK-Tech-Days/Visual-Studio-Team-Foundation-for-Everyone">Team Explorer Everywhere look at the video&lt;/a> I did last year on that very subject&lt;/p></description></item><item><title>Video on Nuget for C++ on Channel 9</title><link>https://blogs.blackmarble.co.uk/rfennell/video-on-nuget-for-c-on-channel-9/</link><pubDate>Wed, 22 May 2013 22:04:03 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/video-on-nuget-for-c-on-channel-9/</guid><description>
&lt;p>I have been out to a number of sites recently where there are C++ developers. We often get talking about package management and general best practices for shared libraries. The common refrain is ‘I wish we had something like Nuget for C++’.&lt;/p>
&lt;p>Well it was released in &lt;a href="http://blogs.msdn.com/b/vcblog/archive/2013/04/26/nuget-for-c.aspx">Nuget 2.5&lt;/a> and there is a video on &lt;a href="http://channel9.msdn.com/Shows/C9-GoingNative/GoingNative-16-Garrett-Serak-Inside-NuGet-for-C">Channel9&lt;/a> all about it.&lt;/p></description></item><item><title>Webinar on PreEmptive Analytics tools on the 28th of May</title><link>https://blogs.blackmarble.co.uk/rfennell/webinar-on-preemptive-analytics-tools-on-the-28th-of-may/</link><pubDate>Mon, 20 May 2013 16:47:17 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/webinar-on-preemptive-analytics-tools-on-the-28th-of-may/</guid><description>
&lt;p>A key requirement for any DevOps strategy is the reporting on how your solution is behaving in the wild. PreEmptive Analytics™ for Team Foundation Server (TFS) can provide a great insight in this area, and there is a good chance you are already licensed for it as part of MSDN.&lt;/p>
&lt;p>So why not have a look on the &lt;a href="http://blogs.msdn.com/b/ukmsdn/archive/2013/05/13/event-improve-software-quality-user-experience-and-developer-productivity-with-real-time-analytics-webinar.aspx">UK MSDN&lt;/a> site for more details the free Microsoft hosted event.&lt;/p>
&lt;blockquote>
&lt;p>&lt;a href="https://www3.gotomeeting.com/register/985709814">MSDN Webinar Improve Software Quality, User Experience and Developer Productivity with Real Time Analytics&lt;/a>&lt;br>
Tuesday, May 28 2013: 4:00 – 5:00 pm (UK Time)&lt;/p></description></item><item><title>Getting Wix 3.6 MajorUpgrade working</title><link>https://blogs.blackmarble.co.uk/rfennell/getting-wix-3-6-majorupgrade-working/</link><pubDate>Fri, 17 May 2013 11:07:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/getting-wix-3-6-majorupgrade-working/</guid><description>
&lt;p>Why is everything so complex to get going with Wix, then so easy in the end when you get the syntax correct?&lt;/p>
&lt;p>If you want to allow your MSI installer to upgrade a previous version then there are some things you have to have correct if you don’t want the ‘Another version of this product is already installed’ dialog appearing.&lt;/p>
&lt;ul>
&lt;li>The Product Id should be set to * so that a new Guid is generated each time the product is rebuild&lt;/li>
&lt;li>The Product UpgradeCode should be set to a fix Guid for all releases&lt;/li>
&lt;li>The Product Version should increment on of the first three numbers, by default the final build number is ignored for update checking&lt;/li>
&lt;li>The Package block should not have an Id set – this will allow it to be auto generated&lt;/li>
&lt;li>You need to add the MajorUpgrade block to you installer&lt;/li>
&lt;/ul>
&lt;p>So you end up with&lt;/p></description></item><item><title>Upgrading DotNetNuke from V5 to V7</title><link>https://blogs.blackmarble.co.uk/rfennell/upgrading-dotnetnuke-from-v5-to-v7/</link><pubDate>Fri, 17 May 2013 08:51:56 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/upgrading-dotnetnuke-from-v5-to-v7/</guid><description>
&lt;p>I recently needed to upgrade a DNN V5 site  to V7 (yes I know I had neglected it, but I was forced to consider a change due to an ISP change). Now this is a documented process, but I had a few problems. There are some subtleties the release notes miss out. This is what I found I had to do to test the process on a replica web site …&lt;/p></description></item><item><title>Why do all my TFS labels appear to be associated with the same changeset?</title><link>https://blogs.blackmarble.co.uk/rfennell/why-do-all-my-tfs-labels-appear-to-be-associated-with-the-same-changeset/</link><pubDate>Thu, 16 May 2013 08:41:34 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/why-do-all-my-tfs-labels-appear-to-be-associated-with-the-same-changeset/</guid><description>
&lt;p>If you look at the labels tab in the source control history in Visual Studio 2012 you could be confused by the changeset numbers. How can all the labels added by my different builds, done over many days, be associated with the same changeset?&lt;/p>
&lt;p>&lt;a href="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_109.png">&lt;img
loading="lazy"
decoding="async"
alt="image"
class="image_figure image_internal image_unprocessed"
src="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_thumb_109.png"
title="image"
/>
&lt;/a>&lt;/p>
&lt;p>If you look at the same view in VS 2010 the problem is not so obvious, but that is basically due to the column not being shown.&lt;/p></description></item><item><title>Problem with CollectionView.CurrentChanged event not being fired in a WPF application</title><link>https://blogs.blackmarble.co.uk/rfennell/problem-with-collectionview-currentchanged-event-not-being-fired-in-a-wpf-application/</link><pubDate>Tue, 14 May 2013 16:59:03 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/problem-with-collectionview-currentchanged-event-not-being-fired-in-a-wpf-application/</guid><description>
&lt;p>Had an interesting issue on one of our WPF applications that is using &lt;a href="http://www.galasoft.ch/mvvm/">MVVM Lite&lt;/a>.&lt;/p>
&lt;p>&lt;a href="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_108.png">&lt;img
loading="lazy"
decoding="async"
alt="image"
class="image_figure image_internal image_unprocessed"
src="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_thumb_108.png"
title="image"
/>
&lt;/a>&lt;/p>
&lt;p>This application is a front end to upload and download folder structures to TFS. On my development PC all was working fine i.e. when we upload a new folder structure to the TFS backend the various combo’s on the download tab are also updated. However, on another test system they were not updated.&lt;/p></description></item><item><title>Robert's new arrival</title><link>https://blogs.blackmarble.co.uk/rfennell/roberts-new-arrival/</link><pubDate>Tue, 14 May 2013 11:03:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/roberts-new-arrival/</guid><description>
&lt;p>Look what the stork delivered to Robert!&lt;/p>
&lt;p>&lt;a href="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/WP_000521.jpg">&lt;img
loading="lazy"
decoding="async"
alt="WP_000521"
class="image_figure image_internal image_unprocessed"
src="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/WP_000521_thumb.jpg"
title="WP_000521"
/>
&lt;/a>&lt;a href="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/WP_000520.jpg">&lt;img
loading="lazy"
decoding="async"
alt="WP_000520"
class="image_figure image_internal image_unprocessed"
src="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/WP_000520_thumb.jpg"
title="WP_000520"
/>
&lt;/a>&lt;/p>
&lt;p>He has bought himself a &lt;a href="http://www.aldebaran-robotics.com/en/">robot&lt;/a>, and brought it in to the office to show to everyone today&lt;/p></description></item><item><title>Setting up a TFS 2012 proxy in a cross domain system</title><link>https://blogs.blackmarble.co.uk/rfennell/setting-up-a-tfs-2012-proxy-in-a-cross-domain-system/</link><pubDate>Fri, 10 May 2013 21:16:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/setting-up-a-tfs-2012-proxy-in-a-cross-domain-system/</guid><description>
&lt;p>Today I have been setting up a cross domain TFS proxy. The developers are in one domain and the TFS server in another. Given there is no trust between these domains &lt;a href="http://blogs.msdn.com/b/briankel/archive/2011/09/16/visual-studio-11-application-lifecycle-management-virtual-machine-and-hands-on-labs-demo-scripts.aspx">you have use a trick&lt;/a> to get it to work.&lt;/p>
&lt;p>So I created a local user tfsproxy.local on both the TFS server and proxy with the same password on each. At the proxy end I made this local user a local admin.&lt;/p></description></item><item><title>Interested in some tutor delivered training on TFS 2012 in the UK?</title><link>https://blogs.blackmarble.co.uk/rfennell/interested-in-some-tutor-delivered-training-on-tfs-2012-in-the-uk/</link><pubDate>Fri, 10 May 2013 09:23:52 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/interested-in-some-tutor-delivered-training-on-tfs-2012-in-the-uk/</guid><description>
&lt;p>Interested in some tutor delivered training on TFS 2012? Well &lt;a href="http://myalmblog.com/">Anthony Borton&lt;/a>, the TFS trainer and ALM MVP, is over in the UK running his excellent set of the TFS/VS 2012 focused courses.&lt;/p>
&lt;ul>
&lt;li>&lt;strong>TFS 2012 Configuration and Administration&lt;/strong>&lt;br>
10th – 12th June 2013 | &lt;a href="http://www.quicklearn.com/datasheets/ALMA12.pdf">Course Outline&lt;/a>&lt;/li>
&lt;li>&lt;strong>Software testing with Visual Studio 2012&lt;/strong>13th- 14th June 2013 | &lt;a href="http://www.quicklearn.com/datasheets/ALMT12.pdf">Course Outline&lt;/a>&lt;/li>
&lt;li>&lt;strong>TFS 2012 Developer Fundamentals&lt;/strong>&lt;br>
17th – 18th June 2013 | &lt;a href="http://www.quicklearn.com/datasheets/ALMD12.pdf">Course Outline&lt;/a>&lt;/li>
&lt;/ul>
&lt;p>Interestingly these courses can be taken in the room with the trainer or via &lt;a href="http://www.quicklearn.com/rci.aspx">Quicklearn’s Remote Classroom Instruction&lt;/a> (RCI), so you can take the course in real time with the other students from the comfort of your own home/desk, but with all the benefits of a tutor classroom environment&lt;/p></description></item><item><title>How healthy is my TFS server?</title><link>https://blogs.blackmarble.co.uk/rfennell/how-healthy-is-my-tfs-server/</link><pubDate>Wed, 08 May 2013 15:31:17 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/how-healthy-is-my-tfs-server/</guid><description>
&lt;p>If you want to know the health of the TFS server there are a number of options from a full &lt;a href="http://www.microsoft.com/en-us/download/details.aspx?id=35773">System Center MOM pack&lt;/a> downwards. A good starting point are the &lt;a href="http://blogs.msdn.com/b/granth/archive/2009/02/03/announcing-tfs-performance-report-pack.aspx">performance reports&lt;/a> and &lt;a href="http://blogs.msdn.com/b/granth/archive/2010/07/12/administrative-report-pack-for-team-foundation-server-2010.aspx">administrative report pack&lt;/a> produced by &lt;a href="http://blogs.msdn.com/b/granth/">Grant Holiday&lt;/a>. Though the performance pack is  designed for TFS 2008 they work on 2010 and 2012, but you do need to do a bit of editing.&lt;/p>
&lt;ol>
&lt;li>As the installation notes state, create a new shared data source called “TfsActivityReportDS”
&lt;ol>
&lt;li>
&lt;p>Set the connection string to: &lt;strong>Data Source=[your SQL server];Initial Catalog=Tfs_[your TPC name]    -&lt;/strong> this is the big change as it this used to point to the tfs_ActivityLogging DB, this (as of TFS 2010) is now all rolled into you Team project Collection DB, so you need to alter the connection string to match your TPC. Also note if you use multiple TPCs you will need multiple data sources and reports.&lt;/p></description></item><item><title>Getting going with the TFS Java API</title><link>https://blogs.blackmarble.co.uk/rfennell/getting-going-with-the-tfs-java-api/</link><pubDate>Sat, 04 May 2013 08:53:27 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/getting-going-with-the-tfs-java-api/</guid><description>
&lt;p>If you are using the &lt;a href="http://www.microsoft.com/en-us/download/details.aspx?id=22616">TFS 2012 Java API&lt;/a> it is important you read the release notes. It is not enough to just reference the &lt;strong>com.microsoft.tfs.sdk-11.0.0.jar&lt;/strong> file in your &lt;strong>classpath&lt;/strong> as you might expect. You also have to pass a Java system property that associates &lt;strong>com.microsoft.tfs.jni.native.base-directory&lt;/strong> with the location of the native library files that provide platform specific implementation for method calls.  The command line for this is done in the form&lt;/p></description></item><item><title>Accessing TFS work item tags via the API</title><link>https://blogs.blackmarble.co.uk/rfennell/accessing-tfs-work-item-tags-via-the-api/</link><pubDate>Fri, 03 May 2013 22:35:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/accessing-tfs-work-item-tags-via-the-api/</guid><description>
&lt;p>With &lt;a href="http://blogs.msdn.com/b/visualstudioalm/archive/2013/02/03/tfs2012-qu2-new-feature-work-item-tagging.aspx">TFS 2012.2 Microsoft have added tags to work items&lt;/a>. These provide a great way to add custom information to work items without the need to customise the process template to add custom fields. This is important for users of the hosted &lt;a href="http://tfs.visualstudio.com">http://tfs.visualstudio.com&lt;/a> as this does not, at this time, allow any process customisation.&lt;/p>
&lt;p>It is easy to add tags to any work item via the TFS web client, just press the Add.. button and either select an existing tag or add a new one. In the following PBI work item example I have added two tags, Tag1 and Tag2.&lt;/p></description></item><item><title>Workaround for TF900546: An unexpected error occurred while running the RunTests activity</title><link>https://blogs.blackmarble.co.uk/rfennell/workaround-for-tf900546-an-unexpected-error-occurred-while-running-the-runtests-activity/</link><pubDate>Wed, 01 May 2013 15:01:21 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/workaround-for-tf900546-an-unexpected-error-occurred-while-running-the-runtests-activity/</guid><description>
&lt;h3 id="the-problem">The problem&lt;/h3>
&lt;p>I have been working on a project that contains SharePoint 2010 WSP packages and a MSI distributed WPF application. These projects are all in a single solution with their unit tests. I have been getting a problem with our TFS 2012.2 build system, all the projects compile but at the test point I get the unhelpful&lt;/p>
&lt;blockquote>
&lt;p>TF900546: An unexpected error occurred while running the RunTests activity: 'Unable to load one or more of the requested types. Retrieve the LoaderExceptions property for more information.'.&lt;/p></description></item><item><title>Follow the Yorkshire Global Windows Azure Event</title><link>https://blogs.blackmarble.co.uk/rfennell/follow-the-yorkshire-global-windows-azure-event/</link><pubDate>Sat, 27 Apr 2013 10:48:33 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/follow-the-yorkshire-global-windows-azure-event/</guid><description>
&lt;p>Today Black Marble is hosting the Yorkshire &lt;a href="http://bit.ly/BMGWAB">Global Windows Azure Bootcamp&lt;/a> event.&lt;/p>
&lt;p>To see what is happening check out the photos on our &lt;a href="http://bit.ly/BM_GWAB">Facebook gallery&lt;/a> and the #GlobalWindowsAzure Twitter hashtag&lt;/p>
&lt;p>
&lt;img
loading="lazy"
decoding="async"
alt="Global Azure Bootcamp Logo"
class="image_figure image_external image_unprocessed"
src="http://www.blackmarble.co.uk/images/events/AzBootcamp2013.png"
/>
&lt;a href="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_100.png">&lt;img
loading="lazy"
decoding="async"
alt="image"
class="image_figure image_internal image_unprocessed"
src="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_thumb_100.png"
title="image"
/>
&lt;/a>&lt;/p></description></item><item><title>Getting SQL 2012 SSIS packages built on TFS 2012.2</title><link>https://blogs.blackmarble.co.uk/rfennell/getting-sql-2012-ssis-packages-built-on-tfs-2012-2/</link><pubDate>Wed, 24 Apr 2013 16:36:50 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/getting-sql-2012-ssis-packages-built-on-tfs-2012-2/</guid><description>
&lt;p>I have been trying to get SQL 2012 SSIS packages built on a TFS2012.2 build system. As has been pointed out by many people the problem is you cannot build SQL SSIS packages with MSBuild. This means you have to resort to call Visual Studio DevEnv.exe from within your build.&lt;/p>
&lt;p>&lt;a href="http://geekswithblogs.net/jakob/archive/2010/05/14/building-visual-studio-setup-projects-with-tfs-2010-team-build.aspx">Jakob Ehn did a great post on this subject&lt;/a>, but it is a little dated now due the release of VS 2012 and SQL 2012&lt;/p></description></item><item><title>Upgraded to BlogEngine.NET 2.8</title><link>https://blogs.blackmarble.co.uk/rfennell/upgraded-to-blogengine-net-2-8/</link><pubDate>Wed, 24 Apr 2013 10:16:09 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/upgraded-to-blogengine-net-2-8/</guid><description>
&lt;p>I have just upgrade our Blog Server from &lt;a href="http://www.dotnetblogengine.net/post/BlogEngineNET-28-Released.aspx">BlogEngine.NET 2.7 to 2.8&lt;/a>, all seems to have gone well, basically it is just file copies as there is no DB schema change, so…&lt;/p>
&lt;ol>
&lt;li>backup your blogs folder&lt;/li>
&lt;li>delete it’s contents&lt;/li>
&lt;li>copy in the the &lt;a href="https://blogengine.codeplex.com/releases/view/105425">new release&lt;/a> from the zip&lt;/li>
&lt;li>fix the SQL connection string&lt;/li>
&lt;li>copy around a few files as detailed in the &lt;a href="http://blogengine.codeplex.com/wikipage?title=Upgrading%20to%20BlogEngine.NET%202.8&amp;amp;referringTitle=Installation">release notes&lt;/a>, basically any customisation you have done,&lt;/li>
&lt;/ol>
&lt;p>That that seems to be it, just a case now of swapping themes to get the new look, if you want it&lt;/p></description></item><item><title>Thanks for attending my webinar on lab management</title><link>https://blogs.blackmarble.co.uk/rfennell/thanks-for-attending-my-webinar-on-lab-management/</link><pubDate>Tue, 23 Apr 2013 11:58:24 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/thanks-for-attending-my-webinar-on-lab-management/</guid><description>
&lt;p>Thanks to everyone who attended my webinar session today in TFS Lab Management, I hope the audio issues were not too much of a problem and you found the session useful. We are looking into the causes of the audio problem so hopefully the &lt;a href="http://blackmarble.com/SectionDisplay.aspx?name=Events">next webinar&lt;/a> will not need people dialling in via the phone unless they want to.&lt;/p>
&lt;p>A number of people asked for the slides, &lt;a href="https://github.com/rfennell/Presentations/blob/main/Tips%20for%20Visual%20Studio%20Lab%20Management.pptx">you can find a copy of them here&lt;/a>.&lt;/p></description></item><item><title>Lab Management webinar next week</title><link>https://blogs.blackmarble.co.uk/rfennell/lab-management-webinar-next-week/</link><pubDate>Thu, 18 Apr 2013 16:53:30 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/lab-management-webinar-next-week/</guid><description>
&lt;p>If you are interested finding out more about TFS Lab Management why not come to the [Black Marble Bite size webinar](&lt;a href="http://blackmarble.com/events.aspx?event=Tips">http://blackmarble.com/events.aspx?event=Tips&lt;/a> for Visual Studio Lab Management (Black Marble Byte Size Webinar)) next Tuesday (23rd April). I will be giving a basic overview of the product and discussing some of our experiences implementing it.&lt;/p></description></item><item><title>Our upgrade to TFS 2012.2 has worked OK</title><link>https://blogs.blackmarble.co.uk/rfennell/our-upgrade-to-tfs-2012-2-has-worked-ok/</link><pubDate>Thu, 18 Apr 2013 14:57:47 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/our-upgrade-to-tfs-2012-2-has-worked-ok/</guid><description>
&lt;p>I have mentioned in &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/post/2013/02/07/More-in-rights-being-stripped-for-the-team-project-contributors-group-in-TFS-2012-when-QU1-applied-and-how-to-sort-it.aspx">past posts the issues we had doing our first quarterly update for TFS 2012&lt;/a>. Well today we had scheduled our upgrade to &lt;a href="http://blogs.msdn.com/b/bharry/archive/2013/04/04/vs-tfs-2012-2-update-2-released-today.aspx">2012.2&lt;/a> and I am please to say it all seems to have worked.&lt;/p>
&lt;p>Unlike the last upgrade, this time we were doing nothing complex such as moving DB tier SQL instances; so it was a straight upgrade of a dual tier TFS 2012.1 instance with the DB being stored on a SQL2012 Availability Group (in previous updates you had to remove the DBs from the availability group for the update, with update 2 this is no longer required).&lt;/p></description></item><item><title>Great event in Antwerp</title><link>https://blogs.blackmarble.co.uk/rfennell/great-event-in-antwerp/</link><pubDate>Thu, 18 Apr 2013 12:46:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/great-event-in-antwerp/</guid><description>
&lt;p>I had a great time yesterday at the &lt;a href="http://www.visugday.be/">VISUG Conference in Antwerp&lt;/a>, thanks to everyone involved in event.&lt;/p>
&lt;p>&lt;a href="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_97.png">&lt;img
loading="lazy"
decoding="async"
alt="image"
class="image_figure image_internal image_unprocessed"
src="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_thumb_97.png"
title="image"
/>
&lt;/a>&lt;/p>
&lt;p>The ALM track organiser &lt;a href="http://intovsts.net/">Pieter&lt;/a> and all the speakers, myself, &lt;a href="http://woodwardweb.com">Martin&lt;/a> and &lt;a href="http://www.teamsystempro.com">Neno&lt;/a>, were really pleased to see how full our room was all day. There certainly seems to be more interest in ALM than ever before.&lt;/p>
&lt;p>If you want to find out more on areas of TFS I was talking on i.e connecting from environments other than Visual Studio, why not look at a very similar session I recorded last year, &lt;a href="http://channel9.msdn.com/Events/TechDays/UK-Tech-Days/Visual-Studio-Team-Foundation-for-Everyone">it can be found on Channel9&lt;/a>.&lt;/p></description></item><item><title>Error TF400129: Verifying that the team project collection has space for new system fields when upgrading TFS to 2012.2</title><link>https://blogs.blackmarble.co.uk/rfennell/error-tf400129-verifying-that-the-team-project-collection-has-space-for-new-system-fields-when-upgrading-tfs-to-2012-2/</link><pubDate>Thu, 11 Apr 2013 15:02:30 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/error-tf400129-verifying-that-the-team-project-collection-has-space-for-new-system-fields-when-upgrading-tfs-to-2012-2/</guid><description>
&lt;p>Whist testing an upgrade of TFS 2010 to TFS 2012.2 I was getting a number of verification errors in the TFS configuration upgrade wizard. They were all TF400129 based such as&lt;/p>
&lt;blockquote>
&lt;p>&lt;em>TF400129: Verifying that the team project collection has space for new system fields&lt;/em>&lt;/p>&lt;/blockquote>
&lt;p>but also mention models and schema.&lt;/p>
&lt;p>A quick search threw up &lt;a href="http://social.msdn.microsoft.com/Forums/en-US/tfsgeneral/thread/12f56b27-eb6f-4c7f-8b96-22112cec89ce">this thread on the subject&lt;/a>, but on checking the DB tables I could see my problem was all together more basic. The thread talked of TPCs in incorrect states. In my case I had been provided with an empty DB, so TFS could find not tables at all. So I suppose the error message was a bit too specific, should have been ‘DB is empty!!!!’ error. Once I got a valid file backup restored for the TPC in question all was ok.&lt;/p></description></item><item><title>Can TFS work within your company’s processes?</title><link>https://blogs.blackmarble.co.uk/rfennell/can-tfs-work-within-your-companys-processes/</link><pubDate>Tue, 02 Apr 2013 20:07:05 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/can-tfs-work-within-your-companys-processes/</guid><description>
&lt;p>I am often asked how well TFS it can be integrated within a company’s larger management processes. This is an especially common question in companies where developing software is not their primary business, it is just a means to enable the business’s core business.&lt;/p>
&lt;p>A really nice discussion on this question can be found on a recent &lt;a href="http://www.dotnetrocks.com/default.aspx?showNum=856">.Net Rocks about Columbia Sportswear&lt;/a>, well worth a listen.&lt;/p></description></item><item><title>What machine name is being used when you compose an environment from running VMs in Lab Management?</title><link>https://blogs.blackmarble.co.uk/rfennell/what-machine-name-is-being-used-when-you-compose-an-environment-from-running-vms-in-lab-management/</link><pubDate>Thu, 28 Mar 2013 13:00:27 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/what-machine-name-is-being-used-when-you-compose-an-environment-from-running-vms-in-lab-management/</guid><description>
&lt;p>&lt;em>This is a follow up to my&lt;/em> &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/post/2012/10/05/More-fun-with-creating-TFS-2012-SC-VMM-environments.aspx">&lt;em>older post&lt;/em>&lt;/a> &lt;em>on a similar subject&lt;/em> &lt;/p>
&lt;p>When composing a new Lab Environment from running VMs the PC you are running MTM on needs to be able to connect to the running VMs. It does this using IP so at the most basic level you need to be able to resolve the name of the VM to an IP address.&lt;/p>
&lt;p>If your VM is connected to the same LAN as your PC, but not in the same domain the chances are that DNS name resolution will not work. I find the best option is to put a temporary entry in your local hosts file, keeping it for just as long as the creation process takes.&lt;/p></description></item><item><title>Lab Management with SCVMM 2012 and /labenvironmentplacementpolicy:aggressive</title><link>https://blogs.blackmarble.co.uk/rfennell/lab-management-with-scvmm-2012-and-labenvironmentplacementpolicyaggressive/</link><pubDate>Tue, 26 Mar 2013 11:05:52 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/lab-management-with-scvmm-2012-and-labenvironmentplacementpolicyaggressive/</guid><description>
&lt;p>I did a &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/post/2012/01/31/Have-you-tried-switching-it-on-and-off-again-Go-on-be-aggressive!.aspx">post a year or so ago&lt;/a> about setting up TFS Labs and mentioned command&lt;/p>
&lt;blockquote>
&lt;p>&lt;em>C:Program FilesMicrosoft Team Foundation Server 2010Tools&amp;gt;tfsconfig lab /hostgroup /collectionName:myTpc  ?/labenvironmentplacementpolicy:aggressive /edit /Name:&amp;quot;My hosts group&amp;quot;&lt;/em>&lt;/p>&lt;/blockquote>
&lt;p>This can be used tell TFS Lab Management to place VMs using any memory that is assigned stopped environments. This allowed a degree of over commitment of resources.&lt;/p>
&lt;p>As I discovered today this command only works for SCVMM 2010 based system. if you try it you just get a message saying not support on SCVMM 2012. There appears to be no equivalent for 2012.&lt;/p></description></item><item><title>Kerbal Space Program - Its educational and written in Mono too!</title><link>https://blogs.blackmarble.co.uk/rfennell/kerbal-space-program-its-educational-and-written-in-mono-too/</link><pubDate>Sun, 24 Mar 2013 11:35:26 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/kerbal-space-program-its-educational-and-written-in-mono-too/</guid><description>
&lt;p>&lt;a href="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_95.png">&lt;img
loading="lazy"
decoding="async"
alt="image"
class="image_figure image_internal image_unprocessed"
src="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_thumb_95.png"
title="image"
/>
&lt;/a>&lt;/p>
&lt;p>My son is really taken with &lt;a href="https://www.kerbalspaceprogram.com/">Kerbal Space Program&lt;/a>. This great games allows you to design your own  space craft and so run your own on-going space program, all with a realistic physics engine.&lt;/p>
&lt;p>What is particularly nice is that this &lt;a href="http://www.mono-project.com/Main_Page">cross platform Mono based application&lt;/a> is being built in a very agile manner with a new release most weeks, each adding features as well as bug fixes. There also seems to be an active community of people building plug-ins for extra space craft components and rovers.&lt;/p></description></item><item><title>TF900548 when using my Typemock 2012 TFS custom build activity</title><link>https://blogs.blackmarble.co.uk/rfennell/tf900548-when-using-my-typemock-2012-tfs-custom-build-activity/</link><pubDate>Sat, 23 Mar 2013 21:52:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/tf900548-when-using-my-typemock-2012-tfs-custom-build-activity/</guid><description>
&lt;p>Using the &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/post/2012/08/24/Getting-Typemock-Isolator-running-within-a-TFS-2012-build-part-2.aspx">Typemock TFS 2012 Build activity I created&lt;/a> I had started seen the error&lt;/p>
&lt;blockquote>
&lt;p>&lt;em>TF900548: An error occurred publishing the Visual Studio test results. Details: 'The following id must have a positive value: testRunId.'&lt;/em>&lt;/p>&lt;/blockquote>
&lt;p>I thought it might be down to having patched our build boxes to TFS 2012 Update 1, maybe it needed to be rebuild due to some dependency? However, on trying the build activity on my development TFS server I found it ran fine.&lt;/p></description></item><item><title>Black Marble is hosting the Yorkshire Chapter of the Global Windows Azure Bootcamp on the 27th of April</title><link>https://blogs.blackmarble.co.uk/rfennell/black-marble-is-hosting-the-yorkshire-chapter-of-the-global-windows-azure-bootcamp-on-the-27th-of-april/</link><pubDate>Thu, 21 Mar 2013 12:45:51 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/black-marble-is-hosting-the-yorkshire-chapter-of-the-global-windows-azure-bootcamp-on-the-27th-of-april/</guid><description>
&lt;p>Black Marble is hosting the Yorkshire Chapter of the &lt;a href="http://bit.ly/BMGWAB">Global Windows Azure Bootcamp&lt;/a> taking place in several locations globally on the April 27th, 2013. This free community organised event is one day deep dive class where you will get you up to speed on developing for Windows Azure. The class includes a trainer with deep real world experience with Windows Azure, as well as a series of labs so you can practice what you just learned.&lt;/p></description></item><item><title>Installing a DB from a DACPAC using Powershell as part of TFS Lab Management deployment</title><link>https://blogs.blackmarble.co.uk/rfennell/installing-a-db-from-a-dacpac-using-powershell-as-part-of-tfs-lab-management-deployment/</link><pubDate>Thu, 14 Mar 2013 16:45:53 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/installing-a-db-from-a-dacpac-using-powershell-as-part-of-tfs-lab-management-deployment/</guid><description>
&lt;p>I have been battling setting up a DB deployed via the SQL 2012 DAC tools and Powershell.  My environment was a network isolated pair of machines&lt;/p>
&lt;ul>
&lt;li>DC – the domain controller and SQL 2012 server&lt;/li>
&lt;li>IIS – A web front end&lt;/li>
&lt;/ul>
&lt;p>As this is network isolated I could only run scripts on the IIS server, so my DB deploy needed to be remote. So the script I ended up with was&lt;/p></description></item><item><title>You don’t half get strange errors when two servers have the same SID</title><link>https://blogs.blackmarble.co.uk/rfennell/you-dont-half-get-strange-errors-when-two-servers-have-the-same-sid/</link><pubDate>Tue, 12 Mar 2013 17:30:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/you-dont-half-get-strange-errors-when-two-servers-have-the-same-sid/</guid><description>
&lt;p>You don’t half get strange errors when building a test environment if when you run SYSPREP’d each copy of your VM base image you forget to check the ‘generalize’ box&lt;/p>
&lt;p>&lt;a href="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_93.png">&lt;img
loading="lazy"
decoding="async"
alt="image"
class="image_figure image_internal image_unprocessed"
src="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_thumb_93.png"
title="image"
/>
&lt;/a>&lt;/p>
&lt;p>If you forget this, as I did, each VM has a different name but the same SID. Basically the domain/AD is completely confused as who is what. The commonest error I saw was that I could not setup application (Report Services, SP 2010 and TFS 2012) with domain service accounts. In all cases I got messages about missing rights or cannot communicate with domain controller.&lt;/p></description></item><item><title>Cannot run Microsoft Fakes based test if Typemock Isolator enabled</title><link>https://blogs.blackmarble.co.uk/rfennell/cannot-run-microsoft-fakes-based-test-if-typemock-isolator-enabled/</link><pubDate>Sat, 09 Mar 2013 15:07:22 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/cannot-run-microsoft-fakes-based-test-if-typemock-isolator-enabled/</guid><description>
&lt;p>With Microsoft Fakes moving to the Premium SKU of Visual Studio in 2012.2 (&lt;a href="http://www.microsoft.com/en-us/download/details.aspx?id=36833">CTP4 is now available&lt;/a>) more people will be looking at using them.&lt;/p>
&lt;p>I have just installed CTP4 and have seen a behaviour I don’t think I have not seen in the previous version of Visual Studio (I need to check because as well as CTP4  I have recently installed the new version of Typemock Isolator 7.3.0 that addresses issues with Windows 8 and Visual  Studio 2012).&lt;/p></description></item><item><title>TFS TPC Databases and SQL 2012 availability groups</title><link>https://blogs.blackmarble.co.uk/rfennell/tfs-tpc-databases-and-sql-2012-availability-groups/</link><pubDate>Sat, 09 Mar 2013 13:46:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/tfs-tpc-databases-and-sql-2012-availability-groups/</guid><description>
&lt;p>Worth noting that when you create a new TPC in TFS 2012, when the TFS configuration DB and other TPC DBs are in SQL 2012 availability groups, the new TPC DB is not placed in this or any other availability group. You have to add it manually, and historically remove it when servicing TFS. Though the need to remove it for servicing changes with TFS 2012.2 which &lt;a href="http://blogs.msdn.com/b/bharry/archive/2013/03/04/ctp4-march-of-vs-tfs-2012-update-2-is-available.aspx">allows servicing of high availability DBs&lt;/a>&lt;/p></description></item><item><title>Recovering network isolated lab management environments if you have to recreate your SC-VMM server’s DB</title><link>https://blogs.blackmarble.co.uk/rfennell/recovering-network-isolated-lab-management-environments-if-you-have-to-recreate-your-sc-vmm-servers-db/</link><pubDate>Fri, 08 Mar 2013 17:12:43 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/recovering-network-isolated-lab-management-environments-if-you-have-to-recreate-your-sc-vmm-servers-db/</guid><description>
&lt;p>Whilst &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/post/2013/03/04/Upgrading-our-TFS-2012-Lab-Management-to-use-SC-VMM-2012-SP1.aspx">upgrading our Lab Management system&lt;/a> we lost the SC-VMM DB. This has meant we needed to recreate environments we already have running on Hyper_V hosts but were unknown to TFS. If they were not network isolated this is straight forward, just recompose the environment (after clear out the XML in the VM descriptions fields). However if they are network isolated and running, then you have do play around a bit.&lt;/p></description></item><item><title>Fixing Lab Manager environments with brute force</title><link>https://blogs.blackmarble.co.uk/rfennell/fixing-lab-manager-environments-with-brute-force/</link><pubDate>Tue, 05 Mar 2013 17:22:34 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/fixing-lab-manager-environments-with-brute-force/</guid><description>
&lt;p>Another post from Rik &lt;a href="http://blogs.blackmarble.co.uk/blogs/rhepworth/post/2013/03/05/Fixing-Lab-Manager-environments-with-brute-force.aspx">Fixing Lab Manager environments with brute force&lt;/a> following our Lab Management upgrade&lt;/p></description></item><item><title>Creating VMs for lab management</title><link>https://blogs.blackmarble.co.uk/rfennell/creating-vms-for-lab-management/</link><pubDate>Tue, 05 Mar 2013 12:46:15 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/creating-vms-for-lab-management/</guid><description>
&lt;p>Rik has done a &lt;a href="http://blogs.blackmarble.co.uk/blogs/rhepworth/post/2013/03/05/Things-to-remember-when-building-virtual-machines-for-a-lab-manager-environment.aspx">post on creating VMs for Lab management&lt;/a> to follow up on the one I did yesterday &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/default.aspx">on our Lab upgrade&lt;/a>.&lt;/p></description></item><item><title>Upgrading our TFS 2012 Lab Management to use SC-VMM 2012 SP1</title><link>https://blogs.blackmarble.co.uk/rfennell/upgrading-our-tfs-2012-lab-management-to-use-sc-vmm-2012-sp1/</link><pubDate>Mon, 04 Mar 2013 17:45:50 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/upgrading-our-tfs-2012-lab-management-to-use-sc-vmm-2012-sp1/</guid><description>
&lt;h2 id="background">Background&lt;/h2>
&lt;p>We have been successfully using our TFS Lab Management system for a while. However, we have noticed an issue that when deploying environments the performance of the system slowed. This was down to I/O congestion between our servers and the SAN that provided their main VM storage because the library store and the hyper-v host servers all shared the same SAN.&lt;/p>
&lt;p>&lt;a href="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/clip_image002.png">&lt;img
loading="lazy"
decoding="async"
alt="clip_image002"
class="image_figure image_internal image_unprocessed"
src="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/clip_image002_thumb.png"
title="clip_image002"
/>
&lt;/a>&lt;/p>
&lt;p>Also we had the need to start to create environments using Windows 8 and Server 2012. This is not possible using System Center Virtual Machine Manager (SCVMM) 2008 or Hyper-V hosted on earlier than Windows 2012.&lt;/p></description></item><item><title>ALM Rangers ship more guidance</title><link>https://blogs.blackmarble.co.uk/rfennell/alm-rangers-ship-more-guidance/</link><pubDate>Sat, 02 Mar 2013 15:24:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/alm-rangers-ship-more-guidance/</guid><description>
&lt;p>Yesterday two new ALM Ranger projects shipped, practical guidance on the use of &lt;strong>Microsoft Fakes&lt;/strong> (which I worked on) and for Team Foundation Server (TFS) &lt;strong>D&lt;/strong>isaster &lt;strong>R&lt;/strong>ecovery &lt;strong>avoidance&lt;/strong>, planning and step-step recovery walkthroughs for the worst case scenarios.&lt;/p>
&lt;p>Also updates for the &lt;strong>Coded UI test tooling guide&lt;/strong> and the &lt;strong>TFS Upgrade guide&lt;/strong> were released..&lt;/p>
&lt;p>For more details see below to follow the links to the Ranger blogs and CodePlex to download the materials.&lt;/p></description></item><item><title>For those hard to mock moments - Microsoft Fakes or Typemock Isolator?</title><link>https://blogs.blackmarble.co.uk/rfennell/for-those-hard-to-mock-moments-microsoft-fakes-or-typemock-isolator/</link><pubDate>Tue, 26 Feb 2013 19:29:32 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/for-those-hard-to-mock-moments-microsoft-fakes-or-typemock-isolator/</guid><description>
&lt;p>About a year ago I wrote a post ‘&lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/post/2012/03/23/Now-that-VS11-has-a-fake-library-do-I-still-need-Typemock-Isolator-to-fake-out-SharePoint.aspx">Now that VS11 has a fake library do I still need Typemock Isolator to fake out SharePoint?&lt;/a>’. Well this discussion becomes relevant for more people as with Visual Studio 2012.2 (&lt;a href="http://blogs.msdn.com/b/bharry/archive/2013/02/11/ctp-for-visual-studio-2012-update-2-vs-2012-2-is-available.aspx">currently available as a CTP&lt;/a>) the &lt;a href="http://blogs.msdn.com/b/visualstudioalm/archive/2013/02/08/february-ctp-for-visual-studio-update-2.aspx#fakes">Microsoft Fakes move from the Ultimate SKU to the Premium SKU&lt;/a>.&lt;/p>
&lt;p>From my experience the Ultimate SKU is not present on too many developer’s PCs. It is most commonly found on the PCs of the team leads, software architects or test developers (managing coded UI/load testing etc. efforts). If a team was historically going to use Microsoft Fakes then they had to buy more Ultimate SKUs; as what is the point of a unit test using a mocking framework that only part of the team can run?&lt;/p></description></item><item><title>VS Anywhere–Have a look at distributed pair programming</title><link>https://blogs.blackmarble.co.uk/rfennell/vs-anywhere-have-a-look-at-distributed-pair-programming/</link><pubDate>Mon, 25 Feb 2013 19:46:28 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/vs-anywhere-have-a-look-at-distributed-pair-programming/</guid><description>
&lt;p>Whilst at the MVP Summit in Redmond last week there were MVP2MVP sessions, these are much like &lt;a href="http://developerdeveloperdeveloper.com/home/">DDD conferences we have&lt;/a> in the UK, sessions delivered by MVPs on their experiences and products they offer.&lt;/p>
&lt;p>One of the most interesting I saw last week was &lt;a href="https://vsanywhere.com/default.aspx">VS Anywhere&lt;/a>. This is an extension to Visual Studio that allows distributed pair programming. This far more than desktop sharing in Skype or Lync, think more like the concurrent document editing in Office 365.&lt;/p></description></item><item><title>TFS Lab Management and Windows 8 and Server 2012</title><link>https://blogs.blackmarble.co.uk/rfennell/tfs-lab-management-and-windows-8-and-server-2012/</link><pubDate>Mon, 25 Feb 2013 19:22:14 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/tfs-lab-management-and-windows-8-and-server-2012/</guid><description>
&lt;p>&lt;a href="http://blogs.msdn.com/b/lab_management/archive/2009/05/18/vsts-2010-lab-management-basic-concepts.aspx">TFS Lab Management&lt;/a> can be a good way to manage your development and test environments, providing a means to more easily store, deploy and snapshot environments. Problem is they are not magic, you need to create the virtual machines you will use. You can use tools such the &lt;a href="http://msdn.microsoft.com/en-us/magazine/hh580740.aspx">ALM Rangers VM Factory&lt;/a> to speed this process, but you still need the source ISOs to create the VMs.&lt;/p>
&lt;p>Until the release of System Center 2012 SP1 (and TFS 2012 QU1) Lab Management did not support Windows 8 or Server 2012. This was a limitation with the System  Center 2008 Virtual Machine Manager. But with the release of these new versions you now have no excuse not to have a look at TFS Lab Management for even your most cutting edge projects. And remember you are licensed Lab Management (including SC-VMM for the sole use of TFS Lab Management) as part of your TFS 2012 MSDN license.&lt;/p></description></item><item><title>Running an external command line tool as part of a Wix install</title><link>https://blogs.blackmarble.co.uk/rfennell/running-an-external-command-line-tool-as-part-of-a-wix-install/</link><pubDate>Mon, 25 Feb 2013 15:21:01 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/running-an-external-command-line-tool-as-part-of-a-wix-install/</guid><description>
&lt;p>I have recently been battling running a command line tool within a Wix 3.6 installer. I eventually got it going but learnt a few things. Here is a code fragment that outlines the solution.&lt;/p>
&lt;p>&amp;lt;Product ………&amp;gt;&lt;br>
……… loads of other Wix bits&lt;/p>
&lt;!-- The command line we wish to run is set via a property. Usually you would set this with &lt;Property /> block, but in this case it has to be done via a CustomAction as we want to build the command from other Wix properties that can only be evaluated at runtime. So we set the
       whole command line  including command line arguments as a CustomAction that will be run immediately i.e. in the first phase of the MSIExec process  
       while the command set is being built.
     Note that the documentation say the command line should go in a property called QtExecCmdLine, but this is only true if the CustomAction
    is to be run immediately. The CustomAction to set the property is immediate but the command line’s execution CustomAction is deferred, so we
    have to set the property to the name of the CustomAction and not QtExecCmdLine  -->
&lt;CustomAction Id='PropertyAssign' Property='SilentLaunch' Value='&amp;quot;\[INSTALLDIR\]mycopier.exe&amp;quot; &amp;quot;\[ProgramFilesFolder\]Java&amp;quot; &amp;quot;\[INSTALLDIR\]my.jar&amp;quot;' Execute='immediate' />
&lt;p>  &amp;lt;!—Next we define the actual CustomAction that does the work. This needs to be deferred (until after the files are installed) and set to not be impersonated&lt;br>
          so runs as the same elevated account as the rest of the MSIExec actions. (assuming your command line tool needs admin rights --&amp;gt;&lt;br>
  &amp;lt;CustomAction Id=&amp;quot;SilentLaunch&amp;quot; BinaryKey=&amp;quot;WixCA&amp;quot;  DllEntry=&amp;quot;CAQuietExec&amp;quot; Execute=&amp;quot;deferred&amp;quot; Return=&amp;quot;check&amp;quot; Impersonate=&amp;quot;no&amp;quot; /&amp;gt;&lt;br>
 &lt;br>
  &amp;lt;!—Finally we set where in the install sequence the CustomActions and that they are only called on a new install&lt;br>
          Note that we don't tidy up the actions of this command line tool on a de-install --&amp;gt;&lt;br>
  &lt;InstallExecuteSequence>&lt;br>
   &lt;Custom Action="PropertyAssign" Before="SilentLaunch">NOT Installed &lt;/Custom>&lt;br>
   &lt;Custom Action="SilentLaunch" After="InstallFiles">NOT Installed &lt;/Custom>&lt;br>
  &lt;/InstallExecuteSequence>&lt;/p></description></item><item><title>New release of Typemock Isolator</title><link>https://blogs.blackmarble.co.uk/rfennell/new-release-of-typemock-isolator/</link><pubDate>Mon, 25 Feb 2013 11:49:57 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/new-release-of-typemock-isolator/</guid><description>
&lt;p>Typemock have released a &lt;a href="http://www.typemock.com/blog/2013/02/24/isolator-7-3-released/">new version of Isolator (7.3&lt;/a>) that addresses some problems they have been having with Visual Studio 2012 and Windows 8&lt;/p>
&lt;ul>
&lt;li>Resolved all issues concerning the breaking MS update&lt;/li>
&lt;li>Boosted performance across the board (&lt;em>up to 44% faster&lt;/em>)&lt;/li>
&lt;li>Enhanced SmartRunner UI&lt;/li>
&lt;li>Improved mocking capabilities&lt;/li>
&lt;li>Better integration with .NET development ecosystem&lt;/li>
&lt;/ul>
&lt;p>You can &lt;a href="http://www.typemock.com/download/">download&lt;/a> this release, or a free trial if you don’t have an Isolator license, from the Typemock site&lt;/p></description></item><item><title>Speaking on TEE at VISUG Conference in April</title><link>https://blogs.blackmarble.co.uk/rfennell/speaking-on-tee-at-visug-conference-in-april/</link><pubDate>Mon, 18 Feb 2013 21:14:30 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/speaking-on-tee-at-visug-conference-in-april/</guid><description>
&lt;p>On the 17th of April I will be speaking at &lt;a href="http://www.visugday.be/">VISUG Conference&lt;/a> in Antwerp.&lt;/p>
&lt;p>Looks to be an interesting day with 3 tracks, Win8, Web and ALM. I am on the ALM track with &lt;a href="http://woodwardweb.com/">Martin Woodward&lt;/a> and &lt;a href="http://blog.nenoloje.com/">Neno Loje&lt;/a>.&lt;/p></description></item><item><title>Lost with all the ALM ranger projects? A Windows 8 App to here to help</title><link>https://blogs.blackmarble.co.uk/rfennell/lost-with-all-the-alm-ranger-projects-a-windows-8-app-to-here-to-help/</link><pubDate>Wed, 13 Feb 2013 22:09:03 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/lost-with-all-the-alm-ranger-projects-a-windows-8-app-to-here-to-help/</guid><description>
&lt;p>The new &lt;a href="http://apps.microsoft.com/windows/en-GB/app/alm-readiness-treasure-map/98782e69-ba79-4ab9-890a-44139fa8cd7f">Windows 8 ALM Readiness Treasure Map application&lt;/a> is available on the store. This is a great way to navigate a whole range of resources available for anyone involved in ALM work.&lt;/p></description></item><item><title>More in rights being stripped for the [team project]contributors group in TFS 2012 when QU1 applied and how to sort it.</title><link>https://blogs.blackmarble.co.uk/rfennell/more-in-rights-being-stripped-for-the-team-projectcontributors-group-in-tfs-2012-when-qu1-applied-and-how-to-sort-it/</link><pubDate>Thu, 07 Feb 2013 10:23:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/more-in-rights-being-stripped-for-the-team-projectcontributors-group-in-tfs-2012-when-qu1-applied-and-how-to-sort-it/</guid><description>
&lt;p>I recently wrote &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/post/2013/01/28/Fixing-area-permission-issues-when-creating-new-teams-in-TFS-2012-after-QU1-has-been-installed.aspx">a post&lt;/a> that discussed how the contributor rights had been stripped off areas in TFS 2012 server when QU1 was applied, this included details on the patches to apply the manual steps to resolve the problem.&lt;/p>
&lt;p>Well today I found that it is not just in the area security you can see this problem. We found it too in the main source code repository. Again the [Team project]contributors group was completely missing. I had to re-add it manually. Once this was done all was OK for the users&lt;/p></description></item><item><title>Getting Windows Phone 7.8 on my Lumia 800</title><link>https://blogs.blackmarble.co.uk/rfennell/getting-windows-phone-7-8-on-my-lumia-800/</link><pubDate>Mon, 04 Feb 2013 18:08:24 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/getting-windows-phone-7-8-on-my-lumia-800/</guid><description>
&lt;p>Microsoft have release Windows Phone 7.8 in the last few days. As usual the rollout appears to be phased, I think based on serial number of your phone. As with previous versions you can force the update, so jumping the phased rollout queue. The process is&lt;/p>
&lt;ol>
&lt;li>Put the phone in flight mode (so no data connection)&lt;/li>
&lt;li>Connect it to your PC running Zune, it will look to see if there is an OS update. If it finds it great, let it do the upgrade&lt;/li>
&lt;li>If it does not find it, select the settings menu (top right in Zune)&lt;/li>
&lt;li>You need to select the update menu option on the left menu&lt;/li>
&lt;li>Zune will check for an update, about a second or two after it starts this process disconnect the PC from the Internet. This should allow Zune to get a list of updates, but not the filter list of serial numbers. So it assume the update is for you.&lt;/li>
&lt;li>You should get the update available message, reconnect the internet (it needs to download the file) and continue to do the upgrade&lt;/li>
&lt;/ol>
&lt;p>You will probably have to repeat step 5 a few times to get the timing correct&lt;/p></description></item><item><title>Visual Studio 2012.2 changes</title><link>https://blogs.blackmarble.co.uk/rfennell/visual-studio-2012-2-changes/</link><pubDate>Mon, 04 Feb 2013 13:40:34 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/visual-studio-2012-2-changes/</guid><description>
&lt;p>The &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/post/2013/01/31/My-TFS-session-at-Black-Marbles-Tech-Update-is-already-out-of-date-there-were-announcements-last-night.aspx">Git support&lt;/a> was not the only announcement for TFS at the ALM Summit last week. On &lt;a href="http://blogs.msdn.com/b/bharry/">Brian Harry’s blog&lt;/a> you can see more on the new features either in the TFS/VS 2012.2 (Update 2) CTP or planned to appear in later CTPs. The list is long, but the ones that caught my eye beyond that of Git support are&lt;/p>
&lt;ul>
&lt;li>Microsoft Fakes moves from the Ultimate SKU to Premium, thus making it a ‘free’ option for many corporate developers as they already have that SKU&lt;/li>
&lt;li>Easier customisation of the Kanban board&lt;/li>
&lt;li>Tagging of workitems to allow flexible filtering&lt;/li>
&lt;li>Testing visibility in the web admin pages&lt;/li>
&lt;/ul>
&lt;p>… and many other improvements. Have a look at the blog posts, or even better pull down the CTP for a look. Also remember if you want to see new TFS features why not try them via a &lt;a href="http://tfs.visualstudio.com/">Team Foundation Server&lt;/a> account?&lt;/p></description></item><item><title>Tales from last weekend’s Imagine Cup North East Hackathon</title><link>https://blogs.blackmarble.co.uk/rfennell/tales-from-last-weekends-imagine-cup-north-east-hackathon/</link><pubDate>Mon, 04 Feb 2013 13:32:54 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/tales-from-last-weekends-imagine-cup-north-east-hackathon/</guid><description>
&lt;p>I spent much of the weekend at the &lt;a href="http://www.imaginecupnortheast.co.uk/">Imagine Cup North East Hackathon&lt;/a>; for those of you who don’t know the &lt;a href="http://www.imaginecup.com/#?fbid=-GU3RmJspRO">Imagine Cup is Microsoft’s world wide student competition&lt;/a>. This event was to help students in the North East of England to get there entries kick started before their regional final in a few weeks, which lead to the UK finals and for one team the worlds in Russia in July.&lt;/p>
&lt;p>The event seemed a great success, everyone seemed to enjoy it and we mentors saw huge progress in the entries of all the teams. Not just in new code written, but arguably the more important areas of better team working and presentation skill.&lt;/p></description></item><item><title>My TFS session at Black Marble’s Tech Update is already out of date, there were announcements last night</title><link>https://blogs.blackmarble.co.uk/rfennell/my-tfs-session-at-black-marbles-tech-update-is-already-out-of-date-there-were-announcements-last-night/</link><pubDate>Thu, 31 Jan 2013 13:53:41 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/my-tfs-session-at-black-marbles-tech-update-is-already-out-of-date-there-were-announcements-last-night/</guid><description>
&lt;p>At the &lt;a href="http://www.alm-summit.com/">ALM Summit&lt;/a> yesterday Brian Harry made some major TFS and Visual Studio announcements&lt;/p>
&lt;ul>
&lt;li>&lt;a href="http://blogs.msdn.com/b/bharry/archive/2013/01/30/git-init-vs.aspx">Git support for the hosted visualstudio.com&lt;/a>, this allows you to choose if you want a centralised (existing TFS) source control repository or DVSC (using Git). There is also new tools with VS2012 to make using Git easier. &lt;a href="http://blogs.msdn.com/b/bharry/archive/2013/01/30/git-init-vs.aspx">Read more&lt;/a> as to why Microsoft have made this addition to their offering in his blog. For those of you using on premises TFS you will have have to wait for the next major release of TFS, don’t expect to see this in a quarterly update.&lt;/li>
&lt;li>Also he outline  &lt;a href="http://blogs.msdn.com/b/bharry/archive/2013/01/30/announcing-visual-studio-2012-update-2-vs2012-2.aspx">what is to be in Visual Studio 2012 Update 2&lt;/a>, loads of tool enhancements.&lt;/li>
&lt;/ul>
&lt;p>Have a look the posts to find out more&lt;/p></description></item><item><title>Fixing area permission issues when creating new teams in TFS 2012 after QU1 has been installed</title><link>https://blogs.blackmarble.co.uk/rfennell/fixing-area-permission-issues-when-creating-new-teams-in-tfs-2012-after-qu1-has-been-installed/</link><pubDate>Mon, 28 Jan 2013 16:30:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/fixing-area-permission-issues-when-creating-new-teams-in-tfs-2012-after-qu1-has-been-installed/</guid><description>
&lt;p>&lt;em>[Updated 4 Fe 2013 See &lt;a href="http://blogs.msdn.com/b/bharry/archive/2013/02/01/hotfixes-for-tfs-2012-update-1-tfs-2012-1.aspx">http://blogs.msdn.com/b/bharry/archive/2013/02/01/hotfixes-for-tfs-2012-update-1-tfs-2012-1.aspx&lt;/a> for the latest on this ]&lt;/em>&lt;/p>
&lt;p>One of the side effects of the &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/post/2013/01/18/TF237111-errors-when-trying-to-add-work-items-to-the-backlog-after-TFS-2012-QU1-is-applied.aspx">problems we had with TFS 2012 QU1&lt;/a> was that when we created a new team within a team project contributors had no rights to the teams default Area. The workaround was that we had to add these rights manually, remembering to add these as you would expect is something you forget all the time, so it would be nice to fix the default.&lt;/p></description></item><item><title>Leeds# Meetup 8 - Coding Dojo - Thursday 31 January</title><link>https://blogs.blackmarble.co.uk/rfennell/leeds-meetup-8-coding-dojo-thursday-31-january/</link><pubDate>Thu, 24 Jan 2013 12:26:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/leeds-meetup-8-coding-dojo-thursday-31-january/</guid><description>
&lt;p>If you are at a loose end next Thursday and in Leeds, why not check out the &lt;a href="http://www.leeds-sharp.org/events/2013/1">Coding Dojo at the Leeds Sharp user group.&lt;/a>&lt;/p>
&lt;p>Unfortunately looks like I am on a client visit, but it does sound interesting&lt;/p></description></item><item><title>My session today at Modern Jago</title><link>https://blogs.blackmarble.co.uk/rfennell/my-session-today-at-modern-jago/</link><pubDate>Wed, 23 Jan 2013 20:06:13 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/my-session-today-at-modern-jago/</guid><description>
&lt;p>Thanks  to everyone who came along to the Microsoft event today at Modern Jago. I hope you all found it useful. I got feedback from a few people that my tip on not trusting company WIFI when trying to do remote debugging of Windows RT devices was useful (or any other type of device for that matter).&lt;/p>
&lt;p>I have seen too many corporate level Wifi implementation, and a surprising number of home ASDL/Wifi routers, doing isolation between WiFi clients. So each client can see the internet fine, but not any another Wifi devices. My usual solution is as I did today, use a MiFi or phone as a basic Wifi hub, they are both too dumb to try anything as complex as client isolation. Or look on your Wifi hub to check if you can disable client isolation.&lt;/p></description></item><item><title>More on HDD2 boot problems with my Crucial M4-mSATA</title><link>https://blogs.blackmarble.co.uk/rfennell/more-on-hdd2-boot-problems-with-my-crucial-m4-msata/</link><pubDate>Tue, 22 Jan 2013 11:37:01 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/more-on-hdd2-boot-problems-with-my-crucial-m4-msata/</guid><description>
&lt;p>&lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/post/2012/10/23/Moving-to-an-SSD-on-Lenovo-W520.aspx">I have been battling my Crucial M4-mSATA 256Gb SDD for a while now&lt;/a>. The drive seems OK most of the time, but if for any reason my PC crashes (i.e. a blue screen, which I have found is luckily rare on Windows8) the PC will not start-up giving a ‘HDD2 cannot be found’ error during POST.&lt;/p>
&lt;p>I had not had this problem for a few months, so though it was fixed, then BANG yesterday Windows crashed out the blue (I was writing a document in Word whilst listening to music, not exactly a huge load for Core i7) and I hit the start-up problem. Of course I had been working on the document all afternoon and was relying on auto-save, not doing a real Ctrl S save to a remote network drive, so I expected to have lost everything.&lt;/p></description></item><item><title>TF237111 errors when trying to add work items to the backlog after TFS 2012 QU1 is applied</title><link>https://blogs.blackmarble.co.uk/rfennell/tf237111-errors-when-trying-to-add-work-items-to-the-backlog-after-tfs-2012-qu1-is-applied/</link><pubDate>Fri, 18 Jan 2013 12:58:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/tf237111-errors-when-trying-to-add-work-items-to-the-backlog-after-tfs-2012-qu1-is-applied/</guid><description>
&lt;p>&lt;em>[Updated 4 Feb 2013 See&lt;/em> &lt;a href="http://blogs.msdn.com/b/bharry/archive/2013/02/01/hotfixes-for-tfs-2012-update-1-tfs-2012-1.aspx">&lt;em>http://blogs.msdn.com/b/bharry/archive/2013/02/01/hotfixes-for-tfs-2012-update-1-tfs-2012-1.aspx&lt;/em>&lt;/a>_ for the latest on this ]_&lt;/p>
&lt;p>I &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/post/2013/01/14/Experiences-applying-TFS-2012-QU1-and-it-subsequent-hotfix.aspx">posted earlier in the week about my experiences with the post TFS 2012 QU1 hotfix&lt;/a>. When I posted I thought we had all our problems sorted, we did for new team projects, but it seems still had an issue for teams on our team projects that were created prior to the upgraded from RTM to QU1. As I said in the past post we got into this position due to trying to upgraded a TPC form RTM to QU1 by detaching from the 2012 RTM server and attaching to a 2012 QU1 server – this is not the recommended route and caused us to suffer the problem the &lt;a href="http://support.microsoft.com/kb/2795609">KB2795609 patch&lt;/a> addresses.&lt;/p></description></item><item><title>Incorrect IIS IP Bindings and TFS Server Url</title><link>https://blogs.blackmarble.co.uk/rfennell/incorrect-iis-ip-bindings-and-tfs-server-url/</link><pubDate>Tue, 15 Jan 2013 12:27:45 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/incorrect-iis-ip-bindings-and-tfs-server-url/</guid><description>
&lt;p>By default the TFS server uses &lt;a href="http://localhost:8080/tfs">http://localhost:8080/tfs&lt;/a> as it’s Server URL, this is the URL used for internal communication, whereas the Notification Url is the one TFS tells client to communicate to it via. Both these Urls can be changed via the Team Foundation Server Console, but I find you do not usually need to change the Server Url, only the notification one.&lt;/p>
&lt;p>&lt;a href="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_80.png">&lt;img
loading="lazy"
decoding="async"
alt="image"
class="image_figure image_internal image_unprocessed"
src="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_thumb_80.png"
title="image"
/>
&lt;/a>&lt;/p>
&lt;p>I hit a problem recently on a site where if you tried to edit the Team Project Collection Group Membership (via the web or TFS admin console) you got a dialog popping up saying  ‘HTTP 400 error’. Now this you have to say looks like a URL/binding issue, the tools cannot find an end point.&lt;/p></description></item><item><title>Experiences applying TFS 2012 QU1 and it subsequent hotfix</title><link>https://blogs.blackmarble.co.uk/rfennell/experiences-applying-tfs-2012-qu1-and-it-subsequent-hotfix/</link><pubDate>Mon, 14 Jan 2013 14:57:03 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/experiences-applying-tfs-2012-qu1-and-it-subsequent-hotfix/</guid><description>
&lt;p>&lt;a href="http://blogs.msdn.com/b/bharry/archive/2013/01/11/tfs-2012-update-1-hotfix.aspx">Brian Harry posted last week about a hotfix for TFS 2012 QU1 (KB2795609)&lt;/a>. This should not be needed by most people, but as his post points out does fix issues for a few customers. Well we were one of those customers. When upgrading from 2012 RTM to 2012 QU1 we had attempted what with hindsight was an over ambitious hardware migration too. This involved swapping our data tier from a SQL 2012 instance to a new 2012 availability group and merging team project collections from different server as well as applying the QU1. Our migration plan contained some team project collection detach/attach steps hence getting into the area this hotfix addresses.&lt;/p></description></item><item><title>Speaking on Windows 8 development</title><link>https://blogs.blackmarble.co.uk/rfennell/speaking-on-windows-8-development/</link><pubDate>Thu, 10 Jan 2013 21:22:26 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/speaking-on-windows-8-development/</guid><description>
&lt;p>On the 23rd of January I am doing a short presentation on the various options for Windows 8 development in Visual Studio 2012 as part of the Modern Jango ‘Tools for Windows 8 - Tips &amp;amp; Tricks on Visual Studio 2012 to inspire beautiful app development’ event.&lt;/p>
&lt;p>&lt;a href="http://blogs.msdn.com/b/ukmsdn/archive/2013/01/10/event-tools-for-windows-8-tips-amp-tricks-on-visual-studio-2012-to-inspire-beautiful-app-development.aspx">For more details check out the UK MSDN site&lt;/a>&lt;/p></description></item><item><title>Lost in nLog configuration files</title><link>https://blogs.blackmarble.co.uk/rfennell/lost-in-nlog-configuration-files/</link><pubDate>Tue, 08 Jan 2013 18:43:40 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/lost-in-nlog-configuration-files/</guid><description>
&lt;p>I have been trying to track down a performance problem today on an ASP.NET MVC. It all turned out to be down to an incorrect connection string in a &lt;a href="http://nlog-project.org/wiki/Configuration_file">nLog.config&lt;/a> file for logging to a SQL DB. As soon as I commented out the Db target for nLog my login to the web site was virtually instant as opposed to taking 30 seconds (what i assume is a SQL timeout)&lt;/p>
&lt;p>I had suspected a problem with the logged as I was not seeing anything in &lt;a href="http://technet.microsoft.com/en-us/sysinternals/bb896647.aspx">DebugView&lt;/a>, but it all took a while to track down as i did not seem to get any logging output.&lt;/p></description></item><item><title>EPG for Windows Media Center is fixed</title><link>https://blogs.blackmarble.co.uk/rfennell/epg-for-windows-media-center-is-fixed/</link><pubDate>Fri, 04 Jan 2013 15:53:13 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/epg-for-windows-media-center-is-fixed/</guid><description>
&lt;p>It seems that the &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/post/2013/01/03/More-fun-with-Windows-8-Media-Center.aspx">EPG problem with Media Center&lt;/a> has been &lt;a href="http://www.theregister.co.uk/2013/01/04/windows_media_center_epg_fixed/">fixed&lt;/a> by Microsoft. The are publishing the EPG data again, so we don’t have to rely on the 7 day guide embedded within the TV signal.&lt;/p>
&lt;p>It is interesting to see the happy MCE users coming out the wood work on &lt;a href="http://forums.theregister.co.uk/forum/1/2013/01/04/windows_media_center_epg_fixed/">The Register’s comments section&lt;/a>. We MCE users might not be too numerous, but the people who use it really seem to like it. However, after reading the comments I should have a look at &lt;a href="http://xbmc.org/">XBMC&lt;/a> too as it now has PVR features. Though it does look a bit more complex too setup!&lt;/p></description></item><item><title>More fun with Windows 8 Media Center</title><link>https://blogs.blackmarble.co.uk/rfennell/more-fun-with-windows-8-media-center/</link><pubDate>Thu, 03 Jan 2013 16:47:27 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/more-fun-with-windows-8-media-center/</guid><description>
&lt;h2 id="signal-strength">Signal Strength&lt;/h2>
&lt;p>Since &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/post/2012/12/03/Upgrading-my-Windows-7-Media-Center-to-Windows-8.aspx">upgrading my Media Center PC to Windows 8&lt;/a>, on the same hardware, I have seen that it seems to perform better that on Windows 7. However some channels seem to be dropping out, the usual digital pixilation or a message saying no signal (but often with some audio).&lt;/p>
&lt;p>As I had not changed any hardware I though this strange, but I have always seemed to have a borderline signal strength even though I can see my local terrestrial transmitter, it is about 15 miles away in direct line of sight. After a &lt;a href="http://www.stevelarkins.freeuk.com/freeview_digital_tv.htm">bit of reading&lt;/a> on the subject I found that my signal booster may be the issue, amplifying the noise and not the signal (seems you should only use masthead amps for digital). This was a hangover from my old flat with an awful signal. Once this was removed from the system my problems appear to have gone away. However, as I did not see the issue all the time I will wait a while before declaring it a complete success.&lt;/p></description></item><item><title>Why can’t I create an environment using a running VM on my Lab Management system?</title><link>https://blogs.blackmarble.co.uk/rfennell/why-cant-i-create-an-environment-using-a-running-vm-on-my-lab-management-system/</link><pubDate>Tue, 04 Dec 2012 21:47:48 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/why-cant-i-create-an-environment-using-a-running-vm-on-my-lab-management-system/</guid><description>
&lt;p>With TFS lab management you can build environments from stored VM and VM templates stored in an SCVMM library or from VMs running on a Hyper-V host within your lab infrastructure. This second form is what used to be called composing an environment in TFS 2010. Recently when I tried to compose an environment I had a problem. After selecting the running VM inside the new environment wizard I got the red star that shows an error in the machine properties&lt;/p></description></item><item><title>Agile Yorkshire - December Lightening Talks</title><link>https://blogs.blackmarble.co.uk/rfennell/agile-yorkshire-december-lightening-talks/</link><pubDate>Tue, 04 Dec 2012 09:31:42 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/agile-yorkshire-december-lightening-talks/</guid><description>
&lt;p>December's Agile Yorkshire, on the Tuesday, 11 December 2012, will be &lt;a href="http://en.wikipedia.org/wiki/Lightning_talk">Lightening Talks&lt;/a> covering a range of agile topics and be held at a new venue The Round Foundry Media Centre.&lt;/p>
&lt;p>Submissions for Lightening Talks are still arriving so the precise agenda may change but proposed topics included:&lt;/p>
&lt;ul>
&lt;li>Visual agile assessment for improvement&lt;/li>
&lt;li>Continuous Integration&lt;/li>
&lt;li>Agile Interviewing&lt;/li>
&lt;li>Difficult conversations&lt;/li>
&lt;li>Time management&lt;/li>
&lt;li>Refactoring using the Mikado Method&lt;/li>
&lt;li>PowerShell&lt;/li>
&lt;li>Agile testing&lt;/li>
&lt;li>Burn up charts&lt;/li>
&lt;li>Multi-team, multiple kanban board problems.&lt;/li>
&lt;/ul>
&lt;p>For more details and registration see the &lt;a href="http://www.eventbrite.com/event/4966755700/?ref=enivtefor001&amp;amp;invite=MjgyMjA4MC9yZmVubmVsbEBibGFja21hcmJsZS5jby51ay8x&amp;amp;utm_source=eb_email&amp;amp;utm_medium=email&amp;amp;utm_campaign=inviteformal001&amp;amp;utm_term=eventpage">event site&lt;/a>&lt;/p></description></item><item><title>Upgrading my Windows 7 Media Center to Windows 8</title><link>https://blogs.blackmarble.co.uk/rfennell/upgrading-my-windows-7-media-center-to-windows-8/</link><pubDate>Mon, 03 Dec 2012 22:27:29 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/upgrading-my-windows-7-media-center-to-windows-8/</guid><description>
&lt;p>&lt;strong>Updated 4th December 2012&lt;/strong> – Roku setup&lt;/p>
&lt;p>I have been a happy user of Windows Media Center since (even) XP. I have found it reasonably stable and more importantly it has a nice user interface compared to most pvr/set-top boxes I have owned. So as my Windows 7 based system has been stable for just over a year (&lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/post/2011/11/14/experiences-upgrading-my-media-center-to-receive-freeview-hd.aspx">since a move to HD tuners prompted by a motherboard failure&lt;/a>) I thought it high time to destabilise it with an upgrade to Windows 8. What actually prompted this was &lt;a href="http://blogs.blackmarble.co.uk/blogs/boss">Robert&lt;/a> had upgraded his Media Center which is also based on similar Acer Revo (Intel Atom) hardware to mine and he had found the general performance much improved. The Atom CPU is only just up to the job, but I do like the Revo as it is a nice low wattage package for Media Center&lt;/p></description></item><item><title>TFS &amp;amp; Visual Studio 2012 Update 1 is available</title><link>https://blogs.blackmarble.co.uk/rfennell/tfs-visual-studio-2012-update-1-is-available/</link><pubDate>Tue, 27 Nov 2012 22:36:08 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/tfs-visual-studio-2012-update-1-is-available/</guid><description>
&lt;p>For those who attended &lt;a href="http://www.blackmarble.co.uk/events">Black Marble’s event&lt;/a> today I mentioned there was an upcoming TFS and Visual Studio 2012 Update 1. Well I was out of date whilst talking, it had already been released overnight.&lt;/p>
&lt;p>See &lt;a href="http://blogs.msdn.com/b/bharry/archive/2012/11/26/visual-studio-2012-update-1-is-available.aspx">Brian Harry’s blog&lt;/a> for details and &lt;a href="http://blogs.msdn.com/b/granth/archive/2012/11/27/visual-studio-and-team-foundation-server-2012-update-1-is-now-available.aspx">Grant Holiday’s blogs&lt;/a>  for a nice explanation of the download options.&lt;/p></description></item><item><title>Did I delete the right lab?</title><link>https://blogs.blackmarble.co.uk/rfennell/did-i-delete-the-right-lab/</link><pubDate>Thu, 22 Nov 2012 16:18:04 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/did-i-delete-the-right-lab/</guid><description>
&lt;p>It was bound to happen in the end, the wrong environment got deleted on our TFS Lab Management instance. The usual selection of rushing, minor mistakes, misunderstandings and not reading the final dialog properly and BANG you get that sinking feeling as you see the wrong set of VMs being deleted. Well this happened yesterday, so was there anything that can be done? Luckily the answer is yes, if you are quick.&lt;/p></description></item><item><title>New book from Gojko Adzic ‘Impact Mapping’</title><link>https://blogs.blackmarble.co.uk/rfennell/new-book-from-gojko-adzic-impact-mapping/</link><pubDate>Wed, 21 Nov 2012 17:24:47 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/new-book-from-gojko-adzic-impact-mapping/</guid><description>
&lt;p>A common problem with getting software developed is the needing to get everyone aiming for the same goal. This too often gets lost in the development process; the real goal of the business is not communicated to the development team.  It maybe that the goal professed by the business is not the one they even really want, but their current viewpoint obscures the true goal.&lt;/p>
&lt;p>In this new book from Gojko Adzic provides a excellent introduction to &lt;a href="http://impactmapping.org/about.php">Impact Mapping&lt;/a> as a tool to help address this problem. It describes using workshops and simple graphical tools as a way to tackle this problem of keeping an eye on the true goal. These are tools to use well before starting down the user story/ALM path to make sure the goal of your project is sound, known and measurable.&lt;/p></description></item><item><title>Black Marble at the 2012 Abbey Dash</title><link>https://blogs.blackmarble.co.uk/rfennell/black-marble-at-the-2012-abbey-dash/</link><pubDate>Mon, 19 Nov 2012 12:28:42 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/black-marble-at-the-2012-abbey-dash/</guid><description>
&lt;p>Another good turn out this year for the &lt;a href="http://www.ageuk.org.uk/get-involved/events-and-challenges/leeds-abbey-dash-in-aid-of-age-uk/">Age UK Abbey Dash 10K in Leeds&lt;/a>. Over 9000 runners this year, certainly seemed much busier than previous years.&lt;/p>
&lt;p>&lt;a href="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_73.png">&lt;img
loading="lazy"
decoding="async"
alt="image"
class="image_figure image_internal image_unprocessed"
src="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_thumb_73.png"
title="image"
/>
&lt;/a>&lt;/p>
&lt;p>Again Black Marble had staff members running. As with last year we did a &lt;a href="http://en.wikipedia.org/wiki/The_Wisdom_of_Crowds">wisdom of crowds&lt;/a> based handicap race for the impressive Black Marble trophy (we all estimate each others expected times, the winner is who beats mean estimate the most). This year there was a tie to the second between Jon and Becky, who are as we speak negotiating over trophy sharing for the next year.&lt;/p></description></item><item><title>Upcoming free events from Black Marble</title><link>https://blogs.blackmarble.co.uk/rfennell/upcoming-free-events-from-black-marble/</link><pubDate>Wed, 14 Nov 2012 21:07:46 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/upcoming-free-events-from-black-marble/</guid><description>
&lt;p>Winter is rushing on, so it is time for a new season of Black Marble events in Yorkshire.&lt;/p>
&lt;p>&lt;strong>21 Nov 2012 (All day) -&lt;/strong> [&lt;strong>Whats New in SharePoint 2013&lt;/strong>](&lt;a href="http://www.blackmarble.co.uk/events.aspx?event=Whats">http://www.blackmarble.co.uk/events.aspx?event=Whats&lt;/a> New in SharePoint 2013)&lt;/p>
&lt;p>All the updates and announcements from the Microsoft SharePoint Conference around SharePoint 2013.&lt;/p>
&lt;p>&lt;strong>27 Nov 2012 (AM) -&lt;/strong> [&lt;strong>An Introduction to Windows 8 Development&lt;/strong>](&lt;a href="http://www.blackmarble.co.uk/events.aspx?event=An">http://www.blackmarble.co.uk/events.aspx?event=An&lt;/a> Introduction to Windows 8 Development)&lt;/p>
&lt;p>We welcome Microsoft Evangelist Mike Taulty to present a morning on Windows 8 for developers.&lt;/p></description></item><item><title>Upgraded to BlogEngine .NET 2.7</title><link>https://blogs.blackmarble.co.uk/rfennell/upgraded-to-blogengine-net-2-7/</link><pubDate>Wed, 14 Nov 2012 09:47:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/upgraded-to-blogengine-net-2-7/</guid><description>
&lt;p>Just upgraded this blog server to &lt;a href="http://dotnetblogengine.net/page/BlogEngineNET-27-Features-Notes.aspx">BlogEngine .NET 2.7&lt;/a> from 2.6. Nice straight forward upgrade.&lt;/p></description></item><item><title>Why does ‘Send to &amp;gt; email link’ in SharePoint open Chrome on my PC?</title><link>https://blogs.blackmarble.co.uk/rfennell/why-does-send-to-email-link-in-sharepoint-open-chrome-on-my-pc/</link><pubDate>Tue, 13 Nov 2012 19:44:53 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/why-does-send-to-email-link-in-sharepoint-open-chrome-on-my-pc/</guid><description>
&lt;p>I must have clicked something in error on my Win 8 PC as when I open one of our SharePoint 2010 sites and select a file, right clicked and selected Send To &amp;gt; Email Link instead of an Outlook email opening my PC tries to open Chrome.&lt;/p>
&lt;p>A bit of quick digging showed the issue was that the file association for mailto: was wrong. You can check this setting in IE &amp;gt; Internet Options &amp;gt; Programs &amp;gt; Internet Programs &amp;gt; set Programs (button)&lt;/p></description></item><item><title>TF900546, can’t run Windows 8 App Store unit tests in a TFS build</title><link>https://blogs.blackmarble.co.uk/rfennell/tf900546-cant-run-windows-8-app-store-unit-tests-in-a-tfs-build/</link><pubDate>Mon, 12 Nov 2012 16:20:06 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/tf900546-cant-run-windows-8-app-store-unit-tests-in-a-tfs-build/</guid><description>
&lt;p>Today has been one of &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/post/2012/11/12/More-thoughts-on-addressing-TF900546-Unable-to-load-one-or-more-of-the-requested-types-on-TFS2012.aspx">purging build system problems&lt;/a>. On my TFS 2012 Windows 8 build box I was was getting the following error when trying to run Windows 8 App Store unit tests&lt;/p>
&lt;blockquote>
&lt;p>&lt;em>TF900546: An unexpected error occurred while running the RunTests activity: 'Unable to load one or more of the requested types. Retrieve the LoaderExceptions property for more information.'.&lt;/em>&lt;/p>&lt;/blockquote>
&lt;p>On further investigation, I am not really sure anything was working too well on this box. To give a bit of background&lt;/p></description></item><item><title>More thoughts on addressing TF900546 ‘Unable to load one or more of the requested types’ on TFS2012</title><link>https://blogs.blackmarble.co.uk/rfennell/more-thoughts-on-addressing-tf900546-unable-to-load-one-or-more-of-the-requested-types-on-tfs2012/</link><pubDate>Mon, 12 Nov 2012 11:33:03 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/more-thoughts-on-addressing-tf900546-unable-to-load-one-or-more-of-the-requested-types-on-tfs2012/</guid><description>
&lt;p>A while ago I &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/post/2012/08/09/TF900546-error-on-a-TFS-2012-build.aspx">posted&lt;/a> about seeing the TF900546 error when running unit tests in a previously working TFS 2012 build. The full error being:&lt;/p>
&lt;blockquote>
&lt;p>&lt;em>TF900546: An unexpected error occurred while running the RunTests activity: 'Unable to load one or more of the requested types. Retrieve the LoaderExceptions property for more information.'.&lt;/em>&lt;/p>&lt;/blockquote>
&lt;p>Well late last week this problem came back with avengeance on a number of builds run on the same build controller/agent(s). Irritatingly I first noticed it after a major refactor of a codebase, so I had plenty of potential root causes as assemblies had been renamed and it was possible they might not be found. However, after a bit of testing there were no obvious candidates as all tests worked fine locally on my development PC, and a new very simple test application showed the same issues. It was defiantly an issue on the build system.&lt;/p></description></item><item><title>Change in the System.AssignedTo in TFS SOAP alerts with TFS 2012</title><link>https://blogs.blackmarble.co.uk/rfennell/change-in-the-system-assignedto-in-tfs-soap-alerts-with-tfs-2012/</link><pubDate>Fri, 09 Nov 2012 20:29:56 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/change-in-the-system-assignedto-in-tfs-soap-alerts-with-tfs-2012/</guid><description>
&lt;p>&lt;a href="http://www.ewaldhofman.nl/post/2010/08/02/How-to-use-WCF-to-subscribe-to-the-TFS-2010-Event-Service-rolling-up-hours.aspx">Ewald’s post&lt;/a> explains how to create a WCF web service to act as an end point for TFS Alerts. I have been using the model with a TFS 2010 to check for work item changed events, using the work item’s &lt;strong>System.AssignedTo&lt;/strong> field to retrieve the owner of the work item (via the TFS API) so I can send an email, as well as other tasks (I know I could just send the email with a standard alert).&lt;/p></description></item><item><title>Cannot run coded ui test on a TFS lab due to lack of rights to the drops folder</title><link>https://blogs.blackmarble.co.uk/rfennell/cannot-run-coded-ui-test-on-a-tfs-lab-due-to-lack-of-rights-to-the-drops-folder/</link><pubDate>Fri, 09 Nov 2012 20:09:45 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/cannot-run-coded-ui-test-on-a-tfs-lab-due-to-lack-of-rights-to-the-drops-folder/</guid><description>
&lt;p>Whilst setting up a TFS 2012 Lab management environment for Coded UI testing we got the problem that none of the tests were running, in fact we could see no tests were even being passed to the agent in the lab&lt;/p>
&lt;p>&lt;a href="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_65.png">&lt;img
loading="lazy"
decoding="async"
alt="image"
class="image_figure image_internal image_unprocessed"
src="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_thumb_65.png"
title="image"
/>
&lt;/a>&lt;/p>
&lt;p>On the build report I clicked on  the ‘View Test Results’ which loaded the result in Microsoft Test Manager (MTM)&lt;/p>
&lt;p>&lt;a href="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_66.png">&lt;img
loading="lazy"
decoding="async"
alt="image"
class="image_figure image_internal image_unprocessed"
src="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_thumb_66.png"
title="image"
/>
&lt;/a>&lt;/p>
&lt;p>and viewed the test run log, and we saw&lt;/p></description></item><item><title>Using IISExpress for addresses other than localhost</title><link>https://blogs.blackmarble.co.uk/rfennell/using-iisexpress-for-addresses-other-than-localhost/</link><pubDate>Tue, 06 Nov 2012 22:34:01 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/using-iisexpress-for-addresses-other-than-localhost/</guid><description>
&lt;p>I recently had the need to use IISExpress on Windows 8 to provide a demo server to a number of Surface RT clients. I found this took me longer than I expected. It might be me but the documentation did not leap out.&lt;/p>
&lt;p>So as a summary this is what I had to do, let us say for example that I want to serve out &lt;a href="http://mypc:1234">http://mypc:1234&lt;/a>&lt;/p>
&lt;ul>
&lt;li>Make sure you have a project  &lt;strong>MyWebProject&lt;/strong> in Visual Studio that works for &lt;a href="http://localhost:1234">http://localhost:1234&lt;/a> using IISExpress&lt;/li>
&lt;li>Open the TCP port 1234 on the PC in the Control Panel &amp;gt; Admin Tools &amp;gt; Firewall&lt;/li>
&lt;li>Edit &lt;strong>C:Users[current user]DocumentsIISExpressconfigapplicationhost.config&lt;/strong> and find the site name section for your Visual Studio project. And change the &lt;strong>&lt;binding protocol="http" bindingInformation="\*:1234:localhost" />&lt;/strong> to &lt;strong>&lt;binding protocol="http" bindingInformation="\*:1234:\*" />.&lt;/strong>  This means IISexpress can now listen on this port for any IP address&lt;/li>
&lt;li>You finally need to run IISExpress with administrative privileges. I did this by opening a PowerShell prompt with administrative privileges and running the command  &lt;strong>C:Program FilesIIS Expressiisexpress.exe /site:MyWebProject&lt;/strong>&lt;/li>
&lt;/ul>
&lt;p>Once all this was done my client PCs could connect&lt;/p></description></item><item><title>Reinstalling again…</title><link>https://blogs.blackmarble.co.uk/rfennell/reinstalling-again/</link><pubDate>Fri, 02 Nov 2012 17:10:33 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/reinstalling-again/</guid><description>
&lt;p>Just completing the second reinstall of &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/post/2012/10/23/Moving-to-an-SSD-on-Lenovo-W520.aspx">Windows 8 on my Lenovo W520&lt;/a> in 10 days due to my new SSD failing and needing to be replaced.&lt;/p>
&lt;p>To try to ease the process I though I would try putting on the miscellaneous tools I use such as &lt;a href="http://chocolatey.org/packages/7zip">7Zip&lt;/a>, &lt;a href="http://chocolatey.org/packages/filezilla">Filezilla&lt;/a> etc. using &lt;a href="http://chocolatey.org/" title="http://chocolatey.org/">Chocolatey&lt;/a>. I have to say first impressions are good, one command and the product is on, the files pulled from the appropriate site.&lt;/p>
&lt;p>Obviously there is the issue that packages are may not be kept up to date, unlike Nuget (which is at Chocolatey’s core) the packages are not stored on the Chocolatey site. I noticed the &lt;a href="http://chocolatey.org/packages/sysinternals">SysInternal&lt;/a> package is a bit behind, but I could always submit the updated package myself couldn’t I.&lt;/p></description></item><item><title>Team Foundation Service RTMs</title><link>https://blogs.blackmarble.co.uk/rfennell/team-foundation-service-rtms/</link><pubDate>Wed, 31 Oct 2012 17:15:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/team-foundation-service-rtms/</guid><description>
&lt;p>&lt;a href="http://blogs.msdn.com/b/somasegar/archive/2012/10/31/team-foundation-service-is-released.aspx">Today at Build 2012 it was announced&lt;/a> that &lt;a href="https://tfspreview.com">https://tfspreview.com&lt;/a> has RTM'd as Team Foundation Service on &lt;a href="https://tfs.visualstudio.com">https://tfs.visualstudio.com&lt;/a>.&lt;/p>
&lt;p>Up until now there has been no pricing information, which had been a barrier to some people I have spoken to as they did not want to started using something without knowing the future cost.&lt;/p>
&lt;p>So to the really good news, as of now&lt;/p>
&lt;ul>
&lt;li>It is free for up to 5 users&lt;/li>
&lt;li>If you have an active MSDN subscription it is also free. So a team of any size can use it as long as they all have MSDN&lt;/li>
&lt;/ul>
&lt;p>The announcement said to look out for further price options next year.&lt;/p></description></item><item><title>403 and 413 errors when publishing to a local Nuget Server</title><link>https://blogs.blackmarble.co.uk/rfennell/403-and-413-errors-when-publishing-to-a-local-nuget-server/</link><pubDate>Wed, 31 Oct 2012 12:03:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/403-and-413-errors-when-publishing-to-a-local-nuget-server/</guid><description>
&lt;p>We have an &lt;a href="http://www.nuget.org/packages/NuGet.Server">internal Nuget Server&lt;/a> we use to manage our software packages. As part of our upgrade to TFS2012 this needed to be moved to a new server VM and I took the chance to upgrade it from 1.7 to 2.1.&lt;/p>
&lt;p>&lt;strong>The problem&lt;/strong>&lt;/p>
&lt;p>Now we had had a problem that we could publish to the server via a file copy to its underlying &lt;em>Packages&lt;/em> folder (a UNC share) but could never publish using the Nuget command e.g.&lt;/p></description></item><item><title>Nice introduction to the new features of VS2012</title><link>https://blogs.blackmarble.co.uk/rfennell/nice-introduction-to-the-new-features-of-vs2012/</link><pubDate>Tue, 30 Oct 2012 20:01:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/nice-introduction-to-the-new-features-of-vs2012/</guid><description>
&lt;p>If you are looking for a nice introduction to the new features of Visual Studio 2012, I can heartily recommend &lt;a href="http://www.amazon.co.uk/dp/1849686521/ref=as_li_ss_til?tag=buitwoonmypc-21&amp;amp;camp=2902&amp;amp;creative=19466&amp;amp;linkCode=as4&amp;amp;creativeASIN=1849686521&amp;amp;adid=1J4X5AYKARWKPG4877ZQ&amp;amp;&amp;amp;ref-refURL=http%3A%2F%2Fblogs.blackmarble.co.uk%2Fblogs%2Frfennell%2Fpage%2FReading-List.aspx">Richard Banks 'Visual Studio 2012 Cookbook'&lt;/a>.&lt;/p>
&lt;p>This book covers a wide range of subjects including the IDE, .NET 4.5 features, Windows 8 development, Web development, C++, debugging, async and TFS 2012. This is all done in a easy to read format that will get you going with the key concepts, providing sample and links to further reading. A great starting off point.&lt;/p></description></item><item><title>Problems re-publishing an Access site to SharePoint 2010</title><link>https://blogs.blackmarble.co.uk/rfennell/problems-re-publishing-an-access-site-to-sharepoint-2010/</link><pubDate>Thu, 25 Oct 2012 22:33:14 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/problems-re-publishing-an-access-site-to-sharepoint-2010/</guid><description>
&lt;p>After applying SP1 to a SharePoint 2010 farm we found we were unable to run any macros in an Access Services site, it gave a –4002 error. We had seen this error in the &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/post/2010/10/04/error-4002-on-access-services-on-sharepoint-2010.aspx">past&lt;/a>, but the solutions that worked then did not help. As this site was critical, as a workaround, we moved the site to a non-patched SP2010 instance. This was done via a quick site collection backup and restore process.  This allowed us to dig into the problem at our leisure.&lt;/p></description></item><item><title>Moving to an SSD on Lenovo W520</title><link>https://blogs.blackmarble.co.uk/rfennell/moving-to-an-ssd-on-lenovo-w520/</link><pubDate>Tue, 23 Oct 2012 10:20:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/moving-to-an-ssd-on-lenovo-w520/</guid><description>
&lt;p>[Also see &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/post/2013/01/22/More-on-HDD2-boot-problems-with-my-Crucial-M4-mSATA.aspx">http://blogs.blackmarble.co.uk/blogs/rfennell/post/2013/01/22/More-on-HDD2-boot-problems-with-my-Crucial-M4-mSATA.aspx&lt;/a>]&lt;/p>
&lt;p>I have just reinstalled Windows 8 (again) on my Lenovo W520. This time it was because I moved to a Crucial m4 256Gb 2.5” internal SSD as my primary disk. There is a special slot for this type of drive under the keyboard, so I could also keep my 750Gb Hybrid SATA drive to be used for storing virtual machines.&lt;/p>
&lt;p>I had initially planned to backup/restore my previous installation using IMAGEX as I had all I needed in my PC, but after two days of fiddling I had got nowhere, the problems being&lt;/p></description></item><item><title>New video on unit testing in VS2012 and TFS</title><link>https://blogs.blackmarble.co.uk/rfennell/new-video-on-unit-testing-in-vs2012-and-tfs/</link><pubDate>Mon, 08 Oct 2012 13:23:34 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/new-video-on-unit-testing-in-vs2012-and-tfs/</guid><description>
&lt;p>A &lt;a href="http://www.youtube.com/watch?v=FREohi-47S8&amp;amp;list=PLEA6C7FB5CD6818CF&amp;amp;index=1&amp;amp;feature=plpp_video">video&lt;/a> has just be uploaded that I did on the new unit testing features in Visual Studio  and TFS 2012. This is quick 10 minute introduction to some of the material I will be covering at &lt;a href="http://developerdeveloperdeveloper.com/north2/">DDDNorth next weekend&lt;/a>.&lt;/p>
&lt;p>Hope you find it useful&lt;/p></description></item><item><title>More fun with creating TFS 2012 SC-VMM environments</title><link>https://blogs.blackmarble.co.uk/rfennell/more-fun-with-creating-tfs-2012-sc-vmm-environments/</link><pubDate>Fri, 05 Oct 2012 17:14:23 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/more-fun-with-creating-tfs-2012-sc-vmm-environments/</guid><description>
&lt;p>Whilst setting up new a new SC-VMM based lab environment I managed to find some new ways to fail above and beyond the ones I have found &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/post/2012/07/20/Getting-TFS-2012-Agents-to-communicate-cross-domain.aspx">before&lt;/a>.&lt;/p>
&lt;p>We needed to build a new environment for testing CRM application, this needed to have its own DC, IIS server and a CRM server. The aim was to have this as a network isolated environment, but you have to build it first as the various VMs.&lt;/p></description></item><item><title>Getting a SQL LocalDB to create an ASPNETDB data base without aspnet_regsql</title><link>https://blogs.blackmarble.co.uk/rfennell/getting-a-sql-localdb-to-create-an-aspnetdb-data-base-without-aspnet_regsql/</link><pubDate>Tue, 02 Oct 2012 22:42:57 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/getting-a-sql-localdb-to-create-an-aspnetdb-data-base-without-aspnet_regsql/</guid><description>
&lt;p>I started working today on a solution I had not worked on for a while. It makes use of an ASP.NET web application as a site to host SharePoint webparts (&lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/post/2011/09/06/update-on-using-typemock-isolator-to-allow-webpart-development-without-a-sharepoint-server.aspx">using Typemock to mock out any troublesome calls&lt;/a>). The problem I had was that when I opened this VS2010 solution in VS2012 I could not run up this test web site. As the test web pages have WebpartManager controls it needs an ASPNETDB in the AppData folder to persist the settings data. This is usually auto created when SQLExpress is installed, problem is with VS2012 you get the newer LocalDB and I am trying to avoid installing SQLExpress&lt;/p></description></item><item><title>TFS Test Agent cannot connect to Test Controller – Part 2</title><link>https://blogs.blackmarble.co.uk/rfennell/tfs-test-agent-cannot-connect-to-test-controller-part-2/</link><pubDate>Mon, 01 Oct 2012 22:33:24 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/tfs-test-agent-cannot-connect-to-test-controller-part-2/</guid><description>
&lt;p>I &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/post/2012/09/29/TFS-Test-Agent-cannot-connect-to-Test-Controller-gives-No-connection-could-be-made-because-the-target-machine-actively-refused-it-1270016910.aspx">posted last week&lt;/a> on the problems I had had getting the test agents and controller in a TFS2012 Standard environment talking to each other and a workaround. Well after a good few email with various people at Microsoft and other consultants at Black Marble I have a whole range of workarounds solutions.&lt;/p>
&lt;p>First a reminder of my architecture, and note that this could be part of the problem, it is all running on a single Hyper-V host. Remember this is a demo rig to show the features of Standard Environments. I think it is unlikely that this problem will be seen in a more ‘realistic’ environment i.e. running on multiple boxes&lt;/p></description></item><item><title>TFS Test Agent cannot connect to Test Controller gives ‘No connection could be made because the target machine actively refused it 127.0.0.1:6910’</title><link>https://blogs.blackmarble.co.uk/rfennell/tfs-test-agent-cannot-connect-to-test-controller-gives-no-connection-could-be-made-because-the-target-machine-actively-refused-it-127-0-0-16910/</link><pubDate>Sat, 29 Sep 2012 14:38:38 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/tfs-test-agent-cannot-connect-to-test-controller-gives-no-connection-could-be-made-because-the-target-machine-actively-refused-it-127-0-0-16910/</guid><description>
&lt;p>&lt;strong>Updated 1st October&lt;/strong> – See the &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/post/2012/10/01/TFS-Test-Agent-cannot-connect-to-Test-Controller-Part-2.aspx">Part 2 post&lt;/a> which provides more workaround solutions&lt;/p>
&lt;p>Whilst setting up a  &lt;a href="http://blogs.msdn.com/b/bharry/archive/2011/10/31/lab-management-improvements-in-tfs-11.aspx">TFS 2012 Standard Lab Environment&lt;/a> for an upcoming demo I hit a problem. Initially my environment had worked fine, I could deploy to my server VM in the environment without error. However, after a reboot of the TFS server (which has the build and test controllers on it) and the single server VM in the environment, the test agent on the VM could not connect to the test controller on the TFS SERVER. The VM’s event log showed&lt;/p></description></item><item><title>Release of Typemock Isolator Basic edition</title><link>https://blogs.blackmarble.co.uk/rfennell/release-of-typemock-isolator-basic-edition/</link><pubDate>Thu, 27 Sep 2012 21:05:52 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/release-of-typemock-isolator-basic-edition/</guid><description>
&lt;p>Some great news today from Typemock, &lt;a href="http://us2.campaign-archive2.com/?u=e888bab428ec5dcaea84550e3&amp;amp;id=bdb6ce40b0">there is now a free basic edition of Typemock Isolator.&lt;/a> The addresses a key historic problem with Isolator, that of its cost when you don’t need the advanced features of Isolator all the time.&lt;/p>
&lt;p>Now if you need the cool advanced mocking features of Isolator, such as mocking sealed private classes, then the cost is not really a factor, you buy the product or don’t get the features. However what do you do if you just want to do just do ‘normal mocking’ in a project ? e.g. mock out an interfaces. Do you use Typemock as you already have it, or swap to a different mocking framework, only using Typemock when you have to use its advanced features?&lt;/p></description></item><item><title>Experiences upgrading an MVC 1 application to MVC 3</title><link>https://blogs.blackmarble.co.uk/rfennell/experiences-upgrading-an-mvc-1-application-to-mvc-3/</link><pubDate>Wed, 05 Sep 2012 16:16:05 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/experiences-upgrading-an-mvc-1-application-to-mvc-3/</guid><description>
&lt;p>I have recently had to do some work on a MVC 1 application and thought it sensible to bring it up to MVC 3, you don’t want to be left behind if you can avoid it. This was a simple data capture application written in MVC1 in Visual Studio 2008 and never needed to be touched since. A user fills in a form, the controller then takes the form contents and stores it. The key point to note here is that it was using the &lt;em>Controller.UpdateModel&lt;TModel> Method (TModel, IValueProvider)&lt;/em> method, so most of the controller actions look like&lt;/p></description></item><item><title>Update on my experiences with Lenovo W520 Drivers and Windows 8</title><link>https://blogs.blackmarble.co.uk/rfennell/update-on-my-experiences-with-lenovo-w520-drivers-and-windows-8/</link><pubDate>Mon, 03 Sep 2012 12:50:19 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/update-on-my-experiences-with-lenovo-w520-drivers-and-windows-8/</guid><description>
&lt;p>After I installed Windows 8 RTM I still had two devices missing drivers. I have made a little progress&lt;/p>
&lt;ul>
&lt;li>Base System Device - was the Ricoh PCIe SDXC/MMC Host controller &lt;a href="http://support.lenovo.com/en_US/downloads/detail.page?DocID=DS014960">I used this Win 8 beta driver&lt;/a>&lt;/li>
&lt;li>Unknown driver – seems to be the Lenovo Power Management devices. However the  &lt;a href="http://support.lenovo.com/en_US/downloads/detail.page?&amp;amp;DocID=DS030737">Win 8 Beta driver&lt;/a>  fails to install. I had to use the Windows 7 driver, installed OK and seems to show the right information in the tool tray, but in Device Manager it still says the unknown driver.&lt;/li>
&lt;/ul>
&lt;p>I guess I really need to wait until Lenovo ship their release drivers&lt;/p></description></item><item><title>Its events time again</title><link>https://blogs.blackmarble.co.uk/rfennell/its-events-time-again/</link><pubDate>Sun, 02 Sep 2012 18:57:30 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/its-events-time-again/</guid><description>
&lt;p>if you missed yesterdays DDD10, as I did, then don’t worry. You can come to &lt;a href="http://developerdeveloperdeveloper.com/north2/">DDD North in Bradford&lt;/a> at the University Management Centre on the 13th of October. There is another great set of speakers, I was lucky enough to get my session on Unit Testing and Fakes in VS2012 accepted. Hope to see you there&lt;/p>
&lt;p>Also my company Black Marble as announced our free autumn  and winter events, check them out on our &lt;a href="http://www.blackmarble.co.uk/SectionDisplay.aspx?name=Events">events page&lt;/a>. There is a good varied selection this year, something for everyone.&lt;/p></description></item><item><title>Type ‘InArgument(mtbwa:BuildSettings)’ of property ‘BuildSettings’ errors in TFS 2012 RTM builds</title><link>https://blogs.blackmarble.co.uk/rfennell/type-inargumentmtbwabuildsettings-of-property-buildsettings-errors-in-tfs-2012-rtm-builds/</link><pubDate>Thu, 30 Aug 2012 15:30:02 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/type-inargumentmtbwabuildsettings-of-property-buildsettings-errors-in-tfs-2012-rtm-builds/</guid><description>
&lt;p>I &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/post/2012/07/30/Two-problems-editing-TFS2012-build-workflows-with-the-same-solution.aspx">posted a while ago&lt;/a> that you saw errors when trying to edit TFS 2012RC build process templates in VS 2012RC if the Visual Studio class library project you were using to manage the process template editing was targeting .NET 4.5, it needed to be 4.0. Well with Visual Studio 2012 RTM this is no longer the case, in fact it is the other way around.&lt;/p>
&lt;p>I have recently upgraded our TFS 2012 RC –&amp;gt; RTM and I today came to edit one of our build process templates (&lt;a href="http://tfsbuildextensions.codeplex.com/wikipage?title=How%20to%20integrate%20the%20extensions%20into%20a%20build%20template&amp;amp;referringTitle=Documentation">using the standard method to edit a process template with custom activities&lt;/a>) and got the following error when I tried to open the XAML process template for editing&lt;/p></description></item><item><title>Two bits of good news – DDDNorth and Raspberry PI</title><link>https://blogs.blackmarble.co.uk/rfennell/two-bits-of-good-news-dddnorth-and-raspberry-pi/</link><pubDate>Tue, 28 Aug 2012 14:06:23 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/two-bits-of-good-news-dddnorth-and-raspberry-pi/</guid><description>
&lt;p>The &lt;a href="http://developerdeveloperdeveloper.com/north2/">registration has opened for DDDNorth 2 (In Bradford)&lt;/a> where I will be speaking on Unit testing in VS2012&lt;/p>
&lt;p>Also my Raspberry PI has just arrived – after only 6 months of waiting, but I don’t think I can work it into my DDDNorth session&lt;/p></description></item><item><title>Getting Typemock Isolator running within a TFS 2012 build – part 2</title><link>https://blogs.blackmarble.co.uk/rfennell/getting-typemock-isolator-running-within-a-tfs-2012-build-part-2/</link><pubDate>Fri, 24 Aug 2012 15:05:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/getting-typemock-isolator-running-within-a-tfs-2012-build-part-2/</guid><description>
&lt;p>I posted &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/post/2012/08/04/Getting-Typemock-Isolator-running-within-a-TFS-2012-build.aspx">previously on getting Typemock 7.x running in a TFS 2012 RC build process&lt;/a> . Well it seems the activities I previously published did not work on the TFS 2012 RTM build i.e if you do nothing other than upgrade your TFS server from RC to RTM a previously working build fails, no attempt was made to run any tests and I got the unhelpful error&lt;/p>
&lt;blockquote>
&lt;p>&lt;em>TF900546: An unexpected error occurred while running the RunTests activity: 'Executor process exited.'.&lt;/em>&lt;/p></description></item><item><title>Experiences upgrading our TFS2012RC to RTM</title><link>https://blogs.blackmarble.co.uk/rfennell/experiences-upgrading-our-tfs2012rc-to-rtm/</link><pubDate>Mon, 20 Aug 2012 12:56:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/experiences-upgrading-our-tfs2012rc-to-rtm/</guid><description>
&lt;p>We have just completed the upgraded of our TFS2012 server from RC to RTM. All went smoothly, just a few comments worth mentioning&lt;/p>
&lt;ul>
&lt;li>The install of TFS2012 (after the removal of the RC) required three reboots, 2 for C++ components and one for .NET 4.5. So  if seeing reboots don’t worry too much.&lt;/li>
&lt;li>When running the upgrade wizard we got a verify warning over port 443 already being used (we had manually configured via IIS manager for our server to use 8080 and 443). We ignored this warning. However after the upgrade wizard had completed, with no errors, we found that the new web server could not start. Turns out it it had been left bound as HTTP to Port 443, so it was very confused. We just deleted this binding and re-added HTTP on 8080 and HTTPS on 433 with our wildcard certificate and it was fine. So in hindsight we should have headed the warning and removed our custom bindings.&lt;/li>
&lt;/ul>
&lt;p>So now off to the long job of upgrading build box, test controller and the rest.&lt;/p></description></item><item><title>Weekend trip to see family – 1 OS upgrade, 1 network printer installed and 3 machines de-virused</title><link>https://blogs.blackmarble.co.uk/rfennell/weekend-trip-to-see-family-1-os-upgrade-1-network-printer-installed-and-3-machines-de-virused/</link><pubDate>Mon, 20 Aug 2012 11:48:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/weekend-trip-to-see-family-1-os-upgrade-1-network-printer-installed-and-3-machines-de-virused/</guid><description>
&lt;p>I have been away over the weekend seeing family, and as anyone who is in IT (or is a medical doctor I suspect) would expect I had the standard experience – everyone wanted me to show me something they were worried about that turned to be virus related. This trip I did one operating system upgrade, one network printer installation and de-virused three PCs. So nothing out of ordinary.&lt;/p>
&lt;p>The one thing I would mention was how useful I found the contents of &lt;a href="http://blogs.msdn.com/b/deva/archive/2012/06/16/teched-2012-mark-russinovich-s-malware-hunting-with-the-sysinternals-tools.aspx">Mark Russinovich’s TechEd Session ‘Malware Hunting with the Sysinterals Tools’&lt;/a>. This saved me the complete machine rebuild I had feared for one PC which had got infected with a bit of poor quality &lt;a href="http://en.wikipedia.org/wiki/Ransomware_%28malware%29">ransomware&lt;/a>  that turns out to only be a splash screen that I could easily spot with &lt;a href="http://en.wikipedia.org/wiki/Ransomware_%28malware%29">Autoruns from the Sysinternals Suite&lt;/a>. The video is well worth a watch for all of us in the family IT support game.&lt;/p></description></item><item><title>A move to Windows 8 RTM (and VS2012 RTM), not too painful</title><link>https://blogs.blackmarble.co.uk/rfennell/a-move-to-windows-8-rtm-and-vs2012-rtm-not-too-painful/</link><pubDate>Thu, 16 Aug 2012 16:45:49 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/a-move-to-windows-8-rtm-and-vs2012-rtm-not-too-painful/</guid><description>
&lt;p>First I thought I could do an in-place upgrade of my Windows 8RC PC, turns out you can’t (not sure if it would have been wise anyway) so it was format disk time.&lt;/p>
&lt;p>I had hoped for a seamless install of Windows 8, but it hung after detecting devices. It seems it was the ‘old problem’ down to &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/post/2012/06/01/Windows-8-RP-and-my-Lenovo-W520.aspx">Lenovo/Nvidia Optimus graphics drivers&lt;/a> issues. So I checked my bios settings which were set to Nvidia Optimus mode disabled (the only way I could get the RC to install), and changed it to Optimus mode enable and the install all worked without an issue. However though as a laptop it work find,  including with a second external monitor. I did have to set Optimus back to disabled and run in discrete video mode if I wanted to use a projector. It seems the Optimus mode certainly gets confused with the Benq projector we have in the office, it will allow you to extend your desktop but not duplicate it. As soon as you switch back to discrete graphic mode all is OK (though you do lose the ability to run two external monitors)&lt;/p></description></item><item><title>Moving podcast subscriptions with Zune</title><link>https://blogs.blackmarble.co.uk/rfennell/moving-podcast-subscriptions-with-zune/</link><pubDate>Thu, 16 Aug 2012 16:29:59 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/moving-podcast-subscriptions-with-zune/</guid><description>
&lt;p>If like me you listen to many podcasts, then swapping the PC your Phone7 syncs to collect the podcasta is a real pain. The problem being as far as I can see Zune has no podcast subscription export/import, so you are left with a lot of copy typing to re-enter them.&lt;/p>
&lt;p>Whilst rebuilding my PC with Windows 8 today I have at least found a work around&lt;/p>
&lt;ol>
&lt;li>On your old Pc open you ‘c:user[user]My Podcasts’ folder (shown in Windows Explorer as the ‘Podcast’ folder).&lt;/li>
&lt;li>You will see a folder for each podcast you are subscribed to&lt;/li>
&lt;li>Copy the whole folder to the same location on your new PC (I did via a USB drive as I was reformatting the disk on the same PC)&lt;/li>
&lt;li>Install Zune on the new PC&lt;/li>
&lt;li>Open Zune and look in the Collection&amp;gt;Podcasts, you should see all your podcast – but your are not subscribed yet&lt;/li>
&lt;li>In Zune, highlight and select all podcasts&lt;/li>
&lt;li>Right click and you should see  a Subscribe option, select it.&lt;/li>
&lt;li>Zune now sorts itself out re-subscribing and checking for new programmes&lt;/li>
&lt;li>It gets a bit confused over what you have watched so might pull them down again. Also you might want to alter subscription settings for specific podcasts as it will default back to just 3 programmes.&lt;/li>
&lt;li>When you are happy with your settings just drag the podcasts onto your newly resync’d mobile device to finish the job.&lt;/li>
&lt;li>You might need to look at the podcasts that are on the device as seems it does not removed one previously there via Zune (again it seems unsure of what you have listened too)&lt;/li>
&lt;/ol>
&lt;p>Not perfect but better than trying to removed load of site URLs&lt;/p></description></item><item><title>Visual Studio 2012 RTM and the ALM Rangers SIM Ship best practice guidance</title><link>https://blogs.blackmarble.co.uk/rfennell/visual-studio-2012-rtm-and-the-alm-rangers-sim-ship-best-practice-guidance/</link><pubDate>Thu, 16 Aug 2012 10:07:13 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/visual-studio-2012-rtm-and-the-alm-rangers-sim-ship-best-practice-guidance/</guid><description>
&lt;p>Overnight &lt;a href="http://msdn.microsoft.com/en-US/">Visual Studio and TFS 2012 became available on MSDN&lt;/a> for download; I really pleased to say that the &lt;a href="http://blogs.msdn.com/b/willy-peter_schaub/archive/2012/08/15/cowabunga-visual-studio-alm-rangers-readiness-gig-goes-rtm.aspx">ALM Rangers also SIM shipped all our 2012 guidance at the same time&lt;/a>. &lt;/p>
&lt;p>I have been working on two of the Ranger project for the past year and have to say I have learnt a lot working with such a great crowd of Microsoft and external TFS experts. Some stuff I learnt was about the 2012 release it is true, but there was plenty on working with a a globally distributed team with a whole host of logistical and time constraints.&lt;/p></description></item><item><title>TF900546 error on a TFS 2012 build</title><link>https://blogs.blackmarble.co.uk/rfennell/tf900546-error-on-a-tfs-2012-build/</link><pubDate>Thu, 09 Aug 2012 12:27:46 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/tf900546-error-on-a-tfs-2012-build/</guid><description>
&lt;p>Whilst moving over to our new TFS 2012 installation I got the following error when a build tried to run tests&lt;/p>
&lt;p>&lt;em>TF900546: An unexpected error occurred while running the RunTests activity: 'Unable to load one or more of the requested types. Retrieve the LoaderExceptions property for more information.'.&lt;/em>&lt;/p>
&lt;p>This was a new one on me, and nothing of much use on the web other than a &lt;a href="http://msdn.microsoft.com/en-us/library/tfs/microsoft.teamfoundation.build.workflow.activities.activitiesresources.unexpectedagiletestplatformexception%28v=vs.110%29.aspx">basic MSDN page&lt;/a>.&lt;/p>
&lt;p>Turns out the immediate fix is to just restart the build controller. Initially I did this after switching to the default build process template, and setting it to NOT load any custom activities, but I seems a simple restart would have been enough as once I re-enabled all custom activities it still worked.&lt;/p></description></item><item><title>At last my Nokia Lumia 800 gets its firmware upgrade to allow tethering</title><link>https://blogs.blackmarble.co.uk/rfennell/at-last-my-nokia-lumia-800-gets-its-firmware-upgrade-to-allow-tethering/</link><pubDate>Tue, 07 Aug 2012 14:14:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/at-last-my-nokia-lumia-800-gets-its-firmware-upgrade-to-allow-tethering/</guid><description>
&lt;p>At last my Nokia Lumia 800 gets its firmware upgrade to allow tethering. The &lt;a href="http://www.nokia.com/gb-en/support/product/lumia800/">8773&lt;/a> update seems to be made up of three updates, two operating system ones (&lt;a href="http://www.engadget.com/2011/09/28/psa-force-windows-phone-7-5-mango-to-update-right-now/">which I managed to force down in the usual way&lt;/a>), but this Nokia firmware one has taken weeks to get to me, forcing did not help. I had to wait.&lt;/p>
&lt;p>&lt;a href="http://discussions.nokia.com/t5/Nokia-with-Windows-Phone/Got-8773-update-in-uk-but-no-firmware-update/td-p/1489210">I don’t think I am alone&lt;/a> in not being too impressed with the update process. The throttling/delaying update process is probably Ok for the man in the street, who just wants a working phone, but there should be an easier way to get updates if you want/need them ASAP for development purposes or are trying to run consistent versions for all phones in an organisation.&lt;/p></description></item><item><title>Using an internal Nuget server to manage the Typemock assembly references.</title><link>https://blogs.blackmarble.co.uk/rfennell/using-an-internal-nuget-server-to-manage-the-typemock-assembly-references/</link><pubDate>Mon, 06 Aug 2012 10:38:51 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/using-an-internal-nuget-server-to-manage-the-typemock-assembly-references/</guid><description>
&lt;p>In &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/post/2012/08/04/Getting-Typemock-Isolator-running-within-a-TFS-2012-build.aspx">my last post&lt;/a> I discussed the process I needed to go through to get &lt;a href="http://www.typemock.com">Typemock Isolator&lt;/a> running under TFS 2012. In this process I used the Auto Deploy feature of Isolator. However this raised the  question of how to manage the references within projects. You cannot just assume the Typemock assemblies are in the GAC, they are not on the build box using auto deploy. You could get all projects to reference the auto deployment location in source control. However, if you use build process templates across projects it might be you do not want to have production code referencing build tools in the build process are directly.&lt;/p></description></item><item><title>Getting Typemock Isolator running within a TFS 2012 build</title><link>https://blogs.blackmarble.co.uk/rfennell/getting-typemock-isolator-running-within-a-tfs-2012-build/</link><pubDate>Sat, 04 Aug 2012 12:01:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/getting-typemock-isolator-running-within-a-tfs-2012-build/</guid><description>
&lt;p>&lt;em>&lt;strong>Update 23rd Aug 2012:&lt;/strong> This blog post was produced testing against the 2012RC, seems it does not work against the 2012 RTM release. I am seeing the error in my build logs&lt;/em>&lt;/p>
&lt;p>_ TF900546: An unexpected error occurred while running the RunTests activity: 'Executor process exited._&lt;/p>
&lt;p>&lt;em>I am looking into this, expect to see a new blog post soon&lt;/em>&lt;/p>
&lt;p>&lt;em>&lt;strong>Update 24th Aug 2012&lt;/strong>: I have fixed the issues with TFS2012RTM, the links to zip containing a working version of the activity in this post should now work. &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/post/2012/08/24/Getting-Typemock-Isolator-running-within-a-TFS-2012-build-part-2.aspx">For more details see my follow up part 2 post&lt;/a>&lt;/em>&lt;/p></description></item><item><title>Audio problem on Windows 8 RP and Lenovo W520 with Lync 2013</title><link>https://blogs.blackmarble.co.uk/rfennell/audio-problem-on-windows-8-rp-and-lenovo-w520-with-lync-2013/</link><pubDate>Tue, 31 Jul 2012 09:33:34 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/audio-problem-on-windows-8-rp-and-lenovo-w520-with-lync-2013/</guid><description>
&lt;p>I have been really pleased with Windows 8 RP on my Lenovo W520, I have had no major problems. I have seen the issues with slow start-up of networking after a sleep as others have seen, but nothing else.&lt;/p>
&lt;p>However today I tried to do a Lync audio call with Lync 2013 Beta and found I had no audio. Up to now I had just used the drivers Windows 8 installed which had seemed OK. It turns out I had to install the &lt;a href="http://download.lenovo.com/ibmdl/pub/pc/pccbbs/mobiles/8aad11ww.exe">Conexant Audio Software&lt;/a>  8.32.23.5 from the Lenovo site. Once I did this and Lync was restarted the audio leapt into life. As I remember I had a similar issue with Windows 7 and getting the audio to work correctly on my Lenovo base station.&lt;/p></description></item><item><title>Two problems editing TFS2012 build workflows with the same solution</title><link>https://blogs.blackmarble.co.uk/rfennell/two-problems-editing-tfs2012-build-workflows-with-the-same-solution/</link><pubDate>Mon, 30 Jul 2012 20:27:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/two-problems-editing-tfs2012-build-workflows-with-the-same-solution/</guid><description>
&lt;p>&lt;em>&lt;strong>Updated 30th Aug 2012:&lt;/strong> This post is specific to TFS/VS 2012 RC - &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/post/2012/08/30/Type-InArgument%28mtbwaBuildSettings%29-of-property-BuildSettings-errors-in-TFS-2012-RTM-builds.aspx">for details on the RTM see this updated post&lt;/a>&lt;/em>&lt;/p>
&lt;p>Whilst moving over to our new TFS2012 system I have been editing build templates, pulling the best bits from the selection of templates we used in 2010 into one master build process to be used for most future projects. Doing this I have hit a couple of problems, turns out the cure is the same for both&lt;/p></description></item><item><title>SUR-40 (what used to be a Surface) event at Leeds Sharp User group</title><link>https://blogs.blackmarble.co.uk/rfennell/sur-40-what-used-to-be-a-surface-event-at-leeds-sharp-user-group/</link><pubDate>Mon, 30 Jul 2012 11:19:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/sur-40-what-used-to-be-a-surface-event-at-leeds-sharp-user-group/</guid><description>
&lt;p>I am pleased to say that Black Marble will be doing a session at the &lt;a href="http://leeds-sharp.org/">Leeds Sharp User group on the evening of the 30th of August&lt;/a> on the [Samsung SUR40 with Microsoft PixelSense (what used to be call a Surface2)](&lt;a href="http://www.blackmarble.co.uk/SectionDisplay.aspx?name=Specialisations&amp;amp;subsection=Samsung">http://www.blackmarble.co.uk/SectionDisplay.aspx?name=Specialisations&amp;subsection=Samsung&lt;/a> SUR40 (Surface 2)).&lt;/p>
&lt;p>Should be an interesting session as we will be bringing one of our &lt;a href="http://www.blackmarble.co.uk/SurfaceRental.aspx">rental units&lt;/a> along for everyone to have a go on.&lt;/p></description></item><item><title>DDD10 registration open</title><link>https://blogs.blackmarble.co.uk/rfennell/ddd10-registration-open/</link><pubDate>Mon, 30 Jul 2012 11:10:17 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/ddd10-registration-open/</guid><description>
&lt;p>&lt;a href="http://developerdeveloperdeveloper.com/ddd10/Default.aspx">DDD10 registration opens today&lt;/a>, and probably closes about 10 minutes later (server overloads allowing) from past experience. If you can’t make the date, or the don’t fancy the trip down south to TVP remember &lt;a href="http://developerdeveloperdeveloper.com/north2/">DDDNorth in October at Bradford University&lt;/a> has many of the same speakers and is located in a far more convenient Yorkshire location.&lt;/p></description></item><item><title>Problems I had to address when setting up TFS 2012 Lab Environments with existing Hyper-V VMs</title><link>https://blogs.blackmarble.co.uk/rfennell/problems-i-had-to-address-when-setting-up-tfs-2012-lab-environments-with-existing-hyper-v-vms/</link><pubDate>Mon, 23 Jul 2012 23:23:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/problems-i-had-to-address-when-setting-up-tfs-2012-lab-environments-with-existing-hyper-v-vms/</guid><description>
&lt;p>Whilst moving all our older test Hyper-V VMs into a new TFS 2012 Lab Management instance I have had to address a few problems. I already &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/post/2012/07/20/Getting-TFS-2012-Agents-to-communicate-cross-domain.aspx">posted about the main one of cross domain communications&lt;/a>. This post aims to list the other workaround I have used.&lt;/p>
&lt;p>&lt;strong>MTM can’t communicate with the VMs&lt;/strong>&lt;/p>
&lt;p>When setting up an environment that includes existing VMs it is vital that the PC running MTM |(Lab Center) can communicate with all the VMs involved. The best indication I have found that you will not have problems is to use a simple Ping. If you are creating a SCVMM environment you need to be able to Ping the fully qualified machine name as it has been picked up by Hyper-V e.g: server1.test.local. If creating a standard environment you only need to be able to Ping the name you specify for the machine e.g: server1 or maybe server.corp.com.&lt;/p></description></item><item><title>Getting TFS 2012 Agents to communicate cross domain</title><link>https://blogs.blackmarble.co.uk/rfennell/getting-tfs-2012-agents-to-communicate-cross-domain/</link><pubDate>Fri, 20 Jul 2012 16:27:32 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/getting-tfs-2012-agents-to-communicate-cross-domain/</guid><description>
&lt;p>I don’t know about your systems but historically we have had VMs running in test domains that are connected to our corporate LAN. Thus allowing our staff and external testers to access them from their development PCs or through our firewall after providing suitable &lt;strong>test&lt;/strong> domain credentials. These test setups are great candidates for the new TFS Lab Management 2012 feature Standard environments. It does not matter if they are hosted as physical devices, or on Hyper-V or VMware.&lt;/p></description></item><item><title>Where did my custom Word templates go in 2013?</title><link>https://blogs.blackmarble.co.uk/rfennell/where-did-my-custom-word-templates-go-in-2013/</link><pubDate>Wed, 18 Jul 2012 11:43:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/where-did-my-custom-word-templates-go-in-2013/</guid><description>
&lt;p>I installed Office 2013 customer preview yesterday and all seemed good. Today I needed to create a new document using one of our company standard templates. I opened Word, went to the new document section and was presented with a list of great looking templates, but not my custom ones. The page suggested I used search to find more templates, it did find more templates from the Internet, but did not find my locally stored ones.&lt;/p></description></item><item><title>_atomic_fetch_sub_4 error running VS2012RC after Office 2013 Customer Preview is installed</title><link>https://blogs.blackmarble.co.uk/rfennell/_atomic_fetch_sub_4-error-running-vs2012rc-after-office-2013-customer-preview-is-installed/</link><pubDate>Tue, 17 Jul 2012 12:59:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/_atomic_fetch_sub_4-error-running-vs2012rc-after-office-2013-customer-preview-is-installed/</guid><description>
&lt;p>When I installed &lt;a href="http://www.microsoft.com/office/preview/en?WT.mc_id=MSCOM_EN_US_HP_FEATUREWORK_131L1ENUS21367">Office 2013 customer preview&lt;/a> all seemed good, loads of new metro look Office features. However when I tried to load my previously working &lt;a href="http://www.microsoft.com/visualstudio/11/en-us/downloads">Visual Studio 2012RC&lt;/a> I got the error&lt;/p>
&lt;p>“The procedure entry point _atomic_fetch_sub_4 could not be located in the dynamic link library devenv.exe”.&lt;/p>
&lt;p>&lt;a href="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_48.png">&lt;img
loading="lazy"
decoding="async"
alt="image"
class="image_figure image_internal image_unprocessed"
src="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_thumb_48.png"
title="image"
/>
&lt;/a>&lt;/p>
&lt;p>This is &lt;a href="http://support.microsoft.com/kb/2703187">a known issues with the C++ runtime&lt;/a> and a &lt;a href="http://www.microsoft.com/en-us/download/details.aspx?id=30178">patch was release last week&lt;/a>, install this and all should be OK&lt;/p></description></item><item><title>Cannot access the ‘site setting’ on a reporting services instance using IE</title><link>https://blogs.blackmarble.co.uk/rfennell/cannot-access-the-site-setting-on-a-reporting-services-instance-using-ie/</link><pubDate>Fri, 13 Jul 2012 12:28:40 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/cannot-access-the-site-setting-on-a-reporting-services-instance-using-ie/</guid><description>
&lt;p>On site recently I had a problem that I could not access the site settings in reporting services if I used Internet Explorer from an client PC. IE worked fine on the server and other browsers were OK on the client, just not IE. Initially I though it was &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/post/2011/09/21/stupid-gotchas-on-a-sql-2008-reporting-services-are-why-i-cannot-see-the-report-builder-button.aspx">just rights&lt;/a>, but that was not the case&lt;/p>
&lt;p>Turns out this is down to Kerberos negotiation as discussed in the &lt;a href="http://msdn.microsoft.com/en-us/library/cc281253.aspx">MSDN&lt;/a> article. To fix the issue, on this site where we did not need Kerberos, we just disabled Kerberos negotiation in the &lt;em>[Program files]Microsoft SQL ServerMSRS10.MSSQLSERVERReporting ServicesReportServerRSreportServer.config&lt;/em> file, e.g.&lt;/p></description></item><item><title>TFS build service cannot connect to a TFS 2012 server - seeing EventID 206 MessageQueue in error log</title><link>https://blogs.blackmarble.co.uk/rfennell/tfs-build-service-cannot-connect-to-a-tfs-2012-server-seeing-eventid-206-messagequeue-in-error-log/</link><pubDate>Thu, 12 Jul 2012 21:03:36 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/tfs-build-service-cannot-connect-to-a-tfs-2012-server-seeing-eventid-206-messagequeue-in-error-log/</guid><description>
&lt;p>Whilst setting up our new TFS 2012 instance I had a problem getting the build box to connect to the TFS server.&lt;/p>
&lt;ol>
&lt;li>When I started the build service (on a dedicated VM configured as a controller and single agent, connected to a TPC on the server on another VM). All appears OK, the controller and agents said they were running and state icons went green&lt;/li>
&lt;li>About 5 seconds later the state icons go red, but message says the controller and agents are still running, from past experience I know this means it is all dead.&lt;/li>
&lt;li>On the build service section a new ‘details’ link appears, but if you try to click it get a 404 error (see below)&lt;/li>
&lt;/ol>
&lt;p>&lt;a href="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_47.png">&lt;img
loading="lazy"
decoding="async"
alt="image"
class="image_figure image_internal image_unprocessed"
src="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_thumb_47.png"
title="image"
/>
&lt;/a>&lt;/p></description></item><item><title>Re-awarded as a MVP for Visual Studio ALM</title><link>https://blogs.blackmarble.co.uk/rfennell/re-awarded-as-a-mvp-for-visual-studio-alm/</link><pubDate>Sun, 01 Jul 2012 19:47:51 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/re-awarded-as-a-mvp-for-visual-studio-alm/</guid><description>
&lt;p>I am really happy to say that I have had my &lt;a href="http://mvp.microsoft.com/en-US/Pages/default.aspx">Microsoft MVP for Visual Studio ALM Re-awarded&lt;/a>, it is a privilege to get to work with such a great group of people as a have met via the MVP programme.&lt;/p></description></item><item><title>Microsoft Cloud Day slides</title><link>https://blogs.blackmarble.co.uk/rfennell/microsoft-cloud-day-slides/</link><pubDate>Tue, 26 Jun 2012 14:56:48 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/microsoft-cloud-day-slides/</guid><description>
&lt;p>My slides and those of other presenters at last weeks &lt;a href="http://www.elastacloud.com/Community/Details/2">Microsoft cloud day have been published&lt;/a>&lt;/p></description></item><item><title>2012 Editions of TFS books are out</title><link>https://blogs.blackmarble.co.uk/rfennell/2012-editions-of-tfs-books-are-out/</link><pubDate>Sat, 23 Jun 2012 10:14:47 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/2012-editions-of-tfs-books-are-out/</guid><description>
&lt;p>As &lt;a href="http://blogs.msdn.com/b/bharry/archive/2012/06/22/a-couple-of-great-books-on-2012.aspx">Brian Harry announced on his blog there are new 2012 editions of the two main TFS books on the way&lt;/a>. I have added links to them from &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/page/Reading-List.aspx">my reading list page&lt;/a> but as yet you can only pre-order them as the release dates are not available.&lt;/p></description></item><item><title>Why Typemock Isolator does not work on TFS 2012 Build and what you can do about it</title><link>https://blogs.blackmarble.co.uk/rfennell/why-typemock-isolator-does-not-work-on-tfs-2012-build-and-what-you-can-do-about-it/</link><pubDate>Sat, 23 Jun 2012 09:58:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/why-typemock-isolator-does-not-work-on-tfs-2012-build-and-what-you-can-do-about-it/</guid><description>
&lt;p>Update 4/Aug/2012: &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/post/2012/08/04/Getting-Typemock-Isolator-running-within-a-TFS-2012-build.aspx">See post on my implementation of a 2012 version of this activity&lt;/a>&lt;/p>
&lt;p>If you are using Typemock Isolator in your unit testing then you be wanting to include then in your automated build process. Unlike other mocking frameworks you have to do a bit of work to achieve this with Isolator, this is because to enable its advanced features of mocking items like sealed private classes you have to start the interceptor that does the magic prior to running the tests and the switch it off afterwards.&lt;/p></description></item><item><title>Next Leeds Sharp user group meeting is a coding kata session</title><link>https://blogs.blackmarble.co.uk/rfennell/next-leeds-sharp-user-group-meeting-is-a-coding-kata-session/</link><pubDate>Thu, 21 Jun 2012 08:43:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/next-leeds-sharp-user-group-meeting-is-a-coding-kata-session/</guid><description>
&lt;p>The next Leeds Sharp user group meeting on the 28th of June is a Kata session using Conway’s game of life. &lt;a href="http://leeds-sharp.org/events/2012/6">For more details see their site&lt;/a>.&lt;/p>
&lt;p>Not sure if I can make it yet have to keep an eye on my ever filling diary&lt;/p></description></item><item><title>DDDNorth session submission is open</title><link>https://blogs.blackmarble.co.uk/rfennell/dddnorth-session-submission-is-open/</link><pubDate>Mon, 18 Jun 2012 09:47:01 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/dddnorth-session-submission-is-open/</guid><description>
&lt;p>Session submission has opened for the next &lt;a href="http://developerdeveloperdeveloper.com/North2/Default.aspx">DDDNorth on the 13th October at Bradford University&lt;/a>.&lt;/p>
&lt;p>Why not submit a session?&lt;/p></description></item><item><title>Where did my Visual Studio 2010 link go from my Windows 8 desktop after I installed SSDT?</title><link>https://blogs.blackmarble.co.uk/rfennell/where-did-my-visual-studio-2010-link-go-from-my-windows-8-desktop-after-i-installed-ssdt/</link><pubDate>Wed, 13 Jun 2012 17:59:34 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/where-did-my-visual-studio-2010-link-go-from-my-windows-8-desktop-after-i-installed-ssdt/</guid><description>
&lt;p>I have been finding the ‘hit the windows key and type’ means to launch desktop applications in Windows 8 quite nice. It means I get used to the same behaviour in Windows or Ubuntu to launch things, no need to remember menu locations just type a name, all very &lt;a href="http://www.bayden.com/SlickRun/">slickrun&lt;/a> . However, I hit a problem today, I hit the windows key, typed &lt;strong>Visual&lt;/strong> and expected to see Visual Studio 2012 and 2010, but I only saw Visual Studio 2012&lt;/p></description></item><item><title>Speaking at NEBytes on TFS2010</title><link>https://blogs.blackmarble.co.uk/rfennell/speaking-at-nebytes-on-tfs2010/</link><pubDate>Tue, 12 Jun 2012 23:23:34 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/speaking-at-nebytes-on-tfs2010/</guid><description>
&lt;p>I am speaking at NEBytes next week on VS/TFS2012 with Andy Westgarth, check the &lt;a href="http://www.nebytes.net/post/NEBytes-June-2012-Enough-About-the-Colour-Tell-Me-About-VS2012.aspx">NEBytes site for details&lt;/a>&lt;/p></description></item><item><title>TFSPreview.com no longer needs an invite code</title><link>https://blogs.blackmarble.co.uk/rfennell/tfspreview-com-no-longer-needs-an-invite-code/</link><pubDate>Tue, 12 Jun 2012 14:51:59 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/tfspreview-com-no-longer-needs-an-invite-code/</guid><description>
&lt;p>At &lt;a href="http://channel9.msdn.com/Events/TechEd/NorthAmerica/2012/FDN02">TechEd USA 2012 in the keynote and the ALM session&lt;/a> it was announced that you no longer need an invite code to access the Azure hosted &lt;a href="http://www.tfspreview.com">TFSPreview.com&lt;/a>, it is now open to all.&lt;/p>
&lt;p>There are no final details as yet over the pricing when it goes fully to production but they did say there will be some form of free offering going forward. We will have to wait for more details on that front.&lt;/p></description></item><item><title>Cannot update local workspace in TFS 2012RC due to UAC</title><link>https://blogs.blackmarble.co.uk/rfennell/cannot-update-local-workspace-in-tfs-2012rc-due-to-uac/</link><pubDate>Mon, 11 Jun 2012 14:50:39 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/cannot-update-local-workspace-in-tfs-2012rc-due-to-uac/</guid><description>
&lt;p>Whilst preparing the demos for my [TFS 2012 ALM session on Wednesday (still places available of you are in the Yorkshire area)](&lt;a href="http://www.blackmarble.co.uk/events.aspx?event=How">http://www.blackmarble.co.uk/events.aspx?event=How&lt;/a> to Plan your Application Lifecycle Implementation with TFS11), I got the following error whey trying to add a new solution of sample code to TFS&lt;/p>
&lt;blockquote>
&lt;p>&lt;em>Access to the path 'C:ProgramDataMicrosoft Team Foundation Local Workspaces43519e4-72cf-4cd0-a711-f4bb8b817f30TYPHOON;432cfb95-26d6-4a68-af26-b102c950a90dproperties.tf1' is denied.&lt;/em>&lt;/p>&lt;/blockquote>
&lt;p>It seems that the ..4535… folder had been created when I was running VS2012 using ‘run as administrator’. When I tried to browse it I was prompted for UAC elevated privileges. So if I was not running VS2012 as administrator I could not access the folder. For me the solution was to just delete the folder and let VS/TFS recreate it. I had no checked out files so it did not matter.  Once done all was OK&lt;/p></description></item><item><title>Drivers needed on my Lenovo W520 with Windows 8 RP</title><link>https://blogs.blackmarble.co.uk/rfennell/drivers-needed-on-my-lenovo-w520-with-windows-8-rp/</link><pubDate>Thu, 07 Jun 2012 18:27:40 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/drivers-needed-on-my-lenovo-w520-with-windows-8-rp/</guid><description>
&lt;p>&lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/post/2012/06/01/Windows-8-RP-and-my-Lenovo-W520.aspx">I posted recently on running Win8 RP on my Lenovo W520&lt;/a>, well a few days on it is still working fine. I have adopted by usual practice of installing as few hardware vendor drivers/tool as possible, as I tend to find these make matters worse  most of the time. However, I as expected I could not only rely on just what came with Windows 8.&lt;/p>
&lt;ul>
&lt;li>On installing Windows the only device not discovered was the single device ‘Intel Chipset’, this needed the &lt;a href="http://support.lenovo.com/en_US/downloads/detail.page?DocID=HT072084">Intel Chipset Support driver&lt;/a>&lt;/li>
&lt;li>I noticed today that when on my docking station my speakers did not work. I expected to have to install the Lenovo provided audio drivers, but a check for ‘updated drivers’ on the audio device in device manager got the right ones from Windows Update.&lt;/li>
&lt;li>The fingerprint reader just work had to do nothing other than enrol my fingerprint in Control Panel –&amp;gt; Biometics, and unlike with the Lenovo version of the UI I had on Windows 7, I can now user a fingerprint to elevate my privileges via UAC. One issue seem to be the green LED by the reader does not light up, but as it works I can live with that.&lt;/li>
&lt;/ul>
&lt;p>I will report more things I need to do as I find them.&lt;/p></description></item><item><title>TF215097 when running a build</title><link>https://blogs.blackmarble.co.uk/rfennell/tf215097-when-running-a-build/</link><pubDate>Thu, 07 Jun 2012 18:16:53 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/tf215097-when-running-a-build/</guid><description>
&lt;p>I have been working on one of our build boxes today restructuring our &lt;a href="http://www.blackmarble.co.uk/surface">Surface solutions&lt;/a> to make better of Nuget. This involved upgraded the Azure SDK on the build box to the new &lt;a href="http://www.windowsazure.com/en-us/develop/downloads/">June release&lt;/a>, which needed a reboot halfway through the process. After the reboot and tried a new build I got the error&lt;/p>
&lt;blockquote>
&lt;p>&lt;em>TF215097: An error occurred while initializing a build for build definition SurfaceRetailApplication.Main CI: Could not load file or assembly 'System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)&lt;/em>&lt;/p></description></item><item><title>DDD North to be held at Bradford University on 13th October</title><link>https://blogs.blackmarble.co.uk/rfennell/ddd-north-to-be-held-at-bradford-university-on-13th-october/</link><pubDate>Thu, 07 Jun 2012 10:53:59 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/ddd-north-to-be-held-at-bradford-university-on-13th-october/</guid><description>
&lt;p>This years DDD North is to be held at Bradford University on 13th October, keep an eye open for the call for speakers&lt;/p></description></item><item><title>Windows 8 RP and my Lenovo W520</title><link>https://blogs.blackmarble.co.uk/rfennell/windows-8-rp-and-my-lenovo-w520/</link><pubDate>Fri, 01 Jun 2012 22:49:28 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/windows-8-rp-and-my-lenovo-w520/</guid><description>
&lt;p>I tried to install the &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/post/2011/09/14/first-try-with-windows8-and-it-won-t-boot.aspx">Windows 8 CP on my Lenovo W520 with no success as I posted about in the past&lt;/a>.I was only able to install Windows 8 CP only if I disabled the Nvidia graphics card and just used the integrated Intel controller. This was of no real use as I need dual monitors.&lt;/p>
&lt;p>With the release of Windows 8 RP I though I would try again.&lt;/p>
&lt;p>The first attempt failed with the same problem, it hung detecting devices. I check the BIOS and noticed I was set to discrete only (the Nvidia setting). I knew the RP should work on the W520 as other at the office have got it working. So I changed the BIOS to Nvidia Optimus (the auto swap system between Intel and Nivdia) and tried again – and it worked. So this is the first post from Windows 8.&lt;/p></description></item><item><title>ALM Rangers sim-ship guidance with the VS11 RC</title><link>https://blogs.blackmarble.co.uk/rfennell/alm-rangers-sim-ship-guidance-with-the-vs11-rc/</link><pubDate>Fri, 01 Jun 2012 08:50:26 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/alm-rangers-sim-ship-guidance-with-the-vs11-rc/</guid><description>
&lt;p>I am really proud to have been involved in the team of ALM Rangers who have &lt;a href="http://blogs.msdn.com/b/visualstudioalm/archive/2012/05/31/welcome-to-visual-studio-2012-alm-rangers-readiness-rc-wave.aspx">&lt;strong>SIM&lt;/strong>ultaneous-&lt;strong>SHIP&lt;/strong>ped best practice guidance with Visual Studio 11 RC&lt;/a>, which became available last night**.**&lt;/p>
&lt;p>I am sure anyone working with Visual Studio and TFS will find the guidance of value, I have certainly learned a lot whilst helping produce the material. It has been a great experience working with a great crowd of people both inside and outside of Microsoft.&lt;/p></description></item><item><title>First meeting of the Leeds-Sharp user group</title><link>https://blogs.blackmarble.co.uk/rfennell/first-meeting-of-the-leeds-sharp-user-group/</link><pubDate>Fri, 01 Jun 2012 07:57:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/first-meeting-of-the-leeds-sharp-user-group/</guid><description>
&lt;p>Last night I attended the first meeting of the &lt;a href="http://leeds-sharp.org/">new .NET user group Leeds Sharp&lt;/a>. This is a flavour of user group we don’t have in Leeds; we have SQL, Ruby, Agile user groups, the list goes on, but not a dedicated .NET one. So hopefully this .NET usergroup will take off. Especially as Microsoft conveniently decided to launch &lt;a href="http://windows.microsoft.com/en-US/windows-8/download">Windows  8 Release Preview&lt;/a> and &lt;a href="http://blogs.msdn.com/b/bharry/archive/2012/05/31/visual-studio-tfs-2012-release-candidate-available-today.aspx">Visual Studio 11 RC&lt;/a> during our opening session, so there are loads of new subjects to talk about.&lt;/p></description></item><item><title>Solution to “We couldn't get your developer Licence for Windows 8 Consumer Preview” on Win8 Server beta</title><link>https://blogs.blackmarble.co.uk/rfennell/solution-to-we-couldnt-get-your-developer-licence-for-windows-8-consumer-preview-on-win8-server-beta/</link><pubDate>Tue, 29 May 2012 10:38:52 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/solution-to-we-couldnt-get-your-developer-licence-for-windows-8-consumer-preview-on-win8-server-beta/</guid><description>
&lt;p>Whilst preparing for the &lt;a href="http://www.blackmarble.co.uk/events.aspx?event=A%20Day%20with%20Windows%208">Black Marble Windows 8 event tomorrow (still places available for this free event)&lt;/a> I hit problem with VS11Beta and Metro projects.&lt;/p>
&lt;p>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.&lt;/p>
&lt;ol>
&lt;li>
&lt;p>I installed VS11 Ultimate 11 Beta on both devices&lt;/p>
&lt;/li>
&lt;li>
&lt;p>On the Win8 Tablet I loaded the VS11 remote debugger monitor&lt;/p></description></item><item><title>On the panel at Tech.Days: Visual Studio 11 Online Event</title><link>https://blogs.blackmarble.co.uk/rfennell/on-the-panel-at-tech-days-visual-studio-11-online-event/</link><pubDate>Mon, 28 May 2012 21:08:50 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/on-the-panel-at-tech-days-visual-studio-11-online-event/</guid><description>
&lt;p>A while ago I recorded a video &lt;a href="http://channel9.msdn.com/Events/TechDays/UK-Tech-Days/Visual-Studio-Team-Foundation-for-Everyone">Visual Studio Team Foundation for Everyone&lt;/a>, this forms part of &lt;a href="http://blogs.msdn.com/b/ukmsdn/archive/2012/05/21/tech-days-visual-studio-11-online-event-28th-june-2012-1pm-to-3pm.aspx">Tech.Days: Visual Studio 11 Online Event, 28th June 2012, 1pm to 3pm&lt;/a>. To lift the agenda from the MSDN site&lt;/p>
&lt;p>&lt;em>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 &amp;amp; Scrum Masters to developers and testers.&lt;/em>&lt;/p></description></item><item><title>Skydrive pushes me over my broadband usage</title><link>https://blogs.blackmarble.co.uk/rfennell/skydrive-pushes-me-over-my-broadband-usage/</link><pubDate>Mon, 28 May 2012 21:00:46 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/skydrive-pushes-me-over-my-broadband-usage/</guid><description>
&lt;p>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?&lt;/p>
&lt;p>This bill was nearly double, why?&lt;/p>
&lt;p>I think it was mostly due to setting up &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/post/2012/04/26/Thoughts-on-the-new-Skydrive.aspx">Skydrive&lt;/a> to mirror my family photos and video as a backup, though this can’t explain it all, but then again my son as found &lt;a href="http://www.roblox.com/">Roblox&lt;/a>. In each month I went over my &lt;a href="http://bt.custhelp.com/app/answers/detail/a_id/10495/c/346/?s_cid=con_FURL_broadbandusagepolicy">usage&lt;/a> it was costing me £5 a 5Gb block. It adds up fast.&lt;/p></description></item><item><title>DDD South West session on Unit testing in VS11</title><link>https://blogs.blackmarble.co.uk/rfennell/ddd-south-west-session-on-unit-testing-in-vs11/</link><pubDate>Sat, 26 May 2012 13:04:09 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/ddd-south-west-session-on-unit-testing-in-vs11/</guid><description>
&lt;p>Thanks to everyone who attended my session at &lt;a href="http://dddsouthwest.com">DDDSW&lt;/a> today. The session was completely demo driven so no slides to share, but the contents of the session is covered in the blog posts&lt;/p>
&lt;ul>
&lt;li>
&lt;p>&lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/post/2012/03/27/Unit-testing-in-VS11Beta-and-getting-your-tests-to-run-on-the-new-TFSPreview-build-service.aspx">Unit testing in VS11Beta and getting your tests to run on the new TFSPreview build service&lt;/a>&lt;/p>
&lt;/li>
&lt;li>
&lt;h4 id="now-that-vs11-has-a-fake-library-do-i-still-need-typemock-isolator-to-fake-out-sharepoint">&lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/post/2012/03/23/Now-that-VS11-has-a-fake-library-do-I-still-need-Typemock-Isolator-to-fake-out-SharePoint.aspx">Now that VS11 has a fake library do I still need Typemock Isolator to fake out SharePoint?&lt;/a>&lt;/h4>
&lt;/li>
&lt;li>
&lt;h4 id="more-on-using-the-vs11-fake-library-to-fake-out-sharepoint">&lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/post/2012/05/05/More-on-using-the-VS11-fake-library-to-fake-out-SharePoint.aspx">More on using the VS11 fake library to fake out SharePoint&lt;/a>&lt;/h4>
&lt;/li>
&lt;/ul></description></item><item><title>Links for todays Typemock webinar</title><link>https://blogs.blackmarble.co.uk/rfennell/links-for-todays-typemock-webinar/</link><pubDate>Tue, 22 May 2012 13:39:22 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/links-for-todays-typemock-webinar/</guid><description>
&lt;p>Thanks to everyone who attended my Typemock Isolator and SharePoint session. The links I mentioned were&lt;/p>
&lt;ul>
&lt;li>&lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/post/2010/04/22/mocking-sharepoint-for-design-with-typemock-isolator.aspx">Mocking Sharepoint for Design with Typemock Isolator&lt;/a>&lt;/li>
&lt;li>&lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/post/2011/09/06/update-on-using-typemock-isolator-to-allow-webpart-development-without-a-sharepoint-server.aspx">Mocking SP2010 64bit Assemblies with Typemock Isolator&lt;/a> &lt;/li>
&lt;/ul>
&lt;p>I will post a link to the recording as soon as it is made available&lt;/p></description></item><item><title>Upgrading our blog server from BlogEngine 2.5 to 2.6</title><link>https://blogs.blackmarble.co.uk/rfennell/upgrading-our-blog-server-from-blogengine-2-5-to-2-6/</link><pubDate>Mon, 21 May 2012 20:51:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/upgrading-our-blog-server-from-blogengine-2-5-to-2-6/</guid><description>
&lt;p>&lt;a href="http://www.dotnetblogengine.net/post/The-Next-Chapter-of-BlogEngineNET-Version-26.aspx">A week ago version 2.6 of BlogEngine.net was released&lt;/a>. This has plenty of new features such as a new &lt;a href="http://dotnetblogengine.net/image.axd?picture=2012%2f4%2ffilemanager.png">file manager&lt;/a>  and &lt;a href="http://dotnetblogengine.net/image.axd?picture=2012%2f4%2fimagetools.png">image tools&lt;/a>, but for us the most important was &lt;a href="http://allben.net/post/2012/04/15/New-Multiple-Blog-Feature-Site-Aggregation.aspx">site aggregation&lt;/a>.&lt;/p>
&lt;p>As &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/post/2011/12/08/My-experiences-moving-to-BlogEngineNET.aspx">I posted about previously, we moved to BlogEngine from Community Server&lt;/a> 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 &lt;a href="http://allben.net/post/2012/04/15/New-Multiple-Blog-Feature-Site-Aggregation.aspx">out the box&lt;/a>.&lt;/p></description></item><item><title>New .NET usergroup in Leeds</title><link>https://blogs.blackmarble.co.uk/rfennell/new-net-usergroup-in-leeds/</link><pubDate>Thu, 17 May 2012 20:17:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/new-net-usergroup-in-leeds/</guid><description>
&lt;p>Please to say there is a &lt;a href="http://leeds-sharp.org/">new .NET usergroup leeds-sharp.org&lt;/a> in Leeds, their inaugural meeting is on the 31st of May. I hope to be able to make it if I am in Yorkshire that day.&lt;/p></description></item><item><title>A bit busy with upcoming presentations</title><link>https://blogs.blackmarble.co.uk/rfennell/a-bit-busy-with-upcoming-presentations/</link><pubDate>Tue, 15 May 2012 11:22:08 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/a-bit-busy-with-upcoming-presentations/</guid><description>
&lt;p>I am a bit busy with upcoming  presentations, all of which are free to attend&lt;/p>
&lt;ul>
&lt;li>Monday 21st May - &lt;a href="http://www.blackmarble.co.uk/events.aspx?event=How%20to%20Kickstart%20your%20ALM%20Process%20%28Online%29">Black Marble Webinar ‘How to Kick start your ALM Process ‘&lt;/a>&lt;/li>
&lt;li>Tuesday 22nd May – &lt;a href="http://www.typemock.com/using-typemock-isolator-to-speed-up-sharepoint-development-may-webinar">Typemock Webinar ‘Using Typemock Isolator to speed up the development of SharePoint Web Parts’&lt;/a>&lt;/li>
&lt;li>Saturday 26th May – &lt;a href="http://www.dddsouthwest.com/Agenda/tabid/55/Default.aspx">DDD South West (Bristol) ‘Unit Testing with Visual Studio 11 Beta’&lt;/a>&lt;/li>
&lt;li>Wednesday 30th May – &lt;a href="http://www.blackmarble.co.uk/events.aspx?event=A%20Day%20with%20Windows%208">Black Marble (Holiday Inn Leeds) ‘A day with Windows 8’&lt;/a> – I’m talking on development in the afternoon&lt;/li>
&lt;li>Wednesday 13th  June  - &lt;a href="http://www.blackmarble.co.uk/events.aspx?event=How%20to%20Plan%20your%20Application%20Lifecycle%20Implementation%20with%20TFS11">Black Marble (BM Offices) ‘How to Plan your Application Lifecycle Implementation with TFS11’&lt;/a>&lt;/li>
&lt;li>Wednesday 20th June – &lt;a href="http://www.nebytes.net/category/events.aspx">NEBytes (Newcastle) ‘Overview of Visual Studio/TFS 11’&lt;/a>  - Event To be confirmed&lt;/li>
&lt;li>Friday 22 June – &lt;a href="http://azureconference2012.eventbrite.com/?ebtv=C&amp;amp;ebtv=">Black Marble Architect Track at the Microsoft Cloud Day (London)&lt;/a> – My subject to be confirmed&lt;/li>
&lt;/ul>
&lt;p>I think that is all for now; wow a looks worse when they are all written down in one place. I better get writing….&lt;/p></description></item><item><title>Interested in Windows 8 Development?</title><link>https://blogs.blackmarble.co.uk/rfennell/interested-in-windows-8-development/</link><pubDate>Sun, 13 May 2012 16:15:16 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/interested-in-windows-8-development/</guid><description>
&lt;p>Are you interested in Windows 8 Development?&lt;/p>
&lt;p>Well if you are Black Marble are running  &lt;a href="http://www.blackmarble.co.uk/events.aspx?event=A%20Day%20with%20Windows%208">a free event on Windows 8 on the 30th of May in Leeds&lt;/a>.&lt;/p>
&lt;p>Also Jon Fowler, one of our development leads has just started a series of &lt;a href="http://blogs.blackmarble.co.uk/blogs/jfowler/post/2012/05/12/Converting-Prism-to-Net-for-Metro-Style-Apps.aspx">blog posts on converting Prims to .NET for Windows 8 metro style apps&lt;/a>. This is all tied to his port of &lt;a href="http://metroprism.codeplex.com/">Prism to Metro which you can download from Codeplex&lt;/a>&lt;/p>
&lt;p>Enjoy….&lt;/p></description></item><item><title>DDD10 1st September 2012</title><link>https://blogs.blackmarble.co.uk/rfennell/ddd10-1st-september-2012/</link><pubDate>Sat, 12 May 2012 17:46:14 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/ddd10-1st-september-2012/</guid><description>
&lt;p>I see after a few days of issues the &lt;a href="http://developerdeveloperdeveloper.com/ddd10/">DDD10 site&lt;/a> is back up and ready for submission. I have submitted a session, why don’t you – it will be fun!&lt;/p>
&lt;ul>
&lt;li>08/05 – Call for speakers opens&lt;/li>
&lt;li>02/07 – Call for speakers closes&lt;/li>
&lt;li>03/07 – Voting opens&lt;/li>
&lt;li>24/07 – Voting closes&lt;/li>
&lt;li>27/07 – Schedule opens&lt;/li>
&lt;li>30/07 – Registration opens&lt;/li>
&lt;li>01/09 – DDD10&lt;/li>
&lt;/ul></description></item><item><title>Doing a webinar on Typemock Isolator and Sharepoint</title><link>https://blogs.blackmarble.co.uk/rfennell/doing-a-webinar-on-typemock-isolator-and-sharepoint/</link><pubDate>Thu, 10 May 2012 23:05:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/doing-a-webinar-on-typemock-isolator-and-sharepoint/</guid><description>
&lt;p>I am  presenting a webinar on Typemock Isolator and Sharepoint on the 22nd of May. &lt;a href="http://www.typemock.com/using-typemock-isolator-to-speed-up-sharepoint-development-may-webinar">For more details and to register see the Typemock site&lt;/a>&lt;/p></description></item><item><title>You do that that PS2 keyboard on that old PC, not a USB one</title><link>https://blogs.blackmarble.co.uk/rfennell/you-do-that-that-ps2-keyboard-on-that-old-pc-not-a-usb-one/</link><pubDate>Thu, 10 May 2012 12:52:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/you-do-that-that-ps2-keyboard-on-that-old-pc-not-a-usb-one/</guid><description>
&lt;p>Whilst using &lt;a href="http://www.dban.org/">DBAN&lt;/a> to clean down some very old PCs for disposal to new homes at good causes I hit a stupid gotcha.&lt;/p>
&lt;p>I booted off the DBAN CDRom but could not continue beyond the first screen as it did not detect I had pressed the return key.&lt;/p>
&lt;p>Turns out the PCs were so old that, though their BIOS allowed USB keyboards (and I could enter setup and edit BIOS settings with a USB keyboard) the Linux kernel on the CDRom could not detect them. Once I switched to an old PS2 keyboard it all worked fine.&lt;/p></description></item><item><title>A fix for my failure to login to TFSpreview.com problems</title><link>https://blogs.blackmarble.co.uk/rfennell/a-fix-for-my-failure-to-login-to-tfspreview-com-problems/</link><pubDate>Thu, 10 May 2012 10:49:56 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/a-fix-for-my-failure-to-login-to-tfspreview-com-problems/</guid><description>
&lt;p>I use a number of site collections on the Azure hosted Team Foundations Service (&lt;a href="http://tfspreview.com">http://tfspreview.com&lt;/a>); I have just solved a problem that I could not login to one of them via Visual Studio (2010, Dev11 or also TEE 11, I tried then all), but I could login to my other collections. Also I could access the collection if I logged in via a browser, just not with VS; all very good for work item management, but not much help for source code check-ins.&lt;/p></description></item><item><title>TFS Build error, 'Index (zero based) must be greater than or equal to zero and less than the size of the argument list” when building XAML projects</title><link>https://blogs.blackmarble.co.uk/rfennell/tfs-build-error-index-zero-based-must-be-greater-than-or-equal-to-zero-and-less-than-the-size-of-the-argument-list-when-building-xaml-projects/</link><pubDate>Wed, 09 May 2012 16:45:59 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/tfs-build-error-index-zero-based-must-be-greater-than-or-equal-to-zero-and-less-than-the-size-of-the-argument-list-when-building-xaml-projects/</guid><description>
&lt;p>We had an interesting issue of late building a &lt;a href="http://www.blackmarble.co.uk/SectionDisplay.aspx?name=News&amp;amp;title=Rent%20your%20Samsung%20SUR40%20for%20Microsoft%20Surface%20from%20Black%20Marble">Surface2 application solution&lt;/a> within a TFS 2010 build system. The solution built fine in VS2010 on both my development PC and also using VS2010 on my TFS build box (both Windows 7 64bit PC), so I know I had all the right SDKs in place. However if I built it via TFS 2010 Team Build I got the error&lt;/p>
&lt;p>&lt;a href="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_40.png">&lt;img
loading="lazy"
decoding="async"
alt="image"
class="image_figure image_internal image_unprocessed"
src="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_thumb_40.png"
title="image"
/>
&lt;/a>&lt;/p></description></item><item><title>More on using the VS11 fake library to fake out SharePoint</title><link>https://blogs.blackmarble.co.uk/rfennell/more-on-using-the-vs11-fake-library-to-fake-out-sharepoint/</link><pubDate>Sat, 05 May 2012 15:35:08 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/more-on-using-the-vs11-fake-library-to-fake-out-sharepoint/</guid><description>
&lt;p>I recently &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/post/2012/03/23/Now-that-VS11-has-a-fake-library-do-I-still-need-Typemock-Isolator-to-fake-out-SharePoint.aspx">posted&lt;/a> on how you could use the new fakes tools in VS11 to fake out SharePoint for testing purposes. I &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/post/2012/03/23/Now-that-VS11-has-a-fake-library-do-I-still-need-Typemock-Isolator-to-fake-out-SharePoint.aspx#comment">received comments&lt;/a> on how I could make my Shim logic easier to read so though I would revisit the post. This led me down a bit of a complex trail, and to &lt;a href="http://www.peterprovost.org/">Pete Provost&lt;/a> for pointing the way out!&lt;/p>
&lt;p>When I did the previous post I had used SP2007, this was because I was comparing using Microsoft Fakes with a similar sample I had written ages ago for Typemock Isolator. There was no real plan to this choice, it was just what had to hand at the time. This time I decided to use SP2010, this was the process used that actually worked (more on my mistakes later) …&lt;/p></description></item><item><title>Thoughts on my Channel9 post</title><link>https://blogs.blackmarble.co.uk/rfennell/thoughts-on-my-channel9-post/</link><pubDate>Sat, 05 May 2012 09:49:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/thoughts-on-my-channel9-post/</guid><description>
&lt;p>After hearing my &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/post/2012/04/24/My-video-on-using-Team-Explorer-Everywhere-is-published-on-Channel9.aspx">TEE video on Channel9&lt;/a> mentioned on &lt;a href="http://www.radiotfs.com/Show/42/WhatWasTheQuestion?">Radio TFS&lt;/a> I thought I should watch it through, I had only found time to do a quick look previously. This is all part of my on-going &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/post/2010/07/25/once-more-with-feeling-watching-yourself-on-video.aspx">self review process&lt;/a>, a form of self torture.&lt;/p>
&lt;p>It seems the issues I mentioned last time are still there, I still have too many err’s. The thing that stood out the most was I looked like a very shifty newsreader. My movement behind the table and losing eye contact with the camera were too noticeable to me.&lt;/p></description></item><item><title>Thoughts on the new Skydrive</title><link>https://blogs.blackmarble.co.uk/rfennell/thoughts-on-the-new-skydrive/</link><pubDate>Thu, 26 Apr 2012 21:36:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/thoughts-on-the-new-skydrive/</guid><description>
&lt;p>I have swapped to the &lt;a href="http://windows.microsoft.com/en-GB/skydrive/home">new version of Microsoft Skydrive&lt;/a>, replacing my old &lt;a href="http://windows.microsoft.com/en-US/windows-live/mesh-devices-sync-upgrade-ui">Mesh&lt;/a> setup. It is a nice slick experience, allowing easy viewing of files on Skydrive from Windows and WP7. However, I do have couple of issues&lt;/p>
&lt;ol>
&lt;li>I used Mesh to sync photos from my Window 7 Media Center up to cloud storage as a backup, don’t want to loose all the family photos due to a disk failure. This was simple with Mesh, just set up a sync. This is not so easy with the new Skydrive, which appears only as a folder in your user area. The only solution I can spot is to copy my photos into this folder e.g. xcopy d:photos c:usersrichardskydrivephotos. Once the copy is done this will be synced up to the cloud. With mesh if I added a file to my PC it sync’d without me doing anything, now I need to remember the xcopy (or whatever sync copy tool I am using), or have the copy being run on a regular basis via a timer.&lt;/li>
&lt;li>Letting Skydrive start automatically on a laptop Windows PC is dangerous. I was on site today using my Mifi and in about 10 minutes used a whole days credit. So I would recommend changing your tool tray setting to make sure you can see the Skydrive icon all the time, so you have a chance see when it is syncing and can stop it when on a connection that cost you money.&lt;/li>
&lt;/ol>
&lt;blockquote>
&lt;p>&lt;a href="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_38.png">&lt;img
loading="lazy"
decoding="async"
alt="image"
class="image_figure image_internal image_unprocessed"
src="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_thumb_38.png"
title="image"
/>
&lt;/a>&lt;/p></description></item><item><title>My video on using Team Explorer Everywhere is published on Channel9</title><link>https://blogs.blackmarble.co.uk/rfennell/my-video-on-using-team-explorer-everywhere-is-published-on-channel9/</link><pubDate>Tue, 24 Apr 2012 16:58:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/my-video-on-using-team-explorer-everywhere-is-published-on-channel9/</guid><description>
&lt;p>I recently recorded a &lt;a href="http://channel9.msdn.com/Events/TechDays/UK-Tech-Days/Visual-Studio-Team-Foundation-for-Everyone">video on using Visual Studio Team Explorer Everywhere&lt;/a>, this has today been published in the &lt;a href="http://channel9.msdn.com/Events/TechDays/UK-Tech-Days">UK Techdays section of Channel 9&lt;/a>.&lt;/p>
&lt;p>Hope you find it useful.&lt;/p></description></item><item><title>Back from holiday to find my DDD Southwest session has been accepted</title><link>https://blogs.blackmarble.co.uk/rfennell/back-from-holiday-to-find-my-ddd-southwest-session-has-been-accepted/</link><pubDate>Mon, 16 Apr 2012 10:28:12 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/back-from-holiday-to-find-my-ddd-southwest-session-has-been-accepted/</guid><description>
&lt;p>Got back from holiday today to find my &lt;a href="http://dddsouthwest.com/Agenda/tabid/55/Default.aspx">DDDSW (26th May) session&lt;/a> on unit testing in &lt;a href="http://dddsouthwest.com/ProposedSessions/tabid/69/Default.aspx">Visual Studio 11 has been accepted&lt;/a>.&lt;/p>
&lt;p>I see the event is already full, but hope to see some of you there&lt;/p></description></item><item><title>Fix for problem faking two SPLists in a single unit test with Typemock Isolator has been released</title><link>https://blogs.blackmarble.co.uk/rfennell/fix-for-problem-faking-two-splists-in-a-single-unit-test-with-typemock-isolator-has-been-released/</link><pubDate>Mon, 02 Apr 2012 16:00:13 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/fix-for-problem-faking-two-splists-in-a-single-unit-test-with-typemock-isolator-has-been-released/</guid><description>
&lt;p>A &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/post/2010/09/10/problem-faking-multiple-splists-with-typemock-isolator-in-a-single-test.aspx">blogged a while ago about a problem faking multiple SPList with Typemock Isolator in a single test&lt;/a>. With the release of &lt;a href="http://www.typemock.com/">Typemock Isolator 7.0.4.0&lt;/a> you no longer have to use the workaround I documented.&lt;/p>
&lt;p>You can now use the code if the originally planned, and it works as expected&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-gdscript3" data-lang="gdscript3">&lt;span class="line">&lt;span class="ln">1&lt;/span>&lt;span class="cl"> &lt;span class="mi">1&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="n">public&lt;/span> &lt;span class="n">partial&lt;/span> &lt;span class="k">class&lt;/span> &lt;span class="n">TestPage&lt;/span> &lt;span class="p">:&lt;/span> &lt;span class="n">System&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">Web&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">UI&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">Page&lt;/span> &lt;span class="mi">2&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="p">{&lt;/span> &lt;span class="mi">3&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="n">public&lt;/span> &lt;span class="n">TestPage&lt;/span>&lt;span class="p">()&lt;/span> &lt;span class="mi">4&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="p">{&lt;/span> &lt;span class="mi">5&lt;/span>&lt;span class="p">:&lt;/span>  &lt;span class="k">var&lt;/span> &lt;span class="n">fakeWeb&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">Isolate&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">Fake&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">Instance&lt;/span>&lt;span class="o">&amp;lt;&lt;/span>&lt;span class="n">SPWeb&lt;/span>&lt;span class="o">&amp;gt;&lt;/span>&lt;span class="p">();&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">2&lt;/span>&lt;span class="cl"> &lt;span class="mi">7&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="n">Isolate&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">WhenCalled&lt;/span>&lt;span class="p">(()&lt;/span> &lt;span class="o">=&amp;gt;&lt;/span> &lt;span class="n">SPControl&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">GetContextWeb&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">null&lt;/span>&lt;span class="p">))&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">WillReturn&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">fakeWeb&lt;/span>&lt;span class="p">);&lt;/span> &lt;span class="mi">8&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="mi">9&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="o">//&lt;/span> &lt;span class="k">return&lt;/span> &lt;span class="n">value&lt;/span> &lt;span class="k">for&lt;/span> &lt;span class="mi">1&lt;/span>&lt;span class="n">st&lt;/span> &lt;span class="n">call&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">3&lt;/span>&lt;span class="cl"> &lt;span class="mi">10&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="n">Isolate&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">WhenCalled&lt;/span>&lt;span class="p">(()&lt;/span> &lt;span class="o">=&amp;gt;&lt;/span> &lt;span class="n">fakeWeb&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">Lists&lt;/span>\&lt;span class="p">[&lt;/span>&lt;span class="s2">&amp;#34;Centre Locations&amp;#34;&lt;/span>\&lt;span class="p">]&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">Items&lt;/span>&lt;span class="p">)&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">WillReturnCollectionValuesOf&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">CreateCentreList&lt;/span>&lt;span class="p">());&lt;/span> &lt;span class="mi">11&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="o">//&lt;/span> &lt;span class="k">return&lt;/span> &lt;span class="n">value&lt;/span> &lt;span class="k">for&lt;/span> &lt;span class="n">all&lt;/span> &lt;span class="n">other&lt;/span> &lt;span class="n">calls&lt;/span> &lt;span class="mi">12&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="n">Isolate&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">WhenCalled&lt;/span>&lt;span class="p">(()&lt;/span> &lt;span class="o">=&amp;gt;&lt;/span> &lt;span class="n">fakeWeb&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">Lists&lt;/span>\&lt;span class="p">[&lt;/span>&lt;span class="s2">&amp;#34;Map Zoom Areas&amp;#34;&lt;/span>\&lt;span class="p">]&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">Items&lt;/span>&lt;span class="p">)&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">WillReturnCollectionValuesOf&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">CreateZoomAreaList&lt;/span>&lt;span class="p">());&lt;/span> &lt;span class="mi">13&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="p">}&lt;/span> &lt;span class="mi">14&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="mi">15&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="n">private&lt;/span> &lt;span class="k">static&lt;/span> &lt;span class="n">List&lt;/span>&lt;span class="o">&amp;lt;&lt;/span>&lt;span class="n">SPListItem&lt;/span>&lt;span class="o">&amp;gt;&lt;/span> &lt;span class="n">CreateZoomAreaList&lt;/span>&lt;span class="p">()&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">4&lt;/span>&lt;span class="cl"> &lt;span class="mi">16&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="p">{&lt;/span> &lt;span class="mi">17&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="k">var&lt;/span> &lt;span class="n">fakeZoomAreas&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">new&lt;/span> &lt;span class="n">List&lt;/span>&lt;span class="o">&amp;lt;&lt;/span>&lt;span class="n">SPListItem&lt;/span>&lt;span class="o">&amp;gt;&lt;/span>&lt;span class="p">();&lt;/span> &lt;span class="mi">18&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="n">fakeZoomAreas&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">Add&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">CreateZoomAreaSPListItem&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s2">&amp;#34;London&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mf">51.49275&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="o">-&lt;/span>&lt;span class="mf">0.137722222&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">2&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">14&lt;/span>&lt;span class="p">));&lt;/span> &lt;span class="mi">19&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="k">return&lt;/span> &lt;span class="n">fakeZoomAreas&lt;/span>&lt;span class="p">;&lt;/span> &lt;span class="mi">20&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="p">}&lt;/span> &lt;span class="mi">21&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="mi">22&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="n">private&lt;/span> &lt;span class="k">static&lt;/span> &lt;span class="n">List&lt;/span>&lt;span class="o">&amp;lt;&lt;/span>&lt;span class="n">SPListItem&lt;/span>&lt;span class="o">&amp;gt;&lt;/span> &lt;span class="n">CreateCentreList&lt;/span>&lt;span class="p">()&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">5&lt;/span>&lt;span class="cl"> &lt;span class="mi">23&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="p">{&lt;/span> &lt;span class="mi">24&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="k">var&lt;/span> &lt;span class="n">fakeSites&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">new&lt;/span> &lt;span class="n">List&lt;/span>&lt;span class="o">&amp;lt;&lt;/span>&lt;span class="n">SPListItem&lt;/span>&lt;span class="o">&amp;gt;&lt;/span>&lt;span class="p">();&lt;/span> &lt;span class="mi">25&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="n">fakeSites&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">Add&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">CreateCentreSPListItem&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s2">&amp;#34;Aberdeen &amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="s2">&amp;#34;1 The Road, Aberdeen &amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="s2">&amp;#34;Aberdeen@test.com&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="s2">&amp;#34;www.Aberdeen.test.com&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="s2">&amp;#34;1111&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="s2">&amp;#34;2222&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mf">57.13994444&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="o">-&lt;/span>&lt;span class="mf">2.113333333&lt;/span>&lt;span class="p">));&lt;/span> &lt;span class="mi">26&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="n">fakeSites&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">Add&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">CreateCentreSPListItem&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s2">&amp;#34;Altrincham &amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="s2">&amp;#34;1 The Road, Altrincham &amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="s2">&amp;#34;Altrincham@test.com&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="s2">&amp;#34;www.Altrincham.test.com&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="s2">&amp;#34;3333&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="s2">&amp;#34;4444&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mf">53.38977778&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="o">-&lt;/span>&lt;span class="mf">2.349916667&lt;/span>&lt;span class="p">));&lt;/span> &lt;span class="mi">27&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="k">return&lt;/span> &lt;span class="n">fakeSites&lt;/span>&lt;span class="p">;&lt;/span> &lt;span class="mi">28&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="p">}&lt;/span> &lt;span class="mi">29&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="mi">30&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="n">private&lt;/span> &lt;span class="k">static&lt;/span> &lt;span class="n">SPListItem&lt;/span> &lt;span class="n">CreateCentreSPListItem&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">string&lt;/span> &lt;span class="n">title&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">string&lt;/span> &lt;span class="n">address&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">string&lt;/span> &lt;span class="n">email&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">string&lt;/span> &lt;span class="n">url&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">string&lt;/span> &lt;span class="n">telephone&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">string&lt;/span> &lt;span class="n">fax&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">double&lt;/span> &lt;span class="n">lat&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">double&lt;/span> &lt;span class="n">lng&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">6&lt;/span>&lt;span class="cl"> &lt;span class="mi">31&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="p">{&lt;/span> &lt;span class="mi">32&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="k">var&lt;/span> &lt;span class="n">fakeItem&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">Isolate&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">Fake&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">Instance&lt;/span>&lt;span class="o">&amp;lt;&lt;/span>&lt;span class="n">SPListItem&lt;/span>&lt;span class="o">&amp;gt;&lt;/span>&lt;span class="p">();&lt;/span> &lt;span class="mi">33&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="n">Isolate&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">WhenCalled&lt;/span>&lt;span class="p">(()&lt;/span> &lt;span class="o">=&amp;gt;&lt;/span> &lt;span class="n">fakeItem&lt;/span>\&lt;span class="p">[&lt;/span>&lt;span class="s2">&amp;#34;Title&amp;#34;&lt;/span>\&lt;span class="p">])&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">WillReturn&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">title&lt;/span>&lt;span class="p">);&lt;/span> &lt;span class="mi">34&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="n">Isolate&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">WhenCalled&lt;/span>&lt;span class="p">(()&lt;/span> &lt;span class="o">=&amp;gt;&lt;/span> &lt;span class="n">fakeItem&lt;/span>\&lt;span class="p">[&lt;/span>&lt;span class="s2">&amp;#34;Address&amp;#34;&lt;/span>\&lt;span class="p">])&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">WillReturn&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">address&lt;/span>&lt;span class="p">);&lt;/span> &lt;span class="mi">35&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="n">Isolate&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">WhenCalled&lt;/span>&lt;span class="p">(()&lt;/span> &lt;span class="o">=&amp;gt;&lt;/span> &lt;span class="n">fakeItem&lt;/span>\&lt;span class="p">[&lt;/span>&lt;span class="s2">&amp;#34;Email Address&amp;#34;&lt;/span>\&lt;span class="p">])&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">WillReturn&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">email&lt;/span>&lt;span class="p">);&lt;/span> &lt;span class="mi">36&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="n">Isolate&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">WhenCalled&lt;/span>&lt;span class="p">(()&lt;/span> &lt;span class="o">=&amp;gt;&lt;/span> &lt;span class="n">fakeItem&lt;/span>\&lt;span class="p">[&lt;/span>&lt;span class="s2">&amp;#34;Site URL&amp;#34;&lt;/span>\&lt;span class="p">])&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">WillReturn&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">url&lt;/span>&lt;span class="p">);&lt;/span> &lt;span class="mi">37&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="n">Isolate&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">WhenCalled&lt;/span>&lt;span class="p">(()&lt;/span> &lt;span class="o">=&amp;gt;&lt;/span> &lt;span class="n">fakeItem&lt;/span>\&lt;span class="p">[&lt;/span>&lt;span class="s2">&amp;#34;Telephone&amp;#34;&lt;/span>\&lt;span class="p">])&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">WillReturn&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">telephone&lt;/span>&lt;span class="p">);&lt;/span> &lt;span class="mi">38&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="n">Isolate&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">WhenCalled&lt;/span>&lt;span class="p">(()&lt;/span> &lt;span class="o">=&amp;gt;&lt;/span> &lt;span class="n">fakeItem&lt;/span>\&lt;span class="p">[&lt;/span>&lt;span class="s2">&amp;#34;Fax&amp;#34;&lt;/span>\&lt;span class="p">])&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">WillReturn&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">fax&lt;/span>&lt;span class="p">);&lt;/span> &lt;span class="mi">39&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="n">Isolate&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">WhenCalled&lt;/span>&lt;span class="p">(()&lt;/span> &lt;span class="o">=&amp;gt;&lt;/span> &lt;span class="n">fakeItem&lt;/span>\&lt;span class="p">[&lt;/span>&lt;span class="s2">&amp;#34;Latitude&amp;#34;&lt;/span>\&lt;span class="p">])&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">WillReturn&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">lat&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">ToString&lt;/span>&lt;span class="p">());&lt;/span> &lt;span class="mi">40&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="n">Isolate&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">WhenCalled&lt;/span>&lt;span class="p">(()&lt;/span> &lt;span class="o">=&amp;gt;&lt;/span> &lt;span class="n">fakeItem&lt;/span>\&lt;span class="p">[&lt;/span>&lt;span class="s2">&amp;#34;Longitude&amp;#34;&lt;/span>\&lt;span class="p">])&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">WillReturn&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">lng&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">ToString&lt;/span>&lt;span class="p">());&lt;/span> &lt;span class="mi">41&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="k">return&lt;/span> &lt;span class="n">fakeItem&lt;/span>&lt;span class="p">;&lt;/span> &lt;span class="mi">42&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="p">}&lt;/span> &lt;span class="mi">43&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="mi">44&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="n">private&lt;/span> &lt;span class="k">static&lt;/span> &lt;span class="n">SPListItem&lt;/span> &lt;span class="n">CreateZoomAreaSPListItem&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">string&lt;/span> &lt;span class="n">areaName&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">double&lt;/span> &lt;span class="n">lat&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">double&lt;/span> &lt;span class="n">lng&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">double&lt;/span> &lt;span class="n">radius&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="ne">int&lt;/span> &lt;span class="n">zoom&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">7&lt;/span>&lt;span class="cl"> &lt;span class="mi">45&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="p">{&lt;/span> &lt;span class="mi">46&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="k">var&lt;/span> &lt;span class="n">fakeItem&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">Isolate&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">Fake&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">Instance&lt;/span>&lt;span class="o">&amp;lt;&lt;/span>&lt;span class="n">SPListItem&lt;/span>&lt;span class="o">&amp;gt;&lt;/span>&lt;span class="p">();&lt;/span> &lt;span class="mi">47&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="n">Isolate&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">WhenCalled&lt;/span>&lt;span class="p">(()&lt;/span> &lt;span class="o">=&amp;gt;&lt;/span> &lt;span class="n">fakeItem&lt;/span>\&lt;span class="p">[&lt;/span>&lt;span class="s2">&amp;#34;Title&amp;#34;&lt;/span>\&lt;span class="p">])&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">WillReturn&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">areaName&lt;/span>&lt;span class="p">);&lt;/span> &lt;span class="mi">48&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="n">Isolate&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">WhenCalled&lt;/span>&lt;span class="p">(()&lt;/span> &lt;span class="o">=&amp;gt;&lt;/span> &lt;span class="n">fakeItem&lt;/span>\&lt;span class="p">[&lt;/span>&lt;span class="s2">&amp;#34;Latitude&amp;#34;&lt;/span>\&lt;span class="p">])&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">WillReturn&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">lat&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">ToString&lt;/span>&lt;span class="p">());&lt;/span> &lt;span class="mi">49&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="n">Isolate&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">WhenCalled&lt;/span>&lt;span class="p">(()&lt;/span> &lt;span class="o">=&amp;gt;&lt;/span> &lt;span class="n">fakeItem&lt;/span>\&lt;span class="p">[&lt;/span>&lt;span class="s2">&amp;#34;Longitude&amp;#34;&lt;/span>\&lt;span class="p">])&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">WillReturn&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">lng&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">ToString&lt;/span>&lt;span class="p">());&lt;/span> &lt;span class="mi">50&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="n">Isolate&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">WhenCalled&lt;/span>&lt;span class="p">(()&lt;/span> &lt;span class="o">=&amp;gt;&lt;/span> &lt;span class="n">fakeItem&lt;/span>\&lt;span class="p">[&lt;/span>&lt;span class="s2">&amp;#34;Radius&amp;#34;&lt;/span>\&lt;span class="p">])&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">WillReturn&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">radius&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">ToString&lt;/span>&lt;span class="p">());&lt;/span> &lt;span class="mi">51&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="n">Isolate&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">WhenCalled&lt;/span>&lt;span class="p">(()&lt;/span> &lt;span class="o">=&amp;gt;&lt;/span> &lt;span class="n">fakeItem&lt;/span>\&lt;span class="p">[&lt;/span>&lt;span class="s2">&amp;#34;Zoom&amp;#34;&lt;/span>\&lt;span class="p">])&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">WillReturn&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">zoom&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">ToString&lt;/span>&lt;span class="p">());&lt;/span> &lt;span class="mi">52&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="k">return&lt;/span> &lt;span class="n">fakeItem&lt;/span>&lt;span class="p">;&lt;/span> &lt;span class="mi">53&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="p">}&lt;/span> &lt;span class="mi">54&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="mi">55&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>A check of the returned values shows&lt;/p></description></item><item><title>More community TFS build extensions documentation</title><link>https://blogs.blackmarble.co.uk/rfennell/more-community-tfs-build-extensions-documentation/</link><pubDate>Thu, 29 Mar 2012 22:27:52 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/more-community-tfs-build-extensions-documentation/</guid><description>
&lt;p>As part of the on-going effort in documentation I have recently published more &lt;a href="http://tfsbuildextensions.codeplex.com/documentation">documentation for the TFS build extension project&lt;/a> activities&lt;/p>
&lt;ul>
&lt;li>AssemblyInfo&lt;/li>
&lt;li>CodeMetric (updated) and CodeMetricHistory&lt;/li>
&lt;li>File&lt;/li>
&lt;li>Twitter&lt;/li>
&lt;/ul></description></item><item><title>Unit testing in VS11Beta and getting your tests to run on the new TFSPreview build service</title><link>https://blogs.blackmarble.co.uk/rfennell/unit-testing-in-vs11beta-and-getting-your-tests-to-run-on-the-new-tfspreview-build-service/</link><pubDate>Tue, 27 Mar 2012 21:23:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/unit-testing-in-vs11beta-and-getting-your-tests-to-run-on-the-new-tfspreview-build-service/</guid><description>
&lt;p>One of my favourite new features in VS11 is that the unit testing is pluggable. You don’t have to use MSTest, you can use any test framework that an adaptor is available for (at the release of the beta this meant &lt;a href="http://www.peterprovost.org/blog/post/Visual-Studio-11-Beta-Unit-Testing-Plugins-List.aspx">the list of framworks on Peter Provost’s blog&lt;/a>, but I am sure this will grow).&lt;/p>
&lt;p>So what does this mean and how do you use it?&lt;/p>
&lt;h2 id="add-some-tests">Add some tests&lt;/h2>
&lt;p>First it is worth noting that you no longer need to use a test project to contain your MSTest, you can if you want, but you don’t need to. So you can&lt;/p></description></item><item><title>How I try to keep up to date</title><link>https://blogs.blackmarble.co.uk/rfennell/how-i-try-to-keep-up-to-date/</link><pubDate>Mon, 26 Mar 2012 12:16:26 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/how-i-try-to-keep-up-to-date/</guid><description>
&lt;p>I have just added a &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/page/How-I-try-to-keep-up-to-date.aspx">page to the blog&lt;/a> that lists some of the podcasts I try to listen to, in an attempt to keep up to date.&lt;/p></description></item><item><title>Keeping up to date</title><link>https://blogs.blackmarble.co.uk/rfennell/keeping-up-to-date/</link><pubDate>Mon, 26 Mar 2012 09:25:45 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/keeping-up-to-date/</guid><description>
&lt;p>Ours is a fast moving industry and as times goes on I find the need to specialise more and more. However, I believe there is a great value in at least having a passing knowledge of as much of our field as possible, IT pros can learn from developers and .NET team from Java and of course the other way around. &lt;/p>
&lt;p>I find the best way to try to keep abreast of new ideas is to listen to podcasts; I personally find it hard read enough blogs, but I can find time to listen to a podcast whist travelling or working around the house. Here is a list of a few I find give me at least a feel for what is going on, I still feel that they are a bit Microsoft focused, so interested to hear any other suggestions&lt;/p></description></item><item><title>Problems editing TFS11 build templates in VS11Beta</title><link>https://blogs.blackmarble.co.uk/rfennell/problems-editing-tfs11-build-templates-in-vs11beta/</link><pubDate>Sat, 24 Mar 2012 15:12:12 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/problems-editing-tfs11-build-templates-in-vs11beta/</guid><description>
&lt;p>Whilst writing documentation for &lt;a href="http://tfsbuildextensions.codeplex.com/">TFS community build extensions&lt;/a> (just published the &lt;a href="http://tfsbuildextensions.codeplex.com/wikipage?title=Getting%20started%20with%20the%20Zip%20activity&amp;amp;referringTitle=Documentation">Zip activity documentation&lt;/a>) I hit upon a problem working with TFS11. The TFS community build extensions support both TFS2010 and TFS11beta, unfortunately the two versions need to be built separately (once against TFS2010 DLLs and once against TFS11 ones). As of version &lt;a href="http://tfsbuildextensions.codeplex.com/releases/view/79301">1.3 of the extensions both versions are shipped in the download&lt;/a>.&lt;/p>
&lt;p>In the past in the past I have tended to work in TFS2010 on this community project, but since the VS/TFS11 beta release I am trying to move over to the new build. So to write the documentation for the ZIP activity I started in TFS11. I followed the usual method to use a custom activity (there is no improvement over this frankly &lt;a href="http://tfsbuildextensions.codeplex.com/wikipage?title=How%20to%20integrate%20the%20extensions%20into%20a%20build%20template&amp;amp;referringTitle=Documentation">horrible process&lt;/a> in VS11) so within VS11 I added the ZIP activity to a copy of the defaultprocesstemplate.xaml. All appeared OK but when I ran a build with this new template. I got the error&lt;/p></description></item><item><title>More thoughts on Typemock Isolator, Microsoft Fakes and Sharepoint</title><link>https://blogs.blackmarble.co.uk/rfennell/more-thoughts-on-typemock-isolator-microsoft-fakes-and-sharepoint/</link><pubDate>Sat, 24 Mar 2012 10:01:53 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/more-thoughts-on-typemock-isolator-microsoft-fakes-and-sharepoint/</guid><description>
&lt;p>&lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/post/2012/03/23/Now-that-VS11-has-a-fake-library-do-I-still-need-Typemock-Isolator-to-fake-out-SharePoint.aspx">I posted yesterday on using Typemock and Microsoft Fakes with SharePoint&lt;/a>. After a bit more thought I realised the key thing in using Typemock I found easier was the construction of my SPListItem dataset. Typemock allowed me to fake SPListItems and put them in a generic List&lt;SPListItem> then just make this the return value for the Item collection using the magic &lt;strong>.WillReturnCollectionValuesOf()&lt;/strong> method that converts my List to the required collection type. With the Microsoft Fakes I had think about a delegate that constructed my test data at runtime. This is not a problem, just a different way of working.&lt;/p></description></item><item><title>Now that VS11 has a fake library do I still need Typemock Isolator to fake out SharePoint?</title><link>https://blogs.blackmarble.co.uk/rfennell/now-that-vs11-has-a-fake-library-do-i-still-need-typemock-isolator-to-fake-out-sharepoint/</link><pubDate>Fri, 23 Mar 2012 17:16:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/now-that-vs11-has-a-fake-library-do-i-still-need-typemock-isolator-to-fake-out-sharepoint/</guid><description>
&lt;p>Updated 5 May 2012 Also see my follow up &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/post/2012/05/05/More-on-using-the-VS11-fake-library-to-fake-out-SharePoint.aspx">post&lt;/a>, this corrects some of the information of faking SharePoint &lt;/p>
&lt;p>I have done posts in the past about how you can use &lt;a href="http://www.typemock.com/">Typemock Isolator&lt;/a> to fake out SharePoint to speed &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/post/2010/04/22/mocking-sharepoint-for-design-with-typemock-isolator.aspx">design&lt;/a> and &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/post/2008/12/04/developer-testing-of-sharepoint-webparts-using-typemock-isolator-and-ivonna.aspx">testing&lt;/a>. The  reason you need special tooling, beyond standard mocking frameworks like Rhino or MOQ, is that SharePoint has many sealed private classes with no public constructors. So in the past you only had two options: Typemock Isolator and &lt;a href="http://research.microsoft.com/en-us/projects/pex/documentation.aspx">Moles from Microsoft research&lt;/a>.&lt;/p></description></item><item><title>Typemock Isolator Version 7</title><link>https://blogs.blackmarble.co.uk/rfennell/typemock-isolator-version-7/</link><pubDate>Thu, 22 Mar 2012 10:54:28 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/typemock-isolator-version-7/</guid><description>
&lt;p>Whilst travelling I had neglected to post about the new release of &lt;a href="http://www.typemock.com/">Typemock Isolator Version 7&lt;/a>. This new release extends the range of the product to provide a variety of ‘test support tools’ that help you track down bugs sooner.&lt;/p>
&lt;p>However, the best new feature for me is that it allows support of historic versions of Isolator, this means you don’t have to upgrade all projects to V7 at the same time. The V7 engine will use the older assemblies  e.g. V6 perfectly happily. Make managing build boxes far easier&lt;/p></description></item><item><title>Dropping build output to source control in TFS11</title><link>https://blogs.blackmarble.co.uk/rfennell/dropping-build-output-to-source-control-in-tfs11/</link><pubDate>Tue, 13 Mar 2012 15:18:20 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/dropping-build-output-to-source-control-in-tfs11/</guid><description>
&lt;p>One of the nice new feature of TFS11 is that you get a third option for what to do with your build output&lt;/p>
&lt;ul>
&lt;li>Don’t copy output anywhere – good for CI builds that nobody will ever consume, just used to run tests&lt;/li>
&lt;li>Drop to a UNC share e.g. &lt;em>\server1drops&lt;/em> – the default and used 9 times out 10&lt;/li>
&lt;li>&lt;strong>The new one&lt;/strong> - drop to source control e.g. &lt;em>$/myproject/drops.&lt;/em>&lt;/li>
&lt;/ul>
&lt;p>The advantage of this new third option is your build agents can place the files they create in a location that can be accessed by any TFS client i.e. in the source control repository. A user no longer needs to be on a VPN or corporate LAN to be able to see a UNC share.&lt;/p></description></item><item><title>Team Explorer Everywhere is now free</title><link>https://blogs.blackmarble.co.uk/rfennell/team-explorer-everywhere-is-now-free/</link><pubDate>Fri, 09 Mar 2012 09:24:34 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/team-explorer-everywhere-is-now-free/</guid><description>
&lt;p>It was &lt;a href="http://blogs.msdn.com/b/bharry/archive/2012/03/08/even-better-access-to-team-foundation-server.aspx">announced overnight that TEE is now free&lt;/a>. What does this mean?&lt;/p>
&lt;p>It means if you do not have to buy TEE as some extra software if you already have a TFS CAL. This removed a barrier to adoption for developers who work in heterogeneous systems, there is no extra cost to integrate Eclipse as well a Visual Studio with TFS .&lt;/p>
&lt;p>If you want to find out more about TEE why not come &lt;a href="http://www.blackmarble.co.uk/events.aspx?event=Visual%20Studio%20Team%20Foundation%20for%20Everyone%20%28Online%29">Black Marble’s free webinar I am delivering on the 19th&lt;/a>?&lt;/p></description></item><item><title>Free webinar on Team Explorer Everywhere on the 19th of March</title><link>https://blogs.blackmarble.co.uk/rfennell/free-webinar-on-team-explorer-everywhere-on-the-19th-of-march/</link><pubDate>Mon, 05 Mar 2012 20:09:30 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/free-webinar-on-team-explorer-everywhere-on-the-19th-of-march/</guid><description>
&lt;p>I recently did a &lt;a href="http://blogs.msdn.com/b/visualstudiouk/archive/2012/02/02/an-introduction-to-agile-development-with-team-foundation-server-but-i-m-not-a-net-developer.aspx">guest post for the VSTS UK Team Blog on Team Explorer Everywhere&lt;/a>. On the 19th of March I will be doing a free webinar on the same subject. &lt;a href="http://www.blackmarble.co.uk/events.aspx?event=Visual%20Studio%20Team%20Foundation%20for%20Everyone%20%28Online%29">To register for this event&lt;/a> please see the Black Marble web site.&lt;/p></description></item><item><title>Propose a session for DDD South West</title><link>https://blogs.blackmarble.co.uk/rfennell/propose-a-session-for-ddd-south-west/</link><pubDate>Fri, 02 Mar 2012 14:25:22 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/propose-a-session-for-ddd-south-west/</guid><description>
&lt;p>I have &lt;a href="http://www.dddsouthwest.com/">proposed a session for DDD South West&lt;/a>, why don’t you?&lt;/p></description></item><item><title>Two Team Explorers in TEE 11 Beta – twice as good?</title><link>https://blogs.blackmarble.co.uk/rfennell/two-team-explorers-in-tee-11-beta-twice-as-good/</link><pubDate>Thu, 01 Mar 2012 16:41:02 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/two-team-explorers-in-tee-11-beta-twice-as-good/</guid><description>
&lt;p>When you install TEE11 Beta in Eclipse you will notice their are two Team Explorer windows&lt;/p>
&lt;ul>
&lt;li>Team Explorer 2010 – The old style window&lt;/li>
&lt;li>Team Explorer – The new VS11 style window&lt;/li>
&lt;/ul>
&lt;p>&lt;a href="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_25.png">&lt;img
loading="lazy"
decoding="async"
alt="image"
class="image_figure image_internal image_unprocessed"
src="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_thumb_25.png"
title="image"
/>
&lt;/a>&lt;/p>
&lt;p>This is an artefact of the beta as TEE transitions to the new VS UI.&lt;/p>
&lt;p>I would recommend you use the new one as this will be the experience going forward. I certainly &lt;strong>would not&lt;/strong> recommend having both open as I have shown in this screenshot&lt;/p></description></item><item><title>A bit of an edge case – Using Git-TFS to get the best (or worst?) of both worlds</title><link>https://blogs.blackmarble.co.uk/rfennell/a-bit-of-an-edge-case-using-git-tfs-to-get-the-best-or-worst-of-both-worlds/</link><pubDate>Wed, 29 Feb 2012 21:24:51 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/a-bit-of-an-edge-case-using-git-tfs-to-get-the-best-or-worst-of-both-worlds/</guid><description>
&lt;h1 id="background">Background&lt;/h1>
&lt;p>Whilst at the Microsoft MVP summit there are a number of MVP2MVP sessions, these are similar to DDD style sessions with MVPs presenting as opposed to Microsoft staff. One I found really interesting was one by &lt;a href="http://www.richard-banks.org/2010/04/git-tfs-working-together-version-2.html">Richard Banks based on his post on using GIT with TFS&lt;/a>. Now this was a usage of source control tools I had not considered, a mixture of Git and TFS (or could be Git to SVN, similar tools are available)&lt;/p></description></item><item><title>ALM Rangers VS11 Beta Guidance</title><link>https://blogs.blackmarble.co.uk/rfennell/alm-rangers-vs11-beta-guidance/</link><pubDate>Wed, 29 Feb 2012 20:22:29 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/alm-rangers-vs11-beta-guidance/</guid><description>
&lt;p>Today, as well as the new &lt;a href="http://blogs.msdn.com/b/jasonz/archive/2012/02/29/welcome-to-the-beta-of-visual-studio-11-and-net-framework-4-5.aspx">VS11 Beta bits from Microsoft&lt;/a>, the ALM Rangers also shipped best practice guidance to get you started with the beta. This is a project I am very proud to have been involved with.&lt;/p>
&lt;p>&lt;a href="http://blogs.msdn.com/b/visualstudioalm/archive/2012/02/29/welcome-to-visual-studio-11-alm-rangers-readiness-beta-wave.aspx">The full details of the supporting guidance shipped can be found here&lt;/a>&lt;/p></description></item><item><title>Installing the TEE11 Beta as an upgrade to the plug-in in Eclipse</title><link>https://blogs.blackmarble.co.uk/rfennell/installing-the-tee11-beta-as-an-upgrade-to-the-plug-in-in-eclipse/</link><pubDate>Wed, 29 Feb 2012 19:26:33 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/installing-the-tee11-beta-as-an-upgrade-to-the-plug-in-in-eclipse/</guid><description>
&lt;p>The big news today is is that &lt;a href="http://blogs.msdn.com/b/bharry/archive/2012/02/29/vs-11-beta-and-windows-8-consumer-previews-available.aspx">Microsoft released the VS11 Beta&lt;/a>, part of which is Team Explorer Everywhere (TEE). &lt;em>(Oh they also release something called Windows 8 too – whatever that is)&lt;/em>&lt;/p>
&lt;p>Whilst upgrading my TEE instance in Eclipse (Indigo) &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/post/2011/07/18/solution-to-missing-requirement-shared-profile-1-0-0-1308118925849-error-when-installation-tee-sp1-on-eclipse-indigo.aspx">I hit the same gotcha as I had when I originally installed TEE (in Eclipse is in your ‘c:programs files’)&lt;/a>. On Windows, if UAC is enabled you have to run Eclipse as administrator to do the plug-in else you get the error message.&lt;/p></description></item><item><title>(Not) Using a Huawei E585 MIFI in the USA</title><link>https://blogs.blackmarble.co.uk/rfennell/not-using-a-huawei-e585-mifi-in-the-usa/</link><pubDate>Mon, 27 Feb 2012 00:46:45 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/not-using-a-huawei-e585-mifi-in-the-usa/</guid><description>
&lt;p>I have an unlocked Hauwei E585 MIFI that I use around europe, avoiding roaming charges for my UK mobile contract. I buy a local pay as you go SIM for the appropriate country and off I go.&lt;/p>
&lt;p>I thought I would try the same here in the USA, where I am for the MVP Summit. I bought a T-Mobile data SIM, but it did not work so well.&lt;/p>
&lt;p>Basically the issue is one of aerials it seems. The E585 does not have the aerials it needs to connect for data in the USA, best it can do is a 2G connection, and even this seems to have issues, as &lt;a href="http://www.howardforums.com/showthread.php/1672611-Huawei-E585-%28MIFI%29-from-UK-s-three-co-uk">mentioned in this post&lt;/a>, that you need a phone SIM and not a data SIM. The bottom line seems to be the E585 is 2100MHz/900MHz UMTS only, AT&amp;amp;T are 850Mhz UMTS, T-Mobile will work on EDGE (2G) only. Verizon is CDMA. So it just just not going to work.&lt;/p></description></item><item><title>More on new TFS 11 announcements</title><link>https://blogs.blackmarble.co.uk/rfennell/more-on-new-tfs-11-announcements/</link><pubDate>Fri, 24 Feb 2012 15:19:38 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/more-on-new-tfs-11-announcements/</guid><description>
&lt;p>There is a good discussion of the new TFS 11 announcements in the new &lt;a href="http://www.radiotfs.com/Show/38/ChristmasinFebruary">Radio TFS podcast&lt;/a>&lt;/p></description></item><item><title>TFS 11 and VS 11 Announcements</title><link>https://blogs.blackmarble.co.uk/rfennell/tfs-11-and-vs-11-announcements/</link><pubDate>Thu, 23 Feb 2012 19:54:32 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/tfs-11-and-vs-11-announcements/</guid><description>
&lt;p>Microsoft have made a few announcements today&lt;/p>
&lt;p>&lt;a href="http://blogs.msdn.com/b/bharry/archive/2012/02/23/coming-soon-tfs-express.aspx">On Brian Harry’s Blog&lt;/a>&lt;/p>
&lt;ul>
&lt;li>
&lt;p>In the TFS 11 range there will be a new download of TFS, called Team Foundation Server Express, that includes core developer features:&lt;/p>
&lt;/li>
&lt;li>
&lt;p>Source Code Control&lt;/p>
&lt;/li>
&lt;li>
&lt;p>Work Item Tracking&lt;/p>
&lt;/li>
&lt;li>
&lt;p>Build Automation&lt;/p>
&lt;/li>
&lt;li>
&lt;p>Agile Taskboard&lt;/p>
&lt;/li>
&lt;li>
&lt;p>and is free for 5 users (you buy CALs to add more)&lt;/p>
&lt;/li>
&lt;li>
&lt;p>Visual Studio Express will support TFS&lt;/p>
&lt;/li>
&lt;/ul>
&lt;p>&lt;a href="http://blogs.msdn.com/b/jasonz/archive/2012/02/23/sneak-preview-of-visual-studio-11-and-net-framework-4-5-beta.aspx">On Jason Zander’s Blog&lt;/a>&lt;/p>
&lt;ul>
&lt;li>A sneak peak of details of the upcoming  VS11 and TFS 11 beta&lt;/li>
&lt;/ul>
&lt;p>For more details read the full posts I have linked to, and look out for the beta that will out on the 29th&lt;/p></description></item><item><title>Free webinar on Typemock Isolator V7</title><link>https://blogs.blackmarble.co.uk/rfennell/free-webinar-on-typemock-isolator-v7/</link><pubDate>Mon, 20 Feb 2012 13:54:26 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/free-webinar-on-typemock-isolator-v7/</guid><description>
&lt;p>Next Wednesday (the 22nd of February) Typemock are running a &lt;a href="https://www2.gotomeeting.com/register/723421498">free webinar ‘Isolator V7 Preview: A New Perspective on Unit Testing’&lt;/a>.&lt;/p>
&lt;p>It will be showcasing&lt;/p>
&lt;ul>
&lt;li>Immediate feedback of newly introduced bugs with a new autorunner.&lt;/li>
&lt;li>Pinpoint identification of the bug's location with the failed-test analyzer.&lt;/li>
&lt;li>Visual coverage of which part of your code is covered&lt;/li>
&lt;li>Powerful mocking, guaranteeing that you can write tests for any code, whether new code or legacy code&lt;/li>
&lt;li>Industry integration with major development tools&lt;/li>
&lt;/ul>
&lt;p>All attendees get a free beta license for the new V7 product.&lt;/p></description></item><item><title>Follow up to the North East Imagine Cup event</title><link>https://blogs.blackmarble.co.uk/rfennell/follow-up-to-the-north-east-imagine-cup-event/</link><pubDate>Sun, 19 Feb 2012 11:15:36 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/follow-up-to-the-north-east-imagine-cup-event/</guid><description>
&lt;p>&lt;a href="http://blogs.blackmarble.co.uk/blogs/sspencer/post/2012/02/19/Imagine-Cup-NE.aspx">Steve did a nice post&lt;/a> on the fun we had at the event for Universities and Colleges in the North East of England to help them to develop their ideas for their &lt;a href="http://www.imaginecup.com/">Imagine Cup&lt;/a> entries.&lt;/p>
&lt;p>I won’t bother to just repeat what he wrote, other than it was very nice to see students so engaged with our industry. I hope some of the attendees will be able to make it to other &lt;a href="http://www.nebytes.net/">community events&lt;/a>.&lt;/p></description></item><item><title>You don’t need to keep that old TFS server to support older versions of Visual Studio</title><link>https://blogs.blackmarble.co.uk/rfennell/you-dont-need-to-keep-that-old-tfs-server-to-support-older-versions-of-visual-studio/</link><pubDate>Thu, 16 Feb 2012 17:57:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/you-dont-need-to-keep-that-old-tfs-server-to-support-older-versions-of-visual-studio/</guid><description>
&lt;p>I have recently spoken to a number of people who were under the impression that older versions of Visual Studio could not connect to TFS2010. This is not the case. So for example you do not need to keep a TFS2005 running for your VS2005 clients.&lt;/p>
&lt;p>Why you might ask does this question even come up? VS2010 can build any .NET 2.0 –&amp;gt; 4.0 project so why not upgrade all your projects to VS2010? The answer is that products such as Biztalk and SQL Business Intelligence use older versions of the Visual Studio Shell e.g. so for SQL 2008 BI you are using in effect VS/Team Explorer 2008. Though it must be said this issue is getting better currently a BI developer still ends up having to use VS 2008 (until &lt;a href="http://blogs.msdn.com/b/ssdt/">SSDT arrives&lt;/a> with SQL 2012)&lt;/p></description></item><item><title>Thanks to everyone who came to my session at NEBytes last night</title><link>https://blogs.blackmarble.co.uk/rfennell/thanks-to-everyone-who-came-to-my-session-at-nebytes-last-night/</link><pubDate>Thu, 16 Feb 2012 10:57:43 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/thanks-to-everyone-who-came-to-my-session-at-nebytes-last-night/</guid><description>
&lt;p>Thanks to everyone who attended my session at &lt;a href="http://www.nebytes.net/">NEBytes&lt;/a> last night, sorry I had to rush away. As my session was demo based I don’t have much in the way of slides to upload, but if you want to find out more have a look at my &lt;a href="http://blogs.msdn.com/b/visualstudiouk/archive/2012/02/02/an-introduction-to-agile-development-with-team-foundation-server-but-i-m-not-a-net-developer.aspx" title="guest blog post on the UK Visual Studio blog I did">guest blog post on the UK Visual Studio blog on ‘TFS for Everyone’&lt;/a>.&lt;/p>
&lt;p>Also keep an eye on the [Black Marble site for upcoming free webinar](&lt;a href="http://www.blackmarble.com/events.aspx?event=Visual">http://www.blackmarble.com/events.aspx?event=Visual&lt;/a> Studio Team Foundation for Everyone (Online)) sessions on the same subject&lt;/p></description></item><item><title>Speaking on the 15th Feb at the NE Bytes user group on “TFS for Everyone”</title><link>https://blogs.blackmarble.co.uk/rfennell/speaking-on-the-15th-feb-at-the-ne-bytes-user-group-on-tfs-for-everyone/</link><pubDate>Wed, 08 Feb 2012 10:23:04 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/speaking-on-the-15th-feb-at-the-ne-bytes-user-group-on-tfs-for-everyone/</guid><description>
&lt;p>I will be speaking at the &lt;a href="http://www.nebytes.net/category/events.aspx">NE Bytes user group&lt;/a> next Wednesday (the 15th of Feb) on ‘TFS for Everyone’.&lt;/p>
&lt;p>This a session based on the &lt;a href="http://blogs.msdn.com/b/visualstudiouk/archive/2012/02/02/an-introduction-to-agile-development-with-team-foundation-server-but-i-m-not-a-net-developer.aspx">guest blog post on the UK Visual Studio blog  I did&lt;/a> on how TFS is not just for .NET developers. It can be used from a whole range of development platforms and operating systems. I will be including demos using Eclipse and Ubuntu.&lt;/p>
&lt;p>Hope to see you there.&lt;/p></description></item><item><title>Webinar on migration from VSS to TFS</title><link>https://blogs.blackmarble.co.uk/rfennell/webinar-on-migration-from-vss-to-tfs/</link><pubDate>Tue, 07 Feb 2012 20:14:41 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/webinar-on-migration-from-vss-to-tfs/</guid><description>
&lt;p>I will be giving a free webinar presentation on the morning of Monday  the 20th February on ‘Why migrate from Visual SourceSafe to Visual Studio Team Foundation Server’.&lt;/p>
&lt;p>[To register  for this event please check out the Black Marble site](&lt;a href="http://blackmarble.co.uk/events.aspx?event=Why">http://blackmarble.co.uk/events.aspx?event=Why&lt;/a> migrate from Visual SourceSafe to Visual Studio Team Foundation Server (Online))&lt;/p></description></item><item><title>More Community TFS Build Extension Documentation</title><link>https://blogs.blackmarble.co.uk/rfennell/more-community-tfs-build-extension-documentation/</link><pubDate>Mon, 06 Feb 2012 20:49:42 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/more-community-tfs-build-extension-documentation/</guid><description>
&lt;p>Just published &lt;a href="http://tfsbuildextensions.codeplex.com/wikipage?title=How%20to%20integrate%20the%20VB6%20build%20activity&amp;amp;referringTitle=Documentation">documentation of the VB6 activity&lt;/a> on the Community TFS Build extensions site&lt;/p></description></item><item><title>Filtering in MDX Calculated Members</title><link>https://blogs.blackmarble.co.uk/rfennell/filtering-in-mdx-calculated-members/</link><pubDate>Sat, 04 Feb 2012 10:28:53 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/filtering-in-mdx-calculated-members/</guid><description>
&lt;p>BI development is not something I do that often, but from time to time you need to develop a custom report in TFS. I recently had to battle a MDX problem that someone who does more BI development I am sure why have had no issue with; but as with most of these blog posts (or my long term memory as I think of it) I thought it worth a post in case it helps anyone else&lt;/p></description></item><item><title>Enjoyed our SDL event last week?</title><link>https://blogs.blackmarble.co.uk/rfennell/enjoyed-our-sdl-event-last-week/</link><pubDate>Fri, 03 Feb 2012 20:56:58 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/enjoyed-our-sdl-event-last-week/</guid><description>
&lt;p>If you enjoyed Black Marble’s SDL event last week there is more info on the subject of &lt;a href="http://www.dotnetrocks.com/default.aspx?showNum=738">SDL on this weeks .NET Rocks podcast&lt;/a>&lt;/p></description></item><item><title>My guest post on Microsoft Visual Studio UK Team Blog published</title><link>https://blogs.blackmarble.co.uk/rfennell/my-guest-post-on-microsoft-visual-studio-uk-team-blog-published/</link><pubDate>Thu, 02 Feb 2012 22:48:18 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/my-guest-post-on-microsoft-visual-studio-uk-team-blog-published/</guid><description>
&lt;p>A &lt;a href="http://blogs.msdn.com/b/visualstudiouk/archive/2012/02/02/an-introduction-to-agile-development-with-team-foundation-server-but-i-m-not-a-net-developer.aspx">guest post&lt;/a> I wrote on TFS for the non-.NET developer has just been published on the &lt;a href="http://blogs.msdn.com/b/visualstudiouk/">Microsoft Visual Studio UK Team Blog&lt;/a>. Why not pop over and have a look.&lt;/p></description></item><item><title>Update released to fix issue for TFS 2010 with SQL Enterprise Page Compression</title><link>https://blogs.blackmarble.co.uk/rfennell/update-released-to-fix-issue-for-tfs-2010-with-sql-enterprise-page-compression/</link><pubDate>Thu, 02 Feb 2012 09:51:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/update-released-to-fix-issue-for-tfs-2010-with-sql-enterprise-page-compression/</guid><description>
&lt;p>&lt;a href="http://blogs.msdn.com/b/bharry/archive/2012/02/01/make-sure-your-sql-server-enterprise-edition-is-up-to-date.aspx">Brian Harry has just posted&lt;/a> on his blog about a bug in SQL page compression (found in SQL Enterprise) that can cause problems with TFS 2010 or TFS1(preview), previous version of TFS did not support page compression.&lt;/p>
&lt;p>So if you are using TFS and SQL Enterprise have a read and make sure the correct updates are in place.&lt;/p></description></item><item><title>Have you tried switching it on and off again? Go on be aggressive!</title><link>https://blogs.blackmarble.co.uk/rfennell/have-you-tried-switching-it-on-and-off-again-go-on-be-aggressive/</link><pubDate>Tue, 31 Jan 2012 12:43:09 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/have-you-tried-switching-it-on-and-off-again-go-on-be-aggressive/</guid><description>
&lt;p>We have been building ‘standard’ environments for our TFS Lab Management system. Environments that can be used for most of the projects we are involved in without too much extra setup e.g. a small domain controller VM and a Server VM with SQL and SharePoint. These environments have a series of snapshots so it can be used in a number of ways e.g if we just want SQL and IIS we just go back to a snapshot prior to SharePoint being installed.&lt;/p></description></item><item><title>More links from our SDL event</title><link>https://blogs.blackmarble.co.uk/rfennell/more-links-from-our-sdl-event/</link><pubDate>Fri, 27 Jan 2012 20:16:52 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/more-links-from-our-sdl-event/</guid><description>
&lt;p>If you want to hear a bit more detail on some of the common security issues we discussed at yesterdays SDL event why not listen to &lt;a href="http://www.dotnetrocks.com/default.aspx?showNum=735">Troy Hunt Secures ASP.NET recent show on .NET Rocks&lt;/a> or download &lt;a href="http://asafaweb.com/OWASP%20Top%2010%20for%20.NET%20developers.pdf">his PDF ‘OWASP Top 10 for .NET developers’&lt;/a>&lt;/p></description></item><item><title>Links from our SDL event today</title><link>https://blogs.blackmarble.co.uk/rfennell/links-from-our-sdl-event-today/</link><pubDate>Thu, 26 Jan 2012 19:30:42 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/links-from-our-sdl-event-today/</guid><description>
&lt;p>Thanks to everyone who attended our SDL event today. Here are a few links to information  we mentioned&lt;/p>
&lt;ul>
&lt;li>&lt;a href="http://www.microsoft.com/security/sdl/default.aspx">Microsoft SDK home page&lt;/a>, full of downloads, links and training videos&lt;/li>
&lt;li>&lt;a href="http://tfsbuildextensions.codeplex.com/wikipage?title=How%20to%20integrate%20the%20cat.net%20build%20activity&amp;amp;referringTitle=Documentation">TFS Build extensions for CAT.NET&lt;/a>, showing how to add SDL validation to a TFS build&lt;/li>
&lt;li>And there are selection of links to books on SDL on &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/page/Reading-List.aspx">my blog’s reading list page&lt;/a>&lt;/li>
&lt;/ul></description></item><item><title>New 1.3.0.0 release of the Community TFS Build Extensions for TFS 2010</title><link>https://blogs.blackmarble.co.uk/rfennell/new-1-3-0-0-release-of-the-community-tfs-build-extensions-for-tfs-2010/</link><pubDate>Wed, 25 Jan 2012 21:53:24 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/new-1-3-0-0-release-of-the-community-tfs-build-extensions-for-tfs-2010/</guid><description>
&lt;p>A new &lt;a href="http://tfsbuildextensions.codeplex.com/releases/view/79301">1.3.0.0 release of the Community TFS Build Extensions&lt;/a> has been published today. This contains some fixes  and two new activities&lt;/p>
&lt;ul>
&lt;li>&lt;a href="http://tfsbuildextensions.codeplex.com/wikipage?title=How%20to%20integrate%20the%20SPDispose%20build%20activity&amp;amp;referringTitle=Documentation">SPDisposeChecker&lt;/a> – checks for SharePoint best practice&lt;/li>
&lt;li>&lt;a href="http://tfsbuildextensions.codeplex.com/wikipage?title=How%20to%20integrate%20the%20cat.net%20build%20activity&amp;amp;referringTitle=Documentation">CatNetScan&lt;/a> – checks for common security issues&lt;/li>
&lt;/ul></description></item><item><title>Black Marble launches new series of free online event</title><link>https://blogs.blackmarble.co.uk/rfennell/black-marble-launches-new-series-of-free-online-event/</link><pubDate>Thu, 19 Jan 2012 13:31:39 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/black-marble-launches-new-series-of-free-online-event/</guid><description>
&lt;p>For many years &lt;a href="http://www.blackmarble.com/SectionDisplay.aspx?name=Events">Black Marble has run free events&lt;/a> on a wide range of technologies. Originally we only ran these locally in Yorkshire, but as time progressed we have run them across the UK and Eire. They are a great way to help your staff whether technical or managerial get up to speed with new developments in our industry.&lt;/p>
&lt;p>For 2012 we have decided to &lt;a href="http://www.blackmarble.co.uk/SectionDisplay.aspx?name=News&amp;amp;title=A%20Series%20of%20Online%20Events">try running some events online&lt;/a>. The format for these events will be a short 30 minute interactive sessions where you will have the chance to see a short presentation and/or demonstration on a technology followed by a Q&amp;amp;A session with the presenter.&lt;/p></description></item><item><title>TF266026 error when a workflow will not start in a lab environment</title><link>https://blogs.blackmarble.co.uk/rfennell/tf266026-error-when-a-workflow-will-not-start-in-a-lab-environment/</link><pubDate>Wed, 18 Jan 2012 17:05:13 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/tf266026-error-when-a-workflow-will-not-start-in-a-lab-environment/</guid><description>
&lt;p>A common cause of the TF266026 error is because when the build agent tries to start (it is the build agent that runs the workflows in Lab Management) it cannot access the custom assemblies folder as defined for its parent build controller. Obviously this problem only occurs if you have  set a custom assemblies path for parent build controller.&lt;/p>
&lt;p>&lt;a href="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_21.png">&lt;img
loading="lazy"
decoding="async"
alt="image"
class="image_figure image_internal image_unprocessed"
src="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_thumb_21.png"
title="image"
/>
&lt;/a>&lt;/p>
&lt;p>The reason for the error is because the agent is running as the Lab Management service account, in my case &lt;strong>tfs2010lab&lt;/strong>, as defined for the TPC in the TFS Administration Console. This account by default has no rights to the source folder assigned for the custom assemblies. This is not usually an issue until it needs to access source control to load custom assemblies (which actually it probably does not ever use as it is not building code!).&lt;/p></description></item><item><title>‘Showing a modal dialog box or form when the application is not running in UserInteractive mode’ error upgraded to TFS build extensions 1.2.0.0</title><link>https://blogs.blackmarble.co.uk/rfennell/showing-a-modal-dialog-box-or-form-when-the-application-is-not-running-in-userinteractive-mode-error-upgraded-to-tfs-build-extensions-1-2-0-0/</link><pubDate>Tue, 17 Jan 2012 15:14:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/showing-a-modal-dialog-box-or-form-when-the-application-is-not-running-in-userinteractive-mode-error-upgraded-to-tfs-build-extensions-1-2-0-0/</guid><description>
&lt;p>Whilst upgrading a TFS 2010 build today to the new &lt;a href="http://tfsbuildextensions.codeplex.com/">1.2 release of the Community TFS Build Extensions&lt;/a> we hit an issue. All seemed to go OK until the build tried to use the StyleCop activity, which failed with the error&lt;/p>
&lt;blockquote>
&lt;p>&lt;em>Showing a modal dialog box or form when the application is not running in UserInteractive mode is not a valid operation. Specify the ServiceNotification or DefaultDesktopOnly style to display a notification from a service application.&lt;/em>&lt;/p></description></item><item><title>Confused over the workflow to get an environment setup in TFS Lab Management?</title><link>https://blogs.blackmarble.co.uk/rfennell/confused-over-the-workflow-to-get-an-environment-setup-in-tfs-lab-management/</link><pubDate>Tue, 17 Jan 2012 11:48:54 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/confused-over-the-workflow-to-get-an-environment-setup-in-tfs-lab-management/</guid><description>
&lt;p>It can be a bit confusing to get work out which tools to use at which stages required to get a lab environment up and running in TFS. Here is a basic workflow showing what you need to do in System Center Virtual Machine Manager prior to starting in MTM Lab Center&lt;/p>
&lt;p>Note: if you want to &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/post/2011/12/23/Moving-Environments-between-TPCs-when-using-TFS-Lab-Management.aspx">copy environments between TFS Team project Collections have a look at this post&lt;/a>&lt;/p>
&lt;p>&lt;a href="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_19.png">&lt;img
loading="lazy"
decoding="async"
alt="image"
class="image_figure image_internal image_unprocessed"
src="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_thumb_19.png"
title="image"
/>
&lt;/a>&lt;/p></description></item><item><title>TF260073 incompatible architecture error when trying to deploy an environment in Lab Manager</title><link>https://blogs.blackmarble.co.uk/rfennell/tf260073-incompatible-architecture-error-when-trying-to-deploy-an-environment-in-lab-manager/</link><pubDate>Tue, 17 Jan 2012 09:21:40 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/tf260073-incompatible-architecture-error-when-trying-to-deploy-an-environment-in-lab-manager/</guid><description>
&lt;p>I got a TF260073, incompatible architecture error when trying to deploy a new virtual lab environment using a newly created VM and template. I found the fix in a &lt;a href="http://www.google.co.uk/url?sa=t&amp;amp;rct=j&amp;amp;q=tf260073&amp;amp;source=web&amp;amp;cd=2&amp;amp;ved=0CCgQFjAB&amp;amp;url=http%3A%2F%2Fsocial.msdn.microsoft.com%2FForums%2Fen-US%2Fvslab%2Fthread%2F3d613941-e24f-4095-be66-c621a51d5230%2F&amp;amp;ei=hDkVT8OsHJC3hAeXxZi4Ag&amp;amp;usg=AFQjCNGodU6eU2gnhu_nMPcYu__DTLCJTw&amp;amp;sig2=b93gLm5SxAzC3oaQrszwsg">forum post&lt;/a>.&lt;/p>
&lt;p>The issue was that when I had build the VMs, I had installed the Lab Management agents using a &lt;a href="http://archive.msdn.microsoft.com/vslabmgmt">VMprep DVD ISO&lt;/a> and mounted it using ‘share image instead of copying it’ option. This as the name implies means the ISO is mount from a share not copied to the server running the VM, this save time and disk resources. When I had stored my VM into the SCVMM Library I had left this option selected i.e the VMPrep.iso mounted. All I had to do to fix this issue was open the settings of the VM stored in the SCVMM Library and dismount the ISO, as shown below&lt;/p></description></item><item><title>Getting a ‘File Download’ dialog when trying to view TFS build report in Eclipse 3.7 with TEE</title><link>https://blogs.blackmarble.co.uk/rfennell/getting-a-file-download-dialog-when-trying-to-view-tfs-build-report-in-eclipse-3-7-with-tee/</link><pubDate>Fri, 13 Jan 2012 11:17:05 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/getting-a-file-download-dialog-when-trying-to-view-tfs-build-report-in-eclipse-3-7-with-tee/</guid><description>
&lt;p>When using TEE in Eclipse 3.7 on Ubuntu 11.10 there is a problem trying to view a TFS build report. If you click on the report in the Build Explorer you would expect a new tab to open and the report be shown. This is what you see in Eclipse on Windows and on older versions of Eclipse on Linux. However on Ubuntu 11.10 with Eclipse 3.7 you get a File Download dialog.&lt;/p></description></item><item><title>Changed my phone to a Nokia</title><link>https://blogs.blackmarble.co.uk/rfennell/changed-my-phone-to-a-nokia/</link><pubDate>Tue, 10 Jan 2012 12:52:09 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/changed-my-phone-to-a-nokia/</guid><description>
&lt;p>I swapped to a Nokia Lumia 800 yesterday from my LG E900, all very quick an easy after &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/post/2011/12/10/Error-0x80070490-when-trying-to-make-any-purchase-on-WP7-MarketPlace.aspx">my experience last month&lt;/a>.&lt;/p>
&lt;p>My first impressions&lt;/p>
&lt;ol>
&lt;li>the on/off/volume buttons were better placed for a left hander on the LG, but I expect I will get used to that.&lt;/li>
&lt;li>the poor reception in my house was not the LGs fault – just a bad reception area&lt;/li>
&lt;li>the Nokia does seem faster&lt;/li>
&lt;/ol></description></item><item><title>Problems finding XULRunner when running TEE11 CTP1 on Ubuntu and connecting to TFS Azure – a solution</title><link>https://blogs.blackmarble.co.uk/rfennell/problems-finding-xulrunner-when-running-tee11-ctp1-on-ubuntu-and-connecting-to-tfs-azure-a-solution/</link><pubDate>Sun, 08 Jan 2012 21:41:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/problems-finding-xulrunner-when-running-tee11-ctp1-on-ubuntu-and-connecting-to-tfs-azure-a-solution/</guid><description>
&lt;p>I recently got round to taking a look at &lt;a href="http://www.google.co.uk/url?sa=t&amp;amp;rct=j&amp;amp;q=tee%20ctp1&amp;amp;source=web&amp;amp;cd=1&amp;amp;ved=0CB4QFjAA&amp;amp;url=http%3A%2F%2Fwww.microsoft.com%2Fdownload%2Fen%2Fdetails.aspx%3Fid%3D27544&amp;amp;ei=5-4JT-elLcjQ4QTTneiNCA&amp;amp;usg=AFQjCNGfUBcFTHG_hre2XsaSXTXbil9cgg&amp;amp;sig2=PhKiipceucSDUg3HTbhZkQ">Team Explorer Everywhere 11 CTP1&lt;/a>. This is the version of TEE that allows you to access the &lt;a href="http://tfspreview.com">Azure hosted preview of the next version of TFS&lt;/a> using Eclipse as a client. I decided to start with  a clean OS so&lt;/p>
&lt;ol>
&lt;li>Downloaded the &lt;a href="http://www.ubuntu.com/download/ubuntu/download">Ubuntu 32bit ISO&lt;/a>&lt;/li>
&lt;li>Used this ISO to create a test VM on my copy of &lt;a href="https://www.virtualbox.org/">VirtualBox&lt;/a> (currently using VirtualBox as this allows me to create 64bit and 32bit guest VMs on my Windows 7 laptop without have to reboot  to my dual boot Windows 2008 partition to access Hyper-V)&lt;/li>
&lt;li>Selected default installation options for Ubuntu&lt;/li>
&lt;li>When completed used the Ubuntu Software Centre tool to install Eclipse 3.7&lt;/li>
&lt;li>Downloaded the &lt;a href="http://www.google.co.uk/url?sa=t&amp;amp;rct=j&amp;amp;q=tee%20ctp1&amp;amp;source=web&amp;amp;cd=1&amp;amp;ved=0CB4QFjAA&amp;amp;url=http%3A%2F%2Fwww.microsoft.com%2Fdownload%2Fen%2Fdetails.aspx%3Fid%3D27544&amp;amp;ei=5-4JT-elLcjQ4QTTneiNCA&amp;amp;usg=AFQjCNGfUBcFTHG_hre2XsaSXTXbil9cgg&amp;amp;sig2=PhKiipceucSDUg3HTbhZkQ">Team Explorer Everywhere 11 CTP1&lt;/a> and installed the Eclipse plug as detailed on the download page.&lt;/li>
&lt;li>Once installed I then tried to connect to our in house TFS2010 server from with Eclipse – it all worked fine&lt;/li>
&lt;/ol>
&lt;p>I next tried to connect to my project collection on &lt;a href="https://tfspreview.com">https://tfspreview.com&lt;/a> and this is where I hit a problem….&lt;/p></description></item><item><title>Jan 2012 Agile Yorkshire meeting – An Extreme Hour</title><link>https://blogs.blackmarble.co.uk/rfennell/jan-2012-agile-yorkshire-meeting-an-extreme-hour/</link><pubDate>Fri, 06 Jan 2012 10:27:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/jan-2012-agile-yorkshire-meeting-an-extreme-hour/</guid><description>
&lt;p>&lt;a href="http://www.agileyorkshire.org/event-announcements/10thjanuaryanextremehour">Agile Yorkshire is kicking off the New Year on the Tuesday Jan 10 at Old Broadcasting House&lt;/a>, Leeds where the subject will be &lt;a href="http://www.extremeprogramming.org/">Extreme Programming(XP)&lt;/a>. The session will be based around an Extreme Hour: a hands-on XP project miniature with no coding experience required. Then off to be pub to continue the chat.&lt;/p>
&lt;p>Unfortunately I cannot make the session, but I am sure it will be interesting, especially if you have not tried an Extreme Hour.&lt;/p></description></item><item><title>Radio TFS is back</title><link>https://blogs.blackmarble.co.uk/rfennell/radio-tfs-is-back-2/</link><pubDate>Tue, 03 Jan 2012 10:21:07 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/radio-tfs-is-back-2/</guid><description>
&lt;p>In case you had not noticed, the &lt;a href="http://www.radiotfs.com/">Radio TFS podcast&lt;/a> is back after an eight month hiatus. A good place to keep in touch the the new announcements related to VS11&lt;/p></description></item><item><title>Radio TFS is back</title><link>https://blogs.blackmarble.co.uk/rfennell/radio-tfs-is-back/</link><pubDate>Tue, 03 Jan 2012 10:21:07 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/radio-tfs-is-back/</guid><description>
&lt;p>In case you had not noticed, the &lt;a href="http://www.radiotfs.com/">Radio TFS podcast&lt;/a> is back after an eight month hiatus. A good place to keep in touch the the new announcements related to VS11&lt;/p></description></item><item><title>Moving Environments between TPCs when using TFS Lab Management</title><link>https://blogs.blackmarble.co.uk/rfennell/moving-environments-between-tpcs-when-using-tfs-lab-management-2/</link><pubDate>Fri, 23 Dec 2011 13:09:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/moving-environments-between-tpcs-when-using-tfs-lab-management-2/</guid><description>
&lt;h2 id="background">Background&lt;/h2>
&lt;p>One area I think can be found confusing in &lt;a href="http://msdn.microsoft.com/en-us/vstudio/ee712698">TFS Lab Management&lt;/a> is that all environments are associated with specific Team Projects (TP) within Team Project Collections (TPC). This is not what you might first expect if you think of Lab Management as just a big Hyper-V server. When configured you end up with a number of TPC/TP related silos as shown in the diagram below.&lt;/p>
&lt;p>&lt;a href="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_7.png">&lt;img
loading="lazy"
decoding="async"
alt="image"
class="image_figure image_internal image_unprocessed"
src="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_thumb_8.png"
title="image"
/>
&lt;/a>&lt;/p></description></item><item><title>Moving Environments between TPCs when using TFS Lab Management</title><link>https://blogs.blackmarble.co.uk/rfennell/moving-environments-between-tpcs-when-using-tfs-lab-management/</link><pubDate>Fri, 23 Dec 2011 13:09:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/moving-environments-between-tpcs-when-using-tfs-lab-management/</guid><description>
&lt;h2 id="background">Background&lt;/h2>
&lt;p>One area I think can be found confusing in &lt;a href="http://msdn.microsoft.com/en-us/vstudio/ee712698">TFS Lab Management&lt;/a> is that all environments are associated with specific Team Projects (TP) within Team Project Collections (TPC). This is not what you might first expect if you think of Lab Management as just a big Hyper-V server. When configured you end up with a number of TPC/TP related silos as shown in the diagram below.&lt;/p>
&lt;p>&lt;a href="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_7.png">&lt;img
loading="lazy"
decoding="async"
alt="image"
class="image_figure image_internal image_unprocessed"
src="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_thumb_8.png"
title="image"
/>
&lt;/a>&lt;/p></description></item><item><title>Community TFS Build Extensions – December 2011 released</title><link>https://blogs.blackmarble.co.uk/rfennell/community-tfs-build-extensions-december-2011-released/</link><pubDate>Fri, 23 Dec 2011 12:51:52 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/community-tfs-build-extensions-december-2011-released/</guid><description>
&lt;p>A new release of Community TFS Build Extensions have shipped. You can &lt;a href="http://mikefourie.wordpress.com/2011/12/22/community-tfs-build-extensions-december-2011/">find more details on Mike Fourie’s blog&lt;/a> or at the &lt;a href="http://tfsbuildextensions.codeplex.com/releases/view/75159">project home on Codeplex&lt;/a>&lt;/p></description></item><item><title>Don’t need to go into work at all</title><link>https://blogs.blackmarble.co.uk/rfennell/dont-need-to-go-into-work-at-all/</link><pubDate>Thu, 22 Dec 2011 20:11:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/dont-need-to-go-into-work-at-all/</guid><description>
&lt;p>Today we got &lt;a href="http://technet.microsoft.com/en-us/network/dd420463">Direct Access&lt;/a> working; I can now access all the features of our &lt;a href="http://msdn.microsoft.com/en-us/vstudio/ee712698">TFS Lab Management&lt;/a> instance from home. No more remoting onto on box to hop to another. I never need to go to the office again!&lt;/p></description></item><item><title>Windows update now includes Microsoft Visual Studio 2010 Service Pack 1, so expect a slow shutdown when it applies</title><link>https://blogs.blackmarble.co.uk/rfennell/windows-update-now-includes-microsoft-visual-studio-2010-service-pack-1-so-expect-a-slow-shutdown-when-it-applies/</link><pubDate>Thu, 22 Dec 2011 14:36:20 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/windows-update-now-includes-microsoft-visual-studio-2010-service-pack-1-so-expect-a-slow-shutdown-when-it-applies/</guid><description>
&lt;p>The Microsoft Visual Studio 2010 Service Pack 1 is now coming down as part of Windows Update. Watch out for this, my PC has just taken best part of two hours to reboot as it decided to apply this service pack, even though I had already applied it manually when I built the PC&lt;/p></description></item><item><title>Debugging CodedUi Tests when launching test as a different user</title><link>https://blogs.blackmarble.co.uk/rfennell/debugging-codedui-tests-when-launching-test-as-a-different-user/</link><pubDate>Wed, 21 Dec 2011 14:17:57 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/debugging-codedui-tests-when-launching-test-as-a-different-user/</guid><description>
&lt;p>If you are working with CodedUI tests in Visual Studio you sometimes get unexpected results, such as the wrong field be selected in replays. When trying to work out what has happened the logging features are really useful. These are probably already switched on, but you can check by following the &lt;a href="http://blogs.msdn.com/b/gautamg/archive/2009/11/29/how-to-enable-tracing-for-ui-test-components.aspx">details in this post&lt;/a>.&lt;/p>
&lt;p>Assuming you make no logging level changes from the default, if you look in the&lt;/p>
&lt;blockquote>
&lt;p>%Temp%UITestLogsLastRun&lt;/p></description></item><item><title>DevOps are testers best placed to fill this role?</title><link>https://blogs.blackmarble.co.uk/rfennell/devops-are-testers-best-placed-to-fill-this-role/</link><pubDate>Fri, 16 Dec 2011 17:51:01 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/devops-are-testers-best-placed-to-fill-this-role/</guid><description>
&lt;p>&lt;a href="http://en.wikipedia.org/wiki/DevOps">DevOps&lt;/a> seems to be the new buzz role in the industry at present. People who can bridge the gap between the worlds of development and IT pros. Given my career history this could be a description of  the path I took. I have done both, and now sit in the middle covering ALM consultancy where I work with both roles. You can’t avoid a bit of development and a bit of IT pro work when installing and configuring TFS with some automated build and deployment.&lt;/p></description></item><item><title>When you try to run a test in MTM you get a dialog ‘Object reference not set to an instance of an object’</title><link>https://blogs.blackmarble.co.uk/rfennell/when-you-try-to-run-a-test-in-mtm-you-get-a-dialog-object-reference-not-set-to-an-instance-of-an-object/</link><pubDate>Fri, 16 Dec 2011 16:41:29 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/when-you-try-to-run-a-test-in-mtm-you-get-a-dialog-object-reference-not-set-to-an-instance-of-an-object/</guid><description>
&lt;p>When trying to run a newly created manual test in MTM I got the error dialog&lt;/p>
&lt;p>‘You cannot run the selected tests, Object reference not set to an instance of an object’.&lt;/p>
&lt;p>&lt;a href="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_5.png">&lt;img
loading="lazy"
decoding="async"
alt="image"
class="image_figure image_internal image_unprocessed"
src="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_thumb_7.png"
title="image"
/>
&lt;/a>&lt;/p>
&lt;p>On checking the windows event log I saw&lt;/p>
&lt;p>Detailed Message: TF30065: An unhandled exception occurred.&lt;/p>
&lt;p>Web Request Details Url: &lt;a href="http://%E2%80%A6%E2%80%A6/TestManagement/v1.0/TestResultsEx.asmx">http://……/TestManagement/v1.0/TestResultsEx.asmx&lt;/a>&lt;/p>
&lt;p>So not really that much help in diagnosing the problem!&lt;/p>
&lt;p>Turns out the problem was I had been editing the test case work item type. Though it had saved/imported without any errors (it is validated during these processes) something was wrong with it. I suspect to do with filtering the list of users in the ‘assigned to’ field as this is what I last remember editing, but I might be wrong, it was on a demo TFS instance I have not used for a while.&lt;/p></description></item><item><title>New community build extensions documentation for the RoboCopy activity</title><link>https://blogs.blackmarble.co.uk/rfennell/new-community-build-extensions-documentation-for-the-robocopy-activity/</link><pubDate>Thu, 15 Dec 2011 22:24:46 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/new-community-build-extensions-documentation-for-the-robocopy-activity/</guid><description>
&lt;p>I have just published some documentation on theTFS2010 community build extensions &lt;a href="http://tfsbuildextensions.codeplex.com/wikipage?title=How%20to%20integrate%20the%20robocopy%20activity&amp;amp;referringTitle=Documentation">RoboCopy activity&lt;/a>&lt;/p></description></item><item><title>Updated SharePoint TFS Team Build Activity documentation</title><link>https://blogs.blackmarble.co.uk/rfennell/updated-sharepoint-tfs-team-build-activity-documentation/</link><pubDate>Wed, 14 Dec 2011 16:38:40 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/updated-sharepoint-tfs-team-build-activity-documentation/</guid><description>
&lt;p>I have just published &lt;a href="http://tfsbuildextensions.codeplex.com/wikipage?title=How%20to%20integrate%20the%20SharePointDeployment%20build%20activity&amp;amp;referringTitle=Documentation">updated documentation on the SharePoint build activity&lt;/a> for the Community TFS build extensions.&lt;/p></description></item><item><title>The battle of the Lenovo W520 and projectors</title><link>https://blogs.blackmarble.co.uk/rfennell/the-battle-of-the-lenovo-w520-and-projectors/</link><pubDate>Mon, 12 Dec 2011 10:02:42 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/the-battle-of-the-lenovo-w520-and-projectors/</guid><description>
&lt;p>My Lenovo W520 is the best laptop I have owned, but I have had one major issue with it, external projectors. The problem is it does not like to duplicate the laptop screen output to a projector, it works fine if extending the desktop, not duplicating.&lt;/p>
&lt;p>Every time I have tried to use it with a projector I either end up only showing on the projector and looking over my shoulder, or fiddling for ages until it suddenly works, usually at a low resolution, I don’t know what I did to get to this point so I don’t dare fiddle any more so use it anyway. A bit of a problem given the number of presentations I do. A quick &lt;a href="http://www.google.co.uk/search?gcx=c&amp;amp;sourceid=chrome&amp;amp;ie=UTF-8&amp;amp;q=w520&amp;#43;optimus&amp;#43;bios#sclient=psy-ab&amp;amp;hl=en&amp;amp;source=hp&amp;amp;q=w520&amp;#43;duplicate&amp;#43;external&amp;amp;pbx=1&amp;amp;oq=w520&amp;#43;duplicate&amp;#43;external&amp;amp;aq=f&amp;amp;aqi=&amp;amp;aql=&amp;amp;gs_sm=e&amp;amp;gs_upl=4183l8502l0l9222l20l13l1l4l4l3l1292l7334l4-3.8.0.1l16l0&amp;amp;bav=on.2,or.r_gc.r_pw.,cf.osb&amp;amp;fp=e5e41118a534a8ca&amp;amp;biw=1920&amp;amp;bih=1019">search&lt;/a> shows I am not alone in this problem.&lt;/p></description></item><item><title>Error 0x80070490 when trying to make any purchase on WP7 MarketPlace</title><link>https://blogs.blackmarble.co.uk/rfennell/error-0x80070490-when-trying-to-make-any-purchase-on-wp7-marketplace/</link><pubDate>Sat, 10 Dec 2011 16:37:34 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/error-0x80070490-when-trying-to-make-any-purchase-on-wp7-marketplace/</guid><description>
&lt;p>Recently I have had a problem with my LG E900 Windows Phone 7 running Mango. Whenever I try to make a purchase on marketplace I was getting the error “There has been a problem completing your request. Try again later” and seeing the error code 0x80070490. A search on the web, asking around everyone I thought might have an answer and placing a question on &lt;a href="http://answers.microsoft.com/en-us/winphone/forum/wp7-wpapps/error-0x80070490-when-trying-to-make-any-purchase/e33ce119-120d-4863-bfda-aa709cbd0956?page=1&amp;amp;tm=1323511313645#footer">Microsoft Answers&lt;/a> got me no where.&lt;/p></description></item><item><title>When you forget to save a word document</title><link>https://blogs.blackmarble.co.uk/rfennell/when-you-forget-to-save-a-word-document/</link><pubDate>Fri, 09 Dec 2011 13:33:05 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/when-you-forget-to-save-a-word-document/</guid><description>
&lt;p>We have all done it, opened Word typed all morning, not bothering to save the file as we go along and then for some mad reason exited Word say you did not want to save. So you loose the mornings work.&lt;/p>
&lt;p>Now we know that Word does an auto save, but if you are stupid enough to say yes on exit without saving how do you get the auto backup file? Does Word even keep a backup if you never saved the file for the first time?&lt;/p></description></item><item><title>My experiences moving to BlogEngine.NET</title><link>https://blogs.blackmarble.co.uk/rfennell/my-experiences-moving-to-blogengine-net/</link><pubDate>Thu, 08 Dec 2011 13:16:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/my-experiences-moving-to-blogengine-net/</guid><description>
&lt;h1 id="background">Background&lt;/h1>
&lt;p>I have recently moved this blog server from using &lt;a href="http://telligent.com/">Community Server 2007 (CS2007)&lt;/a> to &lt;a href="http://www.dotnetblogengine.net/">BlogEngine.NET&lt;/a>.&lt;/p>
&lt;p>We started blogging in 2004 using .Text, moving through the free early versions of Community Server then purchased Community Server Small Business edition in 2007. This cost a few hundred pounds. We recently decided that we had to bring this service up to date, if for no other reason, to patch the underling ASP.NET system up to date. We checked how much it would cost to bring Community Server to the current version and were shocked by the cost, many thousands of dollars. Telligent, the developers, have moved to only servicing enterprise customers, they have no small business offering. So we needed to find a new platform.&lt;/p></description></item><item><title>Black Marble’s blog server has changed platform to blogengine.net</title><link>https://blogs.blackmarble.co.uk/rfennell/black-marbles-blog-server-has-changed-platform-to-blogengine-net/</link><pubDate>Wed, 07 Dec 2011 09:45:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/black-marbles-blog-server-has-changed-platform-to-blogengine-net/</guid><description>
&lt;p>Hopefully you should not notice, but we have moved this Blog Server from using &lt;a href="http://telligent.com/">Community Server 2007&lt;/a> to &lt;a href="http://www.dotnetblogengine.net/">BlogEngine.NET&lt;/a>. We have been busy bring over all the content so any search should still return the same page, but it might take a few days.&lt;/p>
&lt;p>I will be posting on my experiences as soon as I have my notes sorted.&lt;/p>
&lt;p>&lt;strong>THE MAIN CHANGE YOU MIGHT SEE IS THAT THE BM-BLOGGERS AGGREGRATE FEED HAS MOVED TO&lt;/strong> &lt;a href="http://blogs.blackmarble.co.uk/blogs/syndication.axd%20">http://blogs.blackmarble.co.uk/blogs/syndication.axd &lt;/a>&lt;/p></description></item><item><title>We need to teach children computer science</title><link>https://blogs.blackmarble.co.uk/rfennell/we-need-to-teach-children-computer-science/</link><pubDate>Mon, 28 Nov 2011 11:14:44 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/we-need-to-teach-children-computer-science/</guid><description>
&lt;p>The &lt;a href="http://news.bbc.co.uk/today/hi/today/newsid_9649000/9649670.stm">Today programme on BBC Radio 4 this morning had a section on children not being taught computer science.&lt;/a> so says a variety of employers who cannot find the staff they need. It seems entry to Computer Sciences degrees has been dropping over the years and the current ICT course at school are to blame.&lt;/p>
&lt;p>I was at school in the first generation to get access to computers. I did Computer Sciences &lt;a href="http://en.wikipedia.org/wiki/GCE_Ordinary_Level">O level&lt;/a> (1982 I think, it is a while ago) and we learnt about flowcharts, CPU, memory and programmed in BASIC on a teletype and sent 5 hole punch paper tape off to a local Polytechnic for processing and a week or so later got back a printout saying error on line 10 (and my staff today complain about their slow PCs!).  During the course we did at least move onto a &lt;a href="http://en.wikipedia.org/wiki/TRS-80">Tandy TRS80&lt;/a> so it did get a bit more immediate.&lt;/p></description></item><item><title>Windows Phone 7 not synchronising Outlook</title><link>https://blogs.blackmarble.co.uk/rfennell/windows-phone-7-not-synchronising-outlook/</link><pubDate>Mon, 28 Nov 2011 10:22:23 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/windows-phone-7-not-synchronising-outlook/</guid><description>
&lt;p>I had a problem with my LG E900 WP7 phone over the weekend, Outlook stopped synchronising with our office Exchange server.&lt;/p>
&lt;p>It started when I got back from a trip Ireland. My phone switched back from roaming and started to use 3G for data again, as opposed to WIFI. Also over the weekend we had a connectivity problem from the office to the Internet so for a while I could not connect to any of our services from any device. However, even after both these things were sorted my Outlook still failed to sync, it said it was in sync but showed no new email since Friday when it was disconnected from my Irish ISP based MIFI in Ireland. No errors were shown. I waited until I got back to the office and tried a sync via our internal WIFI, all to no effect.&lt;/p></description></item><item><title>Working with Hyper-V, VLAN tags and TFS 2010 Lab Management</title><link>https://blogs.blackmarble.co.uk/rfennell/working-with-hyper-v-vlan-tags-and-tfs-2010-lab-management/</link><pubDate>Wed, 23 Nov 2011 15:45:25 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/working-with-hyper-v-vlan-tags-and-tfs-2010-lab-management/</guid><description>
&lt;p>&lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/archive/2011/01/21/at-last-my-creature-it-lives-adventures-with-lab-management-and-vlan-tags.aspx">I did a post&lt;/a> at the start of the year about Lab management and VLAN tags, how they are not supported, but you can work around the problems. Over the past few months we have split our old Hyper-V cluster into one for production and one for test/lab development. This gave our IT team a chance to look at the VLAN problem again.&lt;/p>
&lt;p>So a quick reminder of the issue – the deployment tools in Lab management that create environments provide no means to set a VLAN tag for any networks connections they create. Once an environment is created you can manually set a VLAN tag, but it is all a bit of a pain and certainly unsupported.&lt;/p></description></item><item><title>Typemock Isolator 6.2 released–now with TFS2010 build support</title><link>https://blogs.blackmarble.co.uk/rfennell/typemock-isolator-6-2-released-now-with-tfs2010-build-support/</link><pubDate>Mon, 21 Nov 2011 15:00:03 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/typemock-isolator-6-2-released-now-with-tfs2010-build-support/</guid><description>
&lt;p>&lt;a href="http://www.typemock.com/isolator-product-page">Typemock&lt;/a> have recently released a new version of Isolator, 6.2. As well as the usual &lt;a href="http://docs.typemock.com/Isolator/#%23typemock.chm/Documentation/ReleaseNotes62.html">fixes and enhancements&lt;/a> you would expect, this is the first version to support TFS 2010 team build out the box.&lt;/p>
&lt;p>Prior to this release Typemock supported MSBuild based TFS builds (2005/2008) but not the Windows Workflow based version in TFS 2010. The issue was that in TFS 2010 builds it was possible for build steps to run in parallel, maybe on different build agent PCs, so you could not guarantee that Typemock Isolator was intercepting the correct threads. You could call the MSBuild tasks to enable the mocking interception, as in 2005/2008) it was just that they did not work in practice on 2010.&lt;/p></description></item><item><title>Black Marble at the Abbey Dash in Leeds</title><link>https://blogs.blackmarble.co.uk/rfennell/black-marble-at-the-abbey-dash-in-leeds/</link><pubDate>Mon, 21 Nov 2011 10:36:03 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/black-marble-at-the-abbey-dash-in-leeds/</guid><description>
&lt;p>We got a good turn out of Black Marble staff at this years &lt;a href="http://www.ageuk.org.uk/get-involved/events-and-challenges/leeds-abbey-dash-in-aid-of-age-uk/">Age UK Abbey Dash 10K in Leeds&lt;/a>. We were amongst over 8000 runners who turned out for a cool and foggy Yorkshire Sunday morning run.&lt;/p>
&lt;p>&lt;a href="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_7B59B8F5.png">&lt;img
loading="lazy"
decoding="async"
alt="image"
class="image_figure image_internal image_unprocessed"
src="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_thumb_6D1B4005.png"
title="image"
/>
&lt;/a>&lt;/p>
&lt;p>We had a handicap race amongst ourselves, using a &lt;a href="http://en.wikipedia.org/wiki/The_Wisdom_of_Crowds">wisdom of crowds&lt;/a> poll to estimate everyone target time. This was won by &lt;a href="http://blogs.blackmarble.co.uk/blogs/sspencer/default.aspx">Steve Spencer our Development Director&lt;/a>. He beat his target by 20 minutes. I am not sure whether this says more about his fitness or our staff’s opinion of him!&lt;/p></description></item><item><title>More experiences upgrading my Media Center to receive Freeview HD</title><link>https://blogs.blackmarble.co.uk/rfennell/more-experiences-upgrading-my-media-center-to-receive-freeview-hd/</link><pubDate>Sat, 19 Nov 2011 11:47:25 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/more-experiences-upgrading-my-media-center-to-receive-freeview-hd/</guid><description>
&lt;p>In my post &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/archive/2011/11/14/experiences-upgrading-my-media-center-to-receive-freeview-hd.aspx">experiences upgrading my Media Center to receive Freeview HD&lt;/a> I said I thought the reason my Windows 7 Media Center was hanging at the &amp;quot;TV signal configuration” step was down to using mixed tuner cards. Well my second &lt;a href="http://www.pctvsystems.com/Products/ProductsEuropeAsia/Digitalproducts/PCTVnanoStickT2/tabid/248/language/en-GB/Default.aspx">PCTV nanoStick T2&lt;/a>.arrived yesterday so I was able to try the same process with a pair of identical USB T2 tuners.&lt;/p>
&lt;p>Guess what? I got the same problem!&lt;/p>
&lt;p>However, being USB devices it mean I could test the tuners on my laptop, a Lenovo W520 (Core i7, 16Gb, Windows 7). So I plugged them both in, they found drivers from the web automatically, I ran Media Center, select setup the TV signal and……. it worked! A few worrying pauses here and there, but it got there in about an hour.&lt;/p></description></item><item><title>Access denied when running a command with InvokeProcess in a TFS team build</title><link>https://blogs.blackmarble.co.uk/rfennell/access-denied-when-running-a-command-with-invokeprocess-in-a-tfs-team-build/</link><pubDate>Fri, 18 Nov 2011 16:33:37 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/access-denied-when-running-a-command-with-invokeprocess-in-a-tfs-team-build/</guid><description>
&lt;p>When you are trying to run a command line tool via the InvokeProcess activity in a TFS 2010 Team build you might see the somewhat confusing ‘Access denied’ error. There appears to be no more detail in the log.&lt;/p>
&lt;p>I have found that this is usually down to a type on the filename property of the activity.&lt;/p>
&lt;p>It should be set to something like&lt;/p>
&lt;blockquote>
&lt;p>“c:my toolstool.exe”&lt;/p>&lt;/blockquote>
&lt;p>but is actually set to&lt;/p></description></item><item><title>Black Marble events for the remainder of 2011 and into 2012</title><link>https://blogs.blackmarble.co.uk/rfennell/black-marble-events-for-the-remainder-of-2011-and-into-2012/</link><pubDate>Mon, 14 Nov 2011 16:55:28 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/black-marble-events-for-the-remainder-of-2011-and-into-2012/</guid><description>
&lt;p>Whilst I have been on holiday &lt;a href="http://www.blackmarble.com/SectionDisplay.aspx?name=Events">Black Marble have announced some new events&lt;/a> and this time they are not just in the UK, we have a couple in our &lt;a href="http://www.glandore.ie/fitzwilliamHall.asp">new Dublin office location&lt;/a>. The programme up to new year is:&lt;/p>
&lt;ul>
&lt;li>17 Nov 2011 (Holiday Inn Leeds/Bradford)
&lt;ul>
&lt;li>Am - [Delivering High Impact WebSites with SharePoint](&lt;a href="http://www.blackmarble.com/events.aspx?event=Delivering">http://www.blackmarble.com/events.aspx?event=Delivering&lt;/a> High Impact WebSites with SharePoint) SharePoint 2010 creates a dynamic and striking internet experience for your users.&lt;/li>
&lt;li>Pm - [A Guide to Successfully Adopting the Cloud for IT Managers](&lt;a href="http://www.blackmarble.com/events.aspx?event=A">http://www.blackmarble.com/events.aspx?event=A&lt;/a> Guide to Successfully Adopting the Cloud for IT Managers) This session will be exploring the business value of cloud computing with Microsoft Windows Azure.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>30 Nov 2011 (Black Marble office Cleckheaton)
&lt;ul>
&lt;li>Am- [TFS for the small team – hosted in the cloud](&lt;a href="http://www.blackmarble.com/events.aspx?event=TFS">http://www.blackmarble.com/events.aspx?event=TFS&lt;/a> for the small team – hosted in the cloud) I’m doing this one and I will be talking about the hosted version of TFS, its UI, the new features it exposed from TFS vNext.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>6 Dec 2011 (Dublin)
&lt;ul>
&lt;li>Am - [The Right Tools for your Application Lifecycle](&lt;a href="http://www.blackmarble.com/events.aspx?event=The">http://www.blackmarble.com/events.aspx?event=The&lt;/a> Right Tools for your Application Lifecycle) This session will discuss how this Application Lifecycle Management process can be managed, and what are the right tools to do that – Visual Studio Team Foundation Server.&lt;/li>
&lt;li>Pm - [An Afternoon of Windows 8](&lt;a href="http://www.blackmarble.com/events.aspx?event=An">http://www.blackmarble.com/events.aspx?event=An&lt;/a> Afternoon of Windows 8) Following the fanfare, what is there in Windows 8 for developers and the IT professional?&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>8 Dec 2011 (Holiday Inn Leeds/Bradford)
&lt;ul>
&lt;li>All day - [Architecture Forum in the North 4](&lt;a href="http://www.blackmarble.com/events.aspx?event=Architecture">http://www.blackmarble.com/events.aspx?event=Architecture&lt;/a> Forum in the North 4) The top Microsoft Architecture Forum in the UK returns for its fourth year.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>26 Jan 2012 (Holiday Inn Leeds/Bradford)
&lt;ul>
&lt;li>Am - [Black Marbles Annual Technical Update for Microsoft Technologies – 2012](&lt;a href="http://www.blackmarble.com/events.aspx?event=Black">http://www.blackmarble.com/events.aspx?event=Black&lt;/a> Marbles Annual Technical Update for Microsoft Technologies - 2012) Return of our roadmap for all things Microsoft!&lt;/li>
&lt;li>Pm - [Implementing the Secure Development Lifecycle in your ALM Process](&lt;a href="http://www.blackmarble.com/events.aspx?event=Implementing">http://www.blackmarble.com/events.aspx?event=Implementing&lt;/a> the Secure Development Lifecycle in your ALM Process) A look at how implementing Microsoft's Security Development Lifecycle (SDL) into your development process can improve quality, reliability and long-term maintainability.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;p>Hope to see you at some of these events, I won’t be at all of them due to client commitments, shame I enjoy doing these.&lt;/p></description></item><item><title>Experiences upgrading my Media Center to receive Freeview HD</title><link>https://blogs.blackmarble.co.uk/rfennell/experiences-upgrading-my-media-center-to-receive-freeview-hd/</link><pubDate>Mon, 14 Nov 2011 16:23:17 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/experiences-upgrading-my-media-center-to-receive-freeview-hd/</guid><description>
&lt;p>[Update: Also so &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/archive/2011/11/19/more-experiences-upgrading-my-media-center-to-receive-freeview-hd.aspx">More experiences upgrading my Media Center to receive Freeview HD&lt;/a>]&lt;/p>
&lt;p>I have used a &lt;a href="http://windows.microsoft.com/en-US/windows/help/windows-media-center">Windows Media Center&lt;/a> as my only means to watch TV for about 5 years; upgrading over the years from XP to Vista and onto Windows 7.&lt;/p>
&lt;p>![Picture of Windows Media Center](&lt;a href="http://res1.windows.microsoft.com/resbox/en/Windows">http://res1.windows.microsoft.com/resbox/en/Windows&lt;/a> 7/main/9b3f877b-eaad-494e-a4ab-938576edf074_60.jpg &amp;quot;Picture of Windows Media Center&amp;quot;)&lt;/p>
&lt;p>I am a completely hooked on the ease of use, especially if you just want a means to watch and record &lt;a href="http://freeview.co.uk/">Freeview&lt;/a> (the UK free to air terrestrial service). Far easier UI than any Freeview PVR I have seen, and I personally think easier than Sky+ box (satellite) or Virgin’s Tivo (cable) though I don’t have much experience of these device (and they do look a bit of a pain to integrate with Media Center, but they are not really designed for that)&lt;/p></description></item><item><title>No error detail when using VMPrep</title><link>https://blogs.blackmarble.co.uk/rfennell/no-error-detail-when-using-vmprep/</link><pubDate>Wed, 26 Oct 2011 10:28:55 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/no-error-detail-when-using-vmprep/</guid><description>
&lt;p>When using &lt;a href="http://archive.msdn.microsoft.com/vslabmgmt">VMPrep to setup a VM for use in a Lab Management system&lt;/a> I got the error cross at the bottom of the dialog&lt;/p>
&lt;p>&lt;a href="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_4FB65B25.png">&lt;img
loading="lazy"
decoding="async"
alt="image"
class="image_figure image_internal image_unprocessed"
src="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_thumb_2F9B4E68.png"
title="image"
/>
&lt;/a>&lt;/p>
&lt;p>Not too much help, usually there is a link to the log file or a message.&lt;/p>
&lt;p>If you look in the log file in &lt;strong>c:user[name]AppdataRoamingLMInstaller.txt&lt;/strong> you see that the path to the Patches folder is invalid.&lt;/p>
&lt;p>This is fixed by editing the &lt;strong>VMPrepToolVMPrepToolLibraryApplications.XML&lt;/strong> file and correcting the path (which I had made a typo in)&lt;/p></description></item><item><title>Speaking at a Black Marble event on TFS on Azure</title><link>https://blogs.blackmarble.co.uk/rfennell/speaking-at-a-black-marble-event-on-tfs-on-azure/</link><pubDate>Fri, 21 Oct 2011 11:12:33 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/speaking-at-a-black-marble-event-on-tfs-on-azure/</guid><description>
&lt;p>I will be speaking at a [Black Marble event on the 30th November on the new TFS vNext announcements for TFS on Azure](&lt;a href="http://www.blackmarble.com/events.aspx?event=TFS">http://www.blackmarble.com/events.aspx?event=TFS&lt;/a> for the small team – hosted in the cloud). Though this event is target as hosted TFS, I will be doing demos of the new web based UI for agile project management in TFS that is common across all VNext versions.&lt;/p>
&lt;p>Hope to see you there&lt;/p></description></item><item><title>Using Nuget and TFS Build 2010</title><link>https://blogs.blackmarble.co.uk/rfennell/using-nuget-and-tfs-build-2010/</link><pubDate>Mon, 17 Oct 2011 10:38:02 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/using-nuget-and-tfs-build-2010/</guid><description>
&lt;p>At one of our &lt;a href="http://www.blackmarble.co.uk/events">recent events&lt;/a> I was asked if I had any experience using &lt;a href="http://nuget.codeplex.com/">Nuget&lt;/a> within a TFS 2010 build. At the time I had not, but I thought it worth a look.&lt;/p>
&lt;p>For those of you who don’t know Nuget is a package manager that provides a developer with a way to manage assembly references in a project for assemblies that are not within their solution. It is most commonly used to manage external commonly used assemblies such a nHibernate or JQuery but you can also use it manage &lt;a href="http://docs.nuget.org/docs/creating-packages/hosting-your-own-nuget-feeds">your own internal shared libraries&lt;/a>.&lt;/p></description></item><item><title>You can still sign up for DDDNorth tomorrow</title><link>https://blogs.blackmarble.co.uk/rfennell/you-can-still-sign-up-for-dddnorth-tomorrow/</link><pubDate>Fri, 07 Oct 2011 12:03:29 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/you-can-still-sign-up-for-dddnorth-tomorrow/</guid><description>
&lt;p>&lt;a href="http://www.developerdeveloperdeveloper.com/north/Default.aspx">Registration is still open for tomorrow’s event&lt;/a> so if your weekend has just become free why not come along?&lt;/p></description></item><item><title>Documentation for the PowerShell activity in the TFS Community Build Extensions published</title><link>https://blogs.blackmarble.co.uk/rfennell/documentation-for-the-powershell-activity-in-the-tfs-community-build-extensions-published/</link><pubDate>Mon, 03 Oct 2011 20:43:26 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/documentation-for-the-powershell-activity-in-the-tfs-community-build-extensions-published/</guid><description>
&lt;p>I have just published documentation for the &lt;a href="http://tfsbuildextensions.codeplex.com/wikipage?title=How%20to%20integrate%20the%20InvokePowerShellCommand%20build%20activity&amp;amp;referringTitle=Documentation">PowerShell activity in the TFS Community Build extensions&lt;/a>. This opens up a whole range of possibilities for your build process. Off to look at using it for SharePoint deployment now…..&lt;/p></description></item><item><title>Seeing loads of ‘cannot load load assemblies’ errors when editing a TFS 2010 build process workflow</title><link>https://blogs.blackmarble.co.uk/rfennell/seeing-loads-of-cannot-load-load-assemblies-errors-when-editing-a-tfs-2010-build-process-workflow/</link><pubDate>Mon, 03 Oct 2011 11:47:46 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/seeing-loads-of-cannot-load-load-assemblies-errors-when-editing-a-tfs-2010-build-process-workflow/</guid><description>
&lt;p>I have been following the process in the &lt;a href="http://rabcg.codeplex.com/">ALM Rangers build guide&lt;/a> and in the &lt;a href="http://tfsbuildextensions.codeplex.com/wikipage?title=How%20to%20integrate%20the%20extensions%20into%20a%20build%20template&amp;amp;referringTitle=Documentation">Community Build Extensions&lt;/a> to edit a build process workflow. Now I am sure this process was working until recently on my PC (but we all say that don’t we!), but of late I have found that when the .XAML workflow is loaded into Visual Studio I see loads of warning icons. If I check the list of imported namespaces many of them also have warning icons which if the icons are clicked they say the assembly cannot be found.&lt;/p></description></item><item><title>Empty groups not being expanded in a combobox for a TFS work item</title><link>https://blogs.blackmarble.co.uk/rfennell/empty-groups-not-being-expanded-in-a-combobox-for-a-tfs-work-item/</link><pubDate>Thu, 29 Sep 2011 11:41:40 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/empty-groups-not-being-expanded-in-a-combobox-for-a-tfs-work-item/</guid><description>
&lt;p>A common work item type (WIT) edit in TFS is to limit the list of names shown in a combo to the users assigned to the project i.e. the members of the Team Projects &lt;strong>Contributors&lt;/strong> and &lt;strong>Project Administrators&lt;/strong> groups.&lt;/p>
&lt;p>This is done by editing the WIT either via your favourite XML editor or the Process Template Editor (part of the &lt;a href="http://visualstudiogallery.msdn.microsoft.com/c255a1e4-04ba-4f68-8f4e-cd473d6b971f">power tools&lt;/a>). You edit the A&lt;strong>llowedvalues&lt;/strong> for the field you wish to limit such as the &lt;strong>Assigned To&lt;/strong> as shown below,&lt;/p></description></item><item><title>Tempted by the new Kindle?</title><link>https://blogs.blackmarble.co.uk/rfennell/tempted-by-the-new-kindle/</link><pubDate>Wed, 28 Sep 2011 15:32:58 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/tempted-by-the-new-kindle/</guid><description>
&lt;p>I am back on the &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/archive/2010/10/19/should-i-buy-a-kindle.aspx">should I buy a Kindle&lt;/a> train of thought. Todays announcements are certainly interesting, I am not talking so much about the new &lt;a href="http://www.engadget.com/2011/09/28/amazon-fire-tablet-unveiled-7-inch-display-199-price-tag/">Kindle Fire&lt;/a>, but the new &lt;a href="http://www.amazon.co.uk/gp/product/B0051QVF7A?country=GB">entry level version&lt;/a> and the &lt;a href="http://www.engadget.com/2011/09/28/amazon-launches-kindle-touch/">Touch&lt;/a>. For me the tempting feature is still the E-Ink and battery life.&lt;/p>
&lt;p>The point is I have got used to reading on my phone, a Kindle might be easier on the eye, but it is more kit to carry, and I just don’t think I want to carry any more things.&lt;/p></description></item><item><title>Just posted VirtualPC activity documentation for TFS 2010 Community Build Extensions</title><link>https://blogs.blackmarble.co.uk/rfennell/just-posted-virtualpc-activity-documentation-for-tfs-2010-community-build-extensions/</link><pubDate>Tue, 27 Sep 2011 14:18:47 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/just-posted-virtualpc-activity-documentation-for-tfs-2010-community-build-extensions/</guid><description>
&lt;p>I have just posted new &lt;a href="http://tfsbuildextensions.codeplex.com/wikipage?title=How%20to%20integrate%20the%20VirtualPC%20build%20activity&amp;amp;referringTitle=Documentation">VirtualPC activity documentation for TFS 2010 Community Build Extensions&lt;/a>. This has been a really nasty set of documentation to write as getting this activity running raises a lot of issues over COM security; thanks to &lt;a href="http://blogs.blackmarble.co.uk/blogs/rhepworth/default.aspx">Rik&lt;/a> and &lt;a href="http://blogs.blackmarble.co.uk/blogs/adawson/default.aspx">Andy&lt;/a> (our SharePoint specialists at Black Marble who are therefore used to COM problems!) who helped get to the bottom the issues.&lt;/p>
&lt;p>The best thing I can say about this VirtualPC activity (and I wrote much of it) is don’t use it. Much better to use the Hyper-V one it is far more flexible, allowing control of remotely hosted VMs, or even better use TFS &lt;a href="http://blogs.msdn.com/b/lab_management/">Lab Management&lt;/a>&lt;/p></description></item><item><title>Upcoming Black Marble event on Windows 8</title><link>https://blogs.blackmarble.co.uk/rfennell/upcoming-black-marble-event-on-windows-8/</link><pubDate>Tue, 27 Sep 2011 10:09:08 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/upcoming-black-marble-event-on-windows-8/</guid><description>
&lt;p>In case you did not make it to the &lt;a href="http://www.buildwindows.com/">Microsoft Build Conference&lt;/a>, Black Marble are running a pair of free events in Leeds on the 12th of October on Windows 8 and the other announcements made in Anaheim earlier this month.&lt;/p>
&lt;p>The morning session is focused on the IT pro side and the afternoon on development, so why not make a day of it?&lt;/p>
&lt;p>To get more information, and to register for these free events, have a look at &lt;a href="http://www.blackmarble.co.uk/Events" title="http://www.blackmarble.co.uk/Events">http://www.blackmarble.co.uk/Events&lt;/a>&lt;/p></description></item><item><title>Syncing the build number and assembly version numbers in a TFS build when using the TFSVersion activity</title><link>https://blogs.blackmarble.co.uk/rfennell/syncing-the-build-number-and-assembly-version-numbers-in-a-tfs-build-when-using-the-tfsversion-activity/</link><pubDate>Mon, 26 Sep 2011 18:42:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/syncing-the-build-number-and-assembly-version-numbers-in-a-tfs-build-when-using-the-tfsversion-activity/</guid><description>
&lt;p>&lt;strong>Updated 27 July 2013 -&lt;/strong> &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/post/2013/07/27/Making-the-drops-location-for-a-TFS-build-match-the-assembly-version-number.aspx">Here is a potential solution&lt;/a>&lt;/p>
&lt;p>&lt;strong>Update 27 Sep 2011 –&lt;/strong> this seemed such as good idea when I initially tried it out, but after more testing I see changing the build number part way through a build causes problems. The key one being that when you queue the next build it is issued the same revision number [the $(Rev:.r) in the BuildNumberFormat] as the just completed build, this will fail with the error&lt;/p></description></item><item><title>Video of my Webinar for Typemock is available</title><link>https://blogs.blackmarble.co.uk/rfennell/video-of-my-webinar-for-typemock-is-available/</link><pubDate>Mon, 26 Sep 2011 09:26:59 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/video-of-my-webinar-for-typemock-is-available/</guid><description>
&lt;p>The video of my recent webinar for Typemock on using Isolator for designing SharePoint webparts is up at &lt;a href="http://www.typemock.com/sharepoint-web-parts" title="http://www.typemock.com/sharepoint-web-parts">http://www.typemock.com/sharepoint-web-parts&lt;/a>&lt;/p>
&lt;p>You can also find a link to it from &lt;a href="http://bit.ly/RFennellVideos">http://bit.ly/RFennellVideos&lt;/a>, as well as links to all the other videos of my presentations I know of that are publically available.&lt;/p></description></item><item><title>More documentation for the TFS 2010 community build extensions</title><link>https://blogs.blackmarble.co.uk/rfennell/more-documentation-for-the-tfs-2010-community-build-extensions/</link><pubDate>Sat, 24 Sep 2011 19:03:11 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/more-documentation-for-the-tfs-2010-community-build-extensions/</guid><description>
&lt;p>Today I have posted a few more pages of the getting started &lt;a href="http://tfsbuildextensions.codeplex.com/documentation">documentation for the TFS 2010 community build extensions&lt;/a>. This is an on-going task, I hope to get a few more written when I get a chance. I am writing the documentation in no obvious order, so let me know if any specific activity is in more need of some introductory level documentation than others.&lt;/p></description></item><item><title>New Release of the Community TFS 2010 Build Extensions</title><link>https://blogs.blackmarble.co.uk/rfennell/new-release-of-the-community-tfs-2010-build-extensions/</link><pubDate>Fri, 23 Sep 2011 07:42:15 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/new-release-of-the-community-tfs-2010-build-extensions/</guid><description>
&lt;p>&lt;a href="http://mikefourie.wordpress.com/2011/09/22/community-tfs-2010-build-extensions-september-2011/">Mike Fourie has just announced&lt;/a> that we’ve just shipped the second stable &lt;a href="http://tfsbuildextensions.codeplex.com/releases/view/67139">release&lt;/a> of the &lt;a href="http://tfsbuildextensions.codeplex.com/">Community TFS 2010 Build Extensions&lt;/a>. Well worth a look if you need to customised your TFS 2010 build with any of the following&lt;/p>
&lt;ul>
&lt;li>
&lt;p>AssemblyInfo&lt;/p>
&lt;/li>
&lt;li>
&lt;p>BuildReport&lt;/p>
&lt;/li>
&lt;li>
&lt;p>BuildWorkspace&lt;/p>
&lt;/li>
&lt;li>
&lt;p>CodeMetric&lt;/p>
&lt;/li>
&lt;li>
&lt;p>DateAndTime&lt;/p>
&lt;/li>
&lt;li>
&lt;p>Email&lt;/p>
&lt;/li>
&lt;li>
&lt;p>File&lt;/p>
&lt;/li>
&lt;li>
&lt;p>GetBuildController&lt;/p>
&lt;/li>
&lt;li>
&lt;p>GetBuildDefinition&lt;/p>
&lt;/li>
&lt;li>
&lt;p>GetBuildServer&lt;/p>
&lt;/li>
&lt;li>
&lt;p>GetWebAccessUrl&lt;/p>
&lt;/li>
&lt;li>
&lt;p>Guid&lt;/p>
&lt;/li>
&lt;li>
&lt;p>Hello&lt;/p>
&lt;/li>
&lt;li>
&lt;p>HyperV&lt;/p>
&lt;/li>
&lt;li>
&lt;p>IIS7&lt;/p>
&lt;/li>
&lt;li>
&lt;p>ILMerge&lt;/p>
&lt;/li>
&lt;li>
&lt;p>InvokePowerShellCommand&lt;/p>
&lt;/li>
&lt;li>
&lt;p>nUnit&lt;/p>
&lt;/li>
&lt;li>
&lt;p>QueueBuild&lt;/p>
&lt;/li>
&lt;li>
&lt;p>RoboCop&lt;/p>
&lt;/li>
&lt;li>
&lt;p>SqlExecute&lt;/p>
&lt;/li>
&lt;li>
&lt;p>StyleCop&lt;/p>
&lt;/li>
&lt;li>
&lt;p>TFSVersion&lt;/p>
&lt;/li>
&lt;li>
&lt;p>VB6&lt;/p>
&lt;/li>
&lt;li>
&lt;p>VirtualPC&lt;/p>
&lt;/li>
&lt;li>
&lt;p>VSDevEnv&lt;/p>
&lt;/li>
&lt;li>
&lt;p>Wmi&lt;/p>
&lt;/li>
&lt;li>
&lt;p>WorkItemTracking&lt;/p>
&lt;/li>
&lt;li>
&lt;p>Zip&lt;/p>
&lt;/li>
&lt;/ul></description></item><item><title>Follow up to todays Typemock Webinar</title><link>https://blogs.blackmarble.co.uk/rfennell/follow-up-to-todays-typemock-webinar/</link><pubDate>Wed, 21 Sep 2011 17:06:38 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/follow-up-to-todays-typemock-webinar/</guid><description>
&lt;p>Thanks to any one who attended my Typemock Isolator session today, hope you found it useful.&lt;/p>
&lt;p>In due course &lt;a href="http://www.typemock.com/webinars">the video will be up on the Typemock site&lt;/a>. But of you want to read more on using Isolator with SHarePoint have a look at&lt;/p>
&lt;ul>
&lt;li>&lt;a href="http://bit.ly/MockSharepointWithTypemock">Mocking Sharepoint for Design with Typemock Isolator&lt;/a>&lt;/li>
&lt;li>&lt;a href="http://bit.ly/Handling64BitDlls">Mocks SP2010 64bit Assemblies with Typemock Isolator&lt;/a>&lt;/li>
&lt;/ul></description></item><item><title>Stupid gotchas on a SQL 2008 Reporting Services are why I cannot see the Report Builder Button</title><link>https://blogs.blackmarble.co.uk/rfennell/stupid-gotchas-on-a-sql-2008-reporting-services-are-why-i-cannot-see-the-report-builder-button/</link><pubDate>Wed, 21 Sep 2011 12:17:22 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/stupid-gotchas-on-a-sql-2008-reporting-services-are-why-i-cannot-see-the-report-builder-button/</guid><description>
&lt;p>There is a good chance if you are using TFS that you will want to create some custom reports. You can write these in Reporting Services via BI Studio or Excel, but I wanted to use Report Builder, but could not see the Report Builder button on this Reporting Services menu&lt;/p>
&lt;p>&lt;a href="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_31230710.png">&lt;img
loading="lazy"
decoding="async"
alt="image"
class="image_figure image_internal image_unprocessed"
src="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_thumb_37D61093.png"
title="image"
/>
&lt;/a>&lt;/p>
&lt;p>The problem was multi-levelled&lt;/p>
&lt;p>First I had to give the user access to the Report Builder. This is done using folder property security. I chose to give this right to a user (along with browser rights) from the root of the reporting services site&lt;/p></description></item><item><title>Another ALM/TFS focused blogger at Black Marble</title><link>https://blogs.blackmarble.co.uk/rfennell/another-almtfs-focused-blogger-at-black-marble/</link><pubDate>Mon, 19 Sep 2011 08:36:24 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/another-almtfs-focused-blogger-at-black-marble/</guid><description>
&lt;p>Robert Hancock, another one of Black Marble’s ALM consultants, has started blog technical tips on this blog server. You can find &lt;a href="http://blogs.blackmarble.co.uk/blogs/rhancock/default.aspx">Robert’s new blog here&lt;/a> or the &lt;a href="http://blogs.blackmarble.co.uk/blogs/default.aspx?GroupID=2">aggregate feed of all Black marble bloggers here&lt;/a>&lt;/p></description></item><item><title>What to do when your TFS build agent says it is ready, but the icon says it is not</title><link>https://blogs.blackmarble.co.uk/rfennell/what-to-do-when-your-tfs-build-agent-says-it-is-ready-but-the-icon-says-it-is-not/</link><pubDate>Sat, 17 Sep 2011 20:10:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/what-to-do-when-your-tfs-build-agent-says-it-is-ready-but-the-icon-says-it-is-not/</guid><description>
&lt;p>When using TFS2010 It is possible for a build agent to appear to be ready (or so the status label says) but the icon stays in the off state.&lt;/p>
&lt;p>&lt;a href="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_18EA6702.png">&lt;img
loading="lazy"
decoding="async"
alt="image"
class="image_figure image_internal image_unprocessed"
src="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_thumb_32DE2724.png"
title="image"
/>
&lt;/a>&lt;/p>
&lt;p>This is usually due to a couple of broad categories of error, you can find out which by checking the Windows event log.&lt;/p>
&lt;p>&lt;strong>The build agent cannot communicate with the controller&lt;/strong>&lt;/p>
&lt;p>In the event log you see something like&lt;/p></description></item><item><title>TFS on Windows Azure preview announced at Build</title><link>https://blogs.blackmarble.co.uk/rfennell/tfs-on-windows-azure-preview-announced-at-build/</link><pubDate>Wed, 14 Sep 2011 20:59:48 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/tfs-on-windows-azure-preview-announced-at-build/</guid><description>
&lt;p>At the Build  conference today the preview of TFS on Windows Azure was announced. All the attendees of the conference have been given access codes for the preview. If you did not make it to Build have a look at  &lt;a href="http://blogs.msdn.com/b/bharry/archive/2011/09/14/team-foundation-server-on-windows-azure.aspx">Brian Harry’s blog&lt;/a> for details of how everyone else can get access to the preview.&lt;/p></description></item><item><title>Bitlocker keeps asking for my recovery key after a change in my disk’s MBR</title><link>https://blogs.blackmarble.co.uk/rfennell/bitlocker-keeps-asking-for-my-recovery-key-after-a-change-in-my-disks-mbr/</link><pubDate>Wed, 14 Sep 2011 17:40:34 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/bitlocker-keeps-asking-for-my-recovery-key-after-a-change-in-my-disks-mbr/</guid><description>
&lt;p>My development laptop is &lt;a href="http://windows.microsoft.com/en-US/windows7/products/features/bitlocker">bitlocker’ed&lt;/a>, and yours should be too. It provides a great and non-invasive way (assuming you have a TPM chip) to protect you and your clients data on a machine that is far to easy to steal or loose. However, &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/archive/2011/09/14/first-try-with-windows8-and-it-won-t-boot.aspx">whilst fiddling with Windows 8&lt;/a> I did trip myself up.&lt;/p>
&lt;p>I have my PC setup for a boot to Windows 7 from a bitlocker’ed drive C with a non bitlocker’d drive D used to boot to Windows 2008 for demos (and hence no production data). To try out Windows 8 I added a new boot device, a boot from VHD partition. This edited the PC’s master boot record (MBR) and bitlocker did not like it. It thought the PC had a root kit or something similar to prompted me to enter a my bitlocker recovery key (which is 48 characters long) when I tried to boot to Windows 7. However, once this is done my bitlocker’ed Windows 7 partition worked find, but on each reboot I had to type the key in, bit of  pain. Removing the new VHD boot entry did not help, the MBR has still be edited, so bitlocker complained&lt;/p></description></item><item><title>First try with Windows8 and it won’t boot (updated with notes on a solution)</title><link>https://blogs.blackmarble.co.uk/rfennell/first-try-with-windows8-and-it-wont-boot-updated-with-notes-on-a-solution/</link><pubDate>Wed, 14 Sep 2011 17:16:28 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/first-try-with-windows8-and-it-wont-boot-updated-with-notes-on-a-solution/</guid><description>
&lt;p>I tried to install Windows 8 Developer Preview on my Lenovo W520 laptop as a VHD boot. All seemed to go well following the same &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/archive/2009/09/17/windows-7-boot-from-vhd.aspx">process as for windows 7&lt;/a>. I got a nice new blue Window 8 boot partition choice screen (which went back to the Windows 7 DOS like one after I made Windows 7 my default partition).&lt;/p>
&lt;p>If I selected Windows 8 it tried to but but ended up with the error&lt;/p></description></item><item><title>Why can’t I see my custom work item types in Team Explorer?</title><link>https://blogs.blackmarble.co.uk/rfennell/why-cant-i-see-my-custom-work-item-types-in-team-explorer/</link><pubDate>Wed, 14 Sep 2011 13:40:21 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/why-cant-i-see-my-custom-work-item-types-in-team-explorer/</guid><description>
&lt;p>If you are editing a TFS process template you have the choice editing XML files or using the Process Template Editor within the &lt;a href="http://visualstudiogallery.msdn.microsoft.com/c255a1e4-04ba-4f68-8f4e-cd473d6b971f">TFS 2010 PowerTools.&lt;/a> Unfortunately neither is fool proof. You can make errors than means the revised template does not fully work.&lt;/p>
&lt;p>The worst of these errors will be picked up when upload the process template to a Team project Collection as during this process the XML is validated.&lt;/p></description></item><item><title>Bradford the centre of all scientific advance (at least this week)</title><link>https://blogs.blackmarble.co.uk/rfennell/bradford-the-centre-of-all-scientific-advance-at-least-this-week/</link><pubDate>Tue, 13 Sep 2011 10:23:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/bradford-the-centre-of-all-scientific-advance-at-least-this-week/</guid><description>
&lt;p>Over the weekend I took my son to the excellent ‘&lt;a href="http://www.bbc.co.uk/programmes/b00lwxj1">Bang goes the Theory’ Live road show&lt;/a> which is part of the &lt;a href="http://www.britishscienceassociation.org/web/BritishScienceFestival/">Festival of Science in Bradford&lt;/a>. If a similar event is near you I recommend you go along, fun for all the family even if science is not really your thing. The whole event makes the subject very accessible to all.&lt;/p>
&lt;p>&lt;a href="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_750F71C2.png">&lt;img
loading="lazy"
decoding="async"
alt="image"
class="image_figure image_internal image_unprocessed"
src="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_thumb_731ED061.png"
title="image"
/>
&lt;/a> &lt;/p>
&lt;p>Even if I had not known this was on I might have guessed something as afoot in Bradford as virtually every &lt;a href="http://www.bbc.co.uk/radio4/">Radio 4&lt;/a> news program has had a short article on some new scientific advance from Bradford University. Today a &lt;a href="http://www.bbc.co.uk/news/science-environment-14900800">lie detector using facial analysis&lt;/a> and a &lt;a href="http://www.bbc.co.uk/news/science-environment-14855666">new cancer treatment&lt;/a> to name just the ones I remember. Now I went to Bradford and I know it is world leader in &lt;a href="http://www.brad.ac.uk/acad/lifesci/biomedical/">biomedical science&lt;/a>, but I do wonder if they have been saving press released to get the biggest bang. Or is it the BBC and other media outlets are in Bradford at the festival so it is easy to get Bradford stories?&lt;/p></description></item><item><title>‘Expected to find an element’ error when running VS2010 Database unit tests</title><link>https://blogs.blackmarble.co.uk/rfennell/expected-to-find-an-element-error-when-running-vs2010-database-unit-tests/</link><pubDate>Mon, 12 Sep 2011 22:31:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/expected-to-find-an-element-error-when-running-vs2010-database-unit-tests/</guid><description>
&lt;p>If you use the database unit testing feature of VS2010 there is a good chance you will want to run these tests on more than one PC and probably the build server. The issue is that these different PC will need different deployment paths and SQL connection strings. Luckily &lt;a href="http://msdn.microsoft.com/en-us/library/aa833210.aspx">there is a feature to address this, as detailed on MSDN&lt;/a>. Basically the test runner swaps in a different config file based on either the PC name or user running the tests.&lt;/p></description></item><item><title>Registration has opened for Black Marble’s Autumn Events 2011</title><link>https://blogs.blackmarble.co.uk/rfennell/registration-has-opened-for-black-marbles-autumn-events-2011/</link><pubDate>Wed, 07 Sep 2011 14:04:57 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/registration-has-opened-for-black-marbles-autumn-events-2011/</guid><description>
&lt;p>If you look on the &lt;a href="http://www.blackmarble.co.uk/events">Black Marble web site&lt;/a> you will find listing of the free events we are running up to the end of the year and into the new year. This year our events include&lt;/p>
&lt;p>12 Oct 2011&lt;/p>
&lt;p>[Re-Build – IT&lt;br>
](&lt;a href="http://www.blackmarble.co.uk/events.aspx?event=Re-Build">http://www.blackmarble.co.uk/events.aspx?event=Re-Build&lt;/a> - IT)[Re-Build – Dev](&lt;a href="http://www.blackmarble.co.uk/events.aspx?event=Re-Build">http://www.blackmarble.co.uk/events.aspx?event=Re-Build&lt;/a> - Dev)&lt;/p>
&lt;p>Black Marble will bring you the key announcements and developments from Microsoft Build about Windows 8&lt;/p>
&lt;p>17 Nov 2011&lt;/p>
&lt;p>[Delivering High Impact WebSites with SharePoint](&lt;a href="http://www.blackmarble.co.uk/events.aspx?event=Delivering">http://www.blackmarble.co.uk/events.aspx?event=Delivering&lt;/a> High Impact WebSites with SharePoint)&lt;/p></description></item><item><title>Update on using Typemock Isolator to allow webpart development without a Sharepoint server</title><link>https://blogs.blackmarble.co.uk/rfennell/update-on-using-typemock-isolator-to-allow-webpart-development-without-a-sharepoint-server/</link><pubDate>Tue, 06 Sep 2011 21:56:01 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/update-on-using-typemock-isolator-to-allow-webpart-development-without-a-sharepoint-server/</guid><description>
&lt;p>&lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/archive/2010/04/22/mocking-sharepoint-for-design-with-typemock-isolator.aspx">I have in the past posted about developing SharePoint web parts without having to use a SharePoint server by using Typemock Isolator&lt;/a>. This technique relies on using Cassini or IIS Express as the web server to host the aspx page that in turn contains the webpart. This is all well and good for SharePoint 2007, but we get a problem with SharePoint 2010 which seems to be due to 32/64bit issues.&lt;/p></description></item><item><title>Doing a webinar on using Typemock Isolator with SharePoint Webparts</title><link>https://blogs.blackmarble.co.uk/rfennell/doing-a-webinar-on-using-typemock-isolator-with-sharepoint-webparts/</link><pubDate>Mon, 05 Sep 2011 13:50:52 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/doing-a-webinar-on-using-typemock-isolator-with-sharepoint-webparts/</guid><description>
&lt;p>I am doing a free webinar on Wednesday, September 21, 2011 at 3:00 PM BST with the title &amp;quot;Using Typemock Isolator to speed the development of SharePoint Web Parts&amp;quot;.&lt;/p>
&lt;p>For more details have a look at &lt;a href="http://www.typemock.com/webinars" title="http://www.typemock.com/webinars">http://www.typemock.com/webinars&lt;/a> the details should be up soon&lt;/p></description></item><item><title>#DDDNorth registration has opened</title><link>https://blogs.blackmarble.co.uk/rfennell/dddnorth-registration-has-opened/</link><pubDate>Mon, 05 Sep 2011 12:14:15 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/dddnorth-registration-has-opened/</guid><description>
&lt;p>The &lt;a href="http://www.developerdeveloperdeveloper.com/north/Default.aspx">agenda is up for DDDNorth&lt;/a>, seems .JS related subjects are the fashionable topics for this conference. As I suspected my session on build customisation did not make the cut, just not cool enough!&lt;/p>
&lt;p>As with all DDD events the event is free, but the place tend to go quickly. I think this DDD has 300 spaces so I suggest you register quickly to avoid disappointment&lt;/p></description></item><item><title>Verifying non–public methods have been called using Typemock Isolator in VB.Net</title><link>https://blogs.blackmarble.co.uk/rfennell/verifying-non-public-methods-have-been-called-using-typemock-isolator-in-vb-net/</link><pubDate>Sat, 03 Sep 2011 21:30:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/verifying-non-public-methods-have-been-called-using-typemock-isolator-in-vb-net/</guid><description>
&lt;p>I am currently writing some training material for a client on mocking showing how life is so much easier if software is designed with testing in mind. As part of this material I showing that though we aim for nice design patterns which allow testing we have to deal with legacy systems that were not designed this way. However, there are tools that allow us to write unit tests for poorly designed (with testing in mind) legacy systems, specifically &lt;a href="http://www.typemock.com/">Typemock Isolator&lt;/a>. Using Isolator means we can write tests that we can use to make sure the code is not broken whilst refactoring to new structures.&lt;/p></description></item><item><title>You can vote now for sessions at #dddnorth</title><link>https://blogs.blackmarble.co.uk/rfennell/you-can-vote-now-for-sessions-at-dddnorth/</link><pubDate>Tue, 30 Aug 2011 10:43:39 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/you-can-vote-now-for-sessions-at-dddnorth/</guid><description>
&lt;p>&lt;a href="http://developerdeveloperdeveloper.com/north/ProposedSessions.aspx">Session voting has opened at DDD North,&lt;/a> vote for what you would like to see at the conference in October&lt;/p></description></item><item><title>Problem setting an email alert for the TFS 2010 Power Tools backup</title><link>https://blogs.blackmarble.co.uk/rfennell/problem-setting-an-email-alert-for-the-tfs-2010-power-tools-backup/</link><pubDate>Thu, 25 Aug 2011 20:15:54 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/problem-setting-an-email-alert-for-the-tfs-2010-power-tools-backup/</guid><description>
&lt;p>One of the very useful features of the &lt;a href="http://visualstudiogallery.msdn.microsoft.com/c255a1e4-04ba-4f68-8f4e-cd473d6b971f">TFS 2010 Power Tools&lt;/a> is that it provides a backup wizard, great for teams using TFS who don’t have much SQL/IT Pro experience. Whist setting this up on a server I hit an interesting gotta with sending alerts.&lt;/p>
&lt;p>This TFS server in question was configured to enable SMTP alerting (via the TFS Administration Console)&lt;/p>
&lt;p>&lt;a href="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_3A7B938E.png">&lt;img
loading="lazy"
decoding="async"
alt="image"
class="image_figure image_internal image_unprocessed"
src="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_thumb_640F5EC1.png"
title="image"
/>
&lt;/a>&lt;/p>
&lt;p>and this was working&lt;/p>
&lt;p>During the backup configuration wizard you have the option to be send email if the backup job fails. The SMTP details are picked up from the TFS servers SMTP alert settings. When I enter a TO: email address and pressed the test button I got an error&lt;/p></description></item><item><title>TF80070 when loading a team query in MS Project</title><link>https://blogs.blackmarble.co.uk/rfennell/tf80070-when-loading-a-team-query-in-ms-project/</link><pubDate>Wed, 24 Aug 2011 15:50:04 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/tf80070-when-loading-a-team-query-in-ms-project/</guid><description>
&lt;p>I create a number of task work items in TFS 2010 using a list in Excel. This all appeared to work OK, and I could run a work item query in Team Explorer and see all my new work items. However then I tried to open the work item query in Project I got a TF80070 error. It loaded the work items up a point in the list then failed and showed error dialog.&lt;/p></description></item><item><title>One week left to submit a session for DDDNorth</title><link>https://blogs.blackmarble.co.uk/rfennell/one-week-left-to-submit-a-session-for-dddnorth/</link><pubDate>Mon, 22 Aug 2011 09:08:59 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/one-week-left-to-submit-a-session-for-dddnorth/</guid><description>
&lt;p>Any &lt;a href="http://developerdeveloperdeveloper.com/north/Default.aspx">session submissions for DDDNorth&lt;/a> have to be in by Friday the 26th.&lt;/p>
&lt;p>Go on you must have something you want to talk about……..&lt;/p></description></item><item><title>New release of TFS 2010 Power Tools</title><link>https://blogs.blackmarble.co.uk/rfennell/new-release-of-tfs-2010-power-tools/</link><pubDate>Sat, 20 Aug 2011 16:41:17 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/new-release-of-tfs-2010-power-tools/</guid><description>
&lt;p>The latest set of TFS 2010 power tools are out, well worth updating if you are using the March release, and if not using any version a definite install.&lt;/p>
&lt;p>There are major update across the board, summary details can be found on &lt;a href="http://blogs.msdn.com/b/bharry/archive/2011/08/19/august-11-tfs-power-tools-are-available.aspx">Brian Harry’s blog&lt;/a>. With the main release note and &lt;a href="http://visualstudiogallery.msdn.microsoft.com/c255a1e4-04ba-4f68-8f4e-cd473d6b971f">download on Visual Studio Gallery&lt;/a>&lt;/p></description></item><item><title>Windows search not starting, making itself disabled on a reboot</title><link>https://blogs.blackmarble.co.uk/rfennell/windows-search-not-starting-making-itself-disabled-on-a-reboot/</link><pubDate>Fri, 19 Aug 2011 10:15:43 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/windows-search-not-starting-making-itself-disabled-on-a-reboot/</guid><description>
&lt;p>Since I got my new laptop I have had a problem that the Windows Search services in Windows 7 keeps setting itself to be Disabled whenever I restart the the PC. I usually notice this when I try to do a search in Outlook and I have to press enter in the search box to start a search, it is not matching emails as soon as I start to type.&lt;/p></description></item><item><title>New TFS 2010 Community TFS Build Extension documentation – nUnit</title><link>https://blogs.blackmarble.co.uk/rfennell/new-tfs-2010-community-tfs-build-extension-documentation-nunit/</link><pubDate>Fri, 19 Aug 2011 08:17:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/new-tfs-2010-community-tfs-build-extension-documentation-nunit/</guid><description>
&lt;p>I have just posted new ‘&lt;a href="http://tfsbuildextensions.codeplex.com/wikipage?title=How%20to%20integrate%20the%20nUnit%20build%20activity&amp;amp;referringTitle=Documentation">how to use it 101’ documentation for the nUnit activity&lt;/a> on the community extensions site.&lt;/p></description></item><item><title>New TFS 2010 Community TFS Build Extension documentation – TFSVersion</title><link>https://blogs.blackmarble.co.uk/rfennell/new-tfs-2010-community-tfs-build-extension-documentation-tfsversion/</link><pubDate>Thu, 18 Aug 2011 20:40:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/new-tfs-2010-community-tfs-build-extension-documentation-tfsversion/</guid><description>
&lt;p>I have just posted new ‘&lt;a href="http://tfsbuildextensions.codeplex.com/wikipage?title=How%20to%20integrate%20the%20TfsVersion%20build%20activity&amp;amp;referringTitle=Documentation">how to use it 101’ documentation for the TFSVersion activity&lt;/a> on the community extensions site.&lt;/p></description></item><item><title>Where has my mouse cursor done? Unable to record a video in Microsoft Test Manager</title><link>https://blogs.blackmarble.co.uk/rfennell/where-has-my-mouse-cursor-done-unable-to-record-a-video-in-microsoft-test-manager/</link><pubDate>Thu, 18 Aug 2011 14:13:20 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/where-has-my-mouse-cursor-done-unable-to-record-a-video-in-microsoft-test-manager/</guid><description>
&lt;p>MTM has the feature that you can use Expression Media Encoder 4 to record the test run as a video. To enable this feature, after you install MTM, you have to install the basic version of Expression Encoder, and a few patches &lt;a href="http://msmvps.com/blogs/vstsblog/archive/2010/05/03/configure-microsoft-test-manager-for-video-recording.aspx">see notes here for a list of files and the process&lt;/a>.&lt;/p>
&lt;p>I recently did this on PC and tried to record a video. As soon as the recording process started the PC virtually stopped. It ran to 50%+ load on a dual core 2.3GHz CPU and the mouse disappeared. As soon as I stopped MTM (via task manager and the keyboard alone) it became responsive again. If I ran MTM without a video recording it was fine. Should be noted that if I ran the Expression Encoder (not via MTM) I got the same problem.&lt;/p></description></item><item><title>More on using the StyleCop TFS 2010 Build Activity– handling settings files</title><link>https://blogs.blackmarble.co.uk/rfennell/more-on-using-the-stylecop-tfs-2010-build-activity-handling-settings-files/</link><pubDate>Tue, 16 Aug 2011 16:00:46 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/more-on-using-the-stylecop-tfs-2010-build-activity-handling-settings-files/</guid><description>
&lt;p>In a recent build I wanted a bit more control over rules used by StyleCop; in the past I have just tended to have the correct ruleset in the &lt;em>Program FilesStyleCop&lt;/em> directory and be done with that. This time I wanted to make sure different rules were associated with different given solutions.&lt;/p>
&lt;p>The StyleCop build activity does allow for this; there is a property to set the path to the settings file. In my build process template I set this property as below, via an assignment activity&lt;/p></description></item><item><title>Do you find editing TFS Build Process Templates slow?</title><link>https://blogs.blackmarble.co.uk/rfennell/do-you-find-editing-tfs-build-process-templates-slow/</link><pubDate>Tue, 09 Aug 2011 13:41:53 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/do-you-find-editing-tfs-build-process-templates-slow/</guid><description>
&lt;p>… of course you do.&lt;/p>
&lt;p>Microsoft have today released a patch to improve performance and reliability of workflow designer which should help with the Build Process Template design surface.&lt;/p>
&lt;p>&lt;a href="http://blogs.msdn.com/b/buckh/archive/2011/08/09/patch-to-improve-perf-and-reliability-of-the-workflow-designer.aspx">See Buck Hodges blog for details&lt;/a>&lt;/p></description></item><item><title>Still time to propose sessions for DDDNorth</title><link>https://blogs.blackmarble.co.uk/rfennell/still-time-to-propose-sessions-for-dddnorth/</link><pubDate>Mon, 08 Aug 2011 13:12:55 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/still-time-to-propose-sessions-for-dddnorth/</guid><description>
&lt;p>It is great to see a good wide selection of &lt;a href="http://developerdeveloperdeveloper.com/north/">proposed sessions for DDDNorth&lt;/a>, many from new speakers to the DDD events, which is always nice to see.&lt;/p>
&lt;p>There is still time for you to get involved and propose a session. Go on you know you want to….&lt;/p></description></item><item><title>Where do I find the product key for Team Explorer Everywhere?</title><link>https://blogs.blackmarble.co.uk/rfennell/where-do-i-find-the-product-key-for-team-explorer-everywhere/</link><pubDate>Wed, 03 Aug 2011 14:23:27 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/where-do-i-find-the-product-key-for-team-explorer-everywhere/</guid><description>
&lt;p>When TEE is installed you have to provide a product key if you do not wish to run it in 90 day trial mode. Those of you used to using MSDN Subscriber downloads would guess you press the &lt;strong>Key&lt;/strong> button next to the &lt;strong>Download&lt;/strong> button and a product will be provided. However this is not the case, all you get is the message the product does not require a key.&lt;/p></description></item><item><title>Linking a TFS work item to a specific version of a document in SharePoint</title><link>https://blogs.blackmarble.co.uk/rfennell/linking-a-tfs-work-item-to-a-specific-version-of-a-document-in-sharepoint/</link><pubDate>Tue, 02 Aug 2011 13:39:49 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/linking-a-tfs-work-item-to-a-specific-version-of-a-document-in-sharepoint/</guid><description>
&lt;p>SharePoint in my opinion is a better home for a Word or Visio requirements document than TFS. You can use all the SharePoint document workspace features to allow collaboration in the production of the document. When you have done enough definition to create your projects user stories or requirement then you can create them in TFS using whatever client you wish e.g. Visual Studio, Excel, Project etc.&lt;/p>
&lt;p>You can add a Hyperlink from each of these work items back to the SharePoint hosted document they relate to, so you still retain the single version of the source document. The thing to note here is that you don’t have to link to the last version of the document. If SharePoint’s revision control is enabled for the document library you can refer to any stored version. Thus allowing the specification document to continue evolving for future releases whilst the development team are still able to reference the specific version their requirements are based on.&lt;/p></description></item><item><title>DDD in t’North</title><link>https://blogs.blackmarble.co.uk/rfennell/ddd-in-tnorth/</link><pubDate>Wed, 27 Jul 2011 08:54:55 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/ddd-in-tnorth/</guid><description>
&lt;p>It was announced at DDDSW that there will be a &lt;a href="http://www.developerdeveloperdeveloper.com/north/">DDD event on the 8th October 2011 in Sunderland, DDD North&lt;/a>. As of today, session submission is now open. Why not proposes one yourself?&lt;/p></description></item><item><title>More tips and tricks using my Typemock custom build activity with TFS 2010 build</title><link>https://blogs.blackmarble.co.uk/rfennell/more-tips-and-tricks-using-my-typemock-custom-build-activity-with-tfs-2010-build/</link><pubDate>Tue, 26 Jul 2011 12:54:38 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/more-tips-and-tricks-using-my-typemock-custom-build-activity-with-tfs-2010-build/</guid><description>
&lt;p>Every time I add the &lt;a href="http://tfsbuildextensions.codeplex.com/wikipage?title=TeamBuild%202010%20Activity%20to%20run%20Typemock%20Isolator%20based%20tests&amp;amp;referringTitle=Home">Typemock Isolator custom activity to a TFS 2010 build&lt;/a> I learn something new that eases the process. In the &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/archive/2010/07/01/using-my-typemock-tmockrunner-custom-activity-for-team-build-2010.aspx">past I have posted&lt;/a> on the basic process to get the activity into your build, and I would also draw your attention to the &lt;a href="http://rabcg.codeplex.com/">ALM rangers guide to build customisation&lt;/a>, which provides loads of useful information on this front.&lt;/p>
&lt;p>Today, when I added the activity to a build I made the following improvements to the settings to make life a bit easier. This build is one used wildcard scanning for assemblies containing test with a test configuration file (this is the red &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/archive/2010/03/08/lessons-learnt-building-a-custom-activity-to-run-typemock-isolator-in-vs2010-team-build.aspx">usage in the documentation&lt;/a>, it will make sense if you read the documentation)&lt;/p></description></item><item><title>More on running multiple TFS build controllers on a single VM</title><link>https://blogs.blackmarble.co.uk/rfennell/more-on-running-multiple-tfs-build-controllers-on-a-single-vm/</link><pubDate>Mon, 25 Jul 2011 15:05:02 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/more-on-running-multiple-tfs-build-controllers-on-a-single-vm/</guid><description>
&lt;p>I &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/archive/2011/04/20/now-i-have-three-tfs-build-instances-on-my-vm.aspx">have been having a on-going project to run multiple build controllers on a single VM&lt;/a>. Today I needed to reconfigure a on of the controllers to point at a different TPC. You have to do this the correct way to avoid problems.&lt;/p>
&lt;p>My error log was full of&lt;/p>
&lt;blockquote>
&lt;p>_Http communication failure:&lt;br>
_&lt;em>Exception Message: Cannot listen on pipe name 'net.pipe://build/ServiceHost/1' because another pipe endpoint is already listening on that name. (type AddressAlreadyInUseException)&lt;/em>&lt;/p></description></item><item><title>WP7 update fails when using laptop docking station, works when direct to laptop</title><link>https://blogs.blackmarble.co.uk/rfennell/wp7-update-fails-when-using-laptop-docking-station-works-when-direct-to-laptop-2/</link><pubDate>Fri, 22 Jul 2011 15:55:18 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/wp7-update-fails-when-using-laptop-docking-station-works-when-direct-to-laptop-2/</guid><description>
&lt;p>When I plugged my WP7 LG-E900 today it told me there was a update. When I tried to install this it failed, twice. So I changed USB cable and plugged it directly into a port on my laptop, not my usually phone syncing cable plugged into my laptops docking station, and it worked.&lt;/p>
&lt;p>So not sure if it a USB cable quality issue, or a USB port issue, just something to remember.&lt;/p></description></item><item><title>WP7 update fails when using laptop docking station, works when direct to laptop</title><link>https://blogs.blackmarble.co.uk/rfennell/wp7-update-fails-when-using-laptop-docking-station-works-when-direct-to-laptop/</link><pubDate>Fri, 22 Jul 2011 15:55:18 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/wp7-update-fails-when-using-laptop-docking-station-works-when-direct-to-laptop/</guid><description>
&lt;p>When I plugged my WP7 LG-E900 today it told me there was a update. When I tried to install this it failed, twice. So I changed USB cable and plugged it directly into a port on my laptop, not my usually phone syncing cable plugged into my laptops docking station, and it worked.&lt;/p>
&lt;p>So not sure if it a USB cable quality issue, or a USB port issue, just something to remember.&lt;/p></description></item><item><title>Follow up to last nights session on mocking</title><link>https://blogs.blackmarble.co.uk/rfennell/follow-up-to-last-nights-session-on-mocking/</link><pubDate>Fri, 22 Jul 2011 11:17:10 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/follow-up-to-last-nights-session-on-mocking/</guid><description>
&lt;p>Thanks to everyone who came to my session at NxtGen in Southampton last night, and congratulation to the people who won Typemock Isolator licenses kindly provided by &lt;a href="http://www.typemock.com">Typemock&lt;/a>.&lt;/p>
&lt;p>The session was meant to be based on TDD and Mocking, quite a big subject for 90 minutes. I of course had to gloss over some areas that are interesting around the edges of this subject. As I mentioned there are &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/pages/videos-of-my-presentations.aspx">videoes of related sessions on this blog&lt;/a>; also here are links on other subjects I touched on…&lt;/p></description></item><item><title>The community - a route to free training</title><link>https://blogs.blackmarble.co.uk/rfennell/the-community-a-route-to-free-training/</link><pubDate>Thu, 21 Jul 2011 09:21:15 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/the-community-a-route-to-free-training/</guid><description>
&lt;p>I presented last night at the West Yorkshire BCS and received a number of comments that it was great to see free training being available. This for me is one of the most important areas of our community, and an area we are very lucky with. There are plenty of opportunities to access knowledge…..&lt;/p>
&lt;p>Of late we have seen that the big vendor conferences (such as Microsoft’s &lt;a href="http://northamerica.msteched.com/?fbid=nVlvC7mV6Nf">TechEd&lt;/a>, &lt;a href="http://channel9.msdn.com/events/PDC/PDC10">PDC&lt;/a> and &lt;a href="http://live.visitmix.com/">MIX&lt;/a>) and the platform independent developer conferences (such as &lt;a href="http://www.ndc2011.no/">NDC&lt;/a>) streaming their sessions live for free and also have their sessions available for free download within a few days. &lt;a href="http://channel9.msdn.com/">Microsoft’ Channel 9&lt;/a> is also an excellent resource of conference sessions and specially made material on a vast range of subjects from &lt;a href="http://channel9.msdn.com/shows/Going&amp;#43;Deep/Erik-Meijer-and-Matthew-Podwysocki-Perspectives-on-Functional-Programming/">language design&lt;/a> to &lt;a href="http://channel9.msdn.com/Series/CampusTours">scheduling of the buses on Microsoft campus&lt;/a>. Or if you prefer to listen to something whist your drive why not try the &lt;a href="http://www.dotnetrocks.com/">.Net Rocks podcast&lt;/a>. There are plenty more specialist resources out there on the web.&lt;/p></description></item><item><title>Solution to ‘Missing requirement: Shared profile 1.0.0.1308118925849’ error when installation TEE SP1 on Eclipse Indigo</title><link>https://blogs.blackmarble.co.uk/rfennell/solution-to-missing-requirement-shared-profile-1-0-0-1308118925849-error-when-installation-tee-sp1-on-eclipse-indigo/</link><pubDate>Mon, 18 Jul 2011 19:16:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/solution-to-missing-requirement-shared-profile-1-0-0-1308118925849-error-when-installation-tee-sp1-on-eclipse-indigo/</guid><description>
&lt;p>&lt;strong>[Updated 1 mar 2012 - This should only effect you if Eclipse is unzipped into your 'c:program files' folder structure)&lt;/strong>&lt;/p>
&lt;p>During my new laptop build I have had to reinstall Eclipse, so I took the chance to upgrade to the &lt;a href="http://www.eclipse.org/downloads/">Indigo&lt;/a> release. When I tried to install the TFS 2010 &lt;a href="http://www.microsoft.com/visualstudio/en-us/products/2010-editions/team-explorer-everywhere">Team Explorer Everywhere SP1&lt;/a> plug-in I got the error&lt;/p>
&lt;p>&lt;em>Cannot complete the install because one or more required items could not be found.&lt;br>
  Software currently installed: Shared profile 1.0.0.1308118925849 (SharedProfile_epp.package.java 1.0.0.1308118925849)&lt;br>
  Missing requirement: Shared profile 1.0.0.1308118925849 (SharedProfile_epp.package.java 1.0.0.1308118925849) requires 'org.maven.ide.eclipse [1.0.0.20110607-2117]' but it could not be found&lt;/em>&lt;/p></description></item><item><title>Lenovo W520 – one week on</title><link>https://blogs.blackmarble.co.uk/rfennell/lenovo-w520-one-week-on/</link><pubDate>Mon, 18 Jul 2011 10:00:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/lenovo-w520-one-week-on/</guid><description>
&lt;p>I have had my Lenovo W520 a week now and must say I am very happy with it. I am still hitting the wrong keys a good deal of the time, the only problem being the Fn and Ctrl keys are reversed in position from my old Acer, it is a good job Fn-V and Fn-C does nothing dangerous!.&lt;/p>
&lt;p>The keyboard is very nice to type on, a far more solid feel than any previous laptop I have had.&lt;/p></description></item><item><title>Moving a VHD boot disk to Hyper-V</title><link>https://blogs.blackmarble.co.uk/rfennell/moving-a-vhd-boot-disk-to-hyper-v/</link><pubDate>Wed, 13 Jul 2011 10:30:14 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/moving-a-vhd-boot-disk-to-hyper-v/</guid><description>
&lt;p>I have just replaced my old Acer laptop with a rather nice Lenovo W520. This has plenty of memory and is able to run Hyper-V. In the past for TFS demos I had used &lt;a href="http://technet.microsoft.com/en-us/library/dd799282%28WS.10%29.aspx">boot from VHD&lt;/a> to &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/archive/2009/09/17/windows-7-boot-from-vhd.aspx">boot the Acer&lt;/a> into Windows 2K8, as the Acer could not run Hyper-V due to lack of hardware virtualisation support in the bios. So I had a fully configured VHD boot what I wanted to move to Hyper-V.&lt;/p></description></item><item><title>Speaking at usergroups in Leeds and Southampton</title><link>https://blogs.blackmarble.co.uk/rfennell/speaking-at-usergroups-in-leeds-and-southampton/</link><pubDate>Mon, 11 Jul 2011 10:39:24 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/speaking-at-usergroups-in-leeds-and-southampton/</guid><description>
&lt;p>Next week I am speaking at:&lt;/p>
&lt;blockquote>
&lt;p>The &lt;a href="http://www.bcs.org/content/conWebDoc/40784">West Yorkshire BCS&lt;/a> on “Application Lifecycle Management - supporting the software development process from inception to retirement” , Wednesday 20 July 2011, 6.30pm (refreshments available from 5.45pm) at NTI Leeds, Old Broadcasting House, 148 Woodhouse Lane, Leeds, LS2 9EN.&lt;/p>&lt;/blockquote>
&lt;p>and&lt;/p>
&lt;blockquote>
&lt;p>&lt;a href="http://www.nxtgenug.net/ViewEvent.aspx?EventID=415">NxtGen Southampton&lt;/a> on “TDD &amp;amp; Mocking, a love affair”, Thursday, July 21, 2011 , 7pm,  St Andrew's Hall, Avenue St Andrew's URC, SOUTHAMPTON, SO17 1XQ&lt;/p></description></item><item><title>Workaround to connect to a TFS Lab Environment from outside a TMG firewall</title><link>https://blogs.blackmarble.co.uk/rfennell/workaround-to-connect-to-a-tfs-lab-environment-from-outside-a-tmg-firewall/</link><pubDate>Fri, 08 Jul 2011 11:56:39 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/workaround-to-connect-to-a-tfs-lab-environment-from-outside-a-tmg-firewall/</guid><description>
&lt;p>Whist on the road I have had need to access our &lt;a href="http://msdn.microsoft.com/en-us/vstudio/ee712698.aspx">Lab Management&lt;/a> system via our &lt;a href="http://www.microsoft.com/forefront/threat-management-gateway/en/us/default.aspx">TMG firewall&lt;/a> through which we expose our TFS 2010 for remote users (via SSL). When I load Microsoft Tests Manager (MTM) I can connect to the TFS server, as expected, and go into ‘Lab Center’ mode. I can see my project’s environment and can start, stop and deploy them without issue (all communication routed via our TFS server). However the MTM environment viewer fails to make a connection to the test VMs in the environments.&lt;/p></description></item><item><title>TF30162: Task &amp;quot;BuildTask&amp;quot; from Group &amp;quot;Build&amp;quot; failed – when creating a team project</title><link>https://blogs.blackmarble.co.uk/rfennell/tf30162-task-buildtask-from-group-build-failed-when-creating-a-team-project/</link><pubDate>Tue, 05 Jul 2011 11:00:50 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/tf30162-task-buildtask-from-group-build-failed-when-creating-a-team-project/</guid><description>
&lt;p>When trying to create a new Team Project on my test TFS 2010 basic installation I got the error&lt;/p>
&lt;p>Time: 2011-07-05T11:43:36&lt;br>
Module: Engine&lt;br>
Event Description: TF30162: Task &amp;quot;BuildTask&amp;quot; from Group &amp;quot;Build&amp;quot; failed&lt;br>
Exception Type: Microsoft.TeamFoundation.Client.PcwException&lt;br>
Exception Message: Multiple identities found matching workspace name 'TYPHOONfbb296e15246421e9fc8d25e9d128512typhoon (VC)' and owner name 'BLACKMARBLEfez'. Please specify one of the following workspace specs:&lt;br>
TYPHOONfbb296e15246421e9fc8d25e9d128512typhoon (VC);BLACKMARBLEfez&lt;br>
TYPHOONfbb296e15246421e9fc8d25e9d128512typhoon (VC);BLACKMARBLEfez&lt;br>
Stack Trace:&lt;br>
   at Microsoft.VisualStudio.TeamFoundation.Build.ProjectComponentCreator.ExecuteInternal(ProjectCreationContext context, XmlNode taskXml, Boolean validationOnly)&lt;br>
   at Microsoft.VisualStudio.TeamFoundation.Build.ProjectComponentCreator.Execute(ProjectCreationContext context, XmlNode taskXml)&lt;br>
   at Microsoft.VisualStudio.TeamFoundation.ProjectCreationEngine.TaskExecutor.PerformTask(IProjectComponentCreator componentCreator, ProjectCreationContext context, XmlNode taskXml)&lt;br>
   at Microsoft.VisualStudio.TeamFoundation.ProjectCreationEngine.RunTask(Object taskObj)&lt;br>
--   Inner Exception   --&lt;br>
Exception Message: Multiple identities found matching workspace name 'TYPHOONfbb296e15246421e9fc8d25e9d128512typhoon (VC)' and owner name 'BLACKMARBLEfez'. Please specify one of the following workspace specs:&lt;br>
TYPHOONfbb296e15246421e9fc8d25e9d128512typhoon (VC);BLACKMARBLEfez&lt;br>
TYPHOONfbb296e15246421e9fc8d25e9d128512typhoon (VC);BLACKMARBLEfez (type MultipleWorkspacesFoundException)&lt;/p></description></item><item><title>First Stable Release of Community TFS 2010 Build Extensions</title><link>https://blogs.blackmarble.co.uk/rfennell/first-stable-release-of-community-tfs-2010-build-extensions/</link><pubDate>Tue, 05 Jul 2011 09:44:33 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/first-stable-release-of-community-tfs-2010-build-extensions/</guid><description>
&lt;p>The first stable release of the &lt;a href="http://tfsbuildextensions.codeplex.com/releases/view/67138">Community TFS Build Extensions&lt;/a> has been shipped. It contains around 100 activities. It is hoped that this project will be be shipping on a 2 to 3 month cycle in the future.&lt;/p>
&lt;p>So have a look, this project provides many ways to extend your build process. And if you have ideas for more activities why not contribute?&lt;/p></description></item><item><title>I’ve been re-awarded as an ALM MVP for 2011</title><link>https://blogs.blackmarble.co.uk/rfennell/ive-been-re-awarded-as-an-alm-mvp-for-2011/</link><pubDate>Mon, 04 Jul 2011 10:58:19 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/ive-been-re-awarded-as-an-alm-mvp-for-2011/</guid><description>
&lt;p>I am really pleased to say I have been re-awarded as a &lt;a href="https://mvp.support.microsoft.com/profile=59FE5790-D13C-40D8-9E99-B82DE635E4EE">Microsoft MVP for Visual Studio ALM&lt;/a> for 2011, this is my fourth year. I am looking forwarded to another year of working with such a great crowd of people.&lt;/p>
&lt;p>&lt;a href="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_20610AD0.png">&lt;img
loading="lazy"
decoding="async"
alt="image"
class="image_figure image_internal image_unprocessed"
src="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_thumb_64353F27.png"
title="image"
/>
&lt;/a>&lt;/p></description></item><item><title>Todays ISV event at Microsoft UK</title><link>https://blogs.blackmarble.co.uk/rfennell/todays-isv-event-at-microsoft-uk/</link><pubDate>Mon, 27 Jun 2011 20:42:39 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/todays-isv-event-at-microsoft-uk/</guid><description>
&lt;p>Thanks to everyone who came today’s ISV session at TVP.&lt;/p>
&lt;p>You can find all the slides from the event at &lt;a href="http://blogs.msdn.com/b/ukisvdev/archive/2011/06/27/slides-and-links-from-alm-and-visual-studio-2010-event-on-the-27th-june-2010.aspx" title="http://blogs.msdn.com/b/ukisvdev/archive/2011/06/27/slides-and-links-from-alm-and-visual-studio-2010-event-on-the-27th-june-2010.aspx">http://blogs.msdn.com/b/ukisvdev/archive/2011/06/27/slides-and-links-from-alm-and-visual-studio-2010-event-on-the-27th-june-2010.aspx&lt;/a>&lt;/p></description></item><item><title>Microsoft UK Techdays video’s available</title><link>https://blogs.blackmarble.co.uk/rfennell/microsoft-uk-techdays-videos-available/</link><pubDate>Thu, 23 Jun 2011 11:42:05 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/microsoft-uk-techdays-videos-available/</guid><description>
&lt;p>The videos from the various Microsoft UK Techdays events can now be viewed at &lt;a href="http://uktechdays.cloudapp.net/techdays-live.aspx">the UK TechDays site&lt;/a>. This includes my session on &lt;a href="http://uktechdays.cloudapp.net/techdays-live/virtualisation-of-the-test-environment.aspx">‘Virtualisation of the Test Environment’&lt;/a> and the joint one I did with &lt;a href="http://blogs.blackmarble.co.uk/blogs/jmann/default.aspx">James Mann&lt;/a> on the &lt;a href="http://uktechdays.cloudapp.net/techdays-live/the-new-experience-for-developing-sharepoint-solutions-in-vs2010.aspx">new experience for developing SharePoint solutions in VS2010&lt;/a> from the Leeds event.&lt;/p></description></item><item><title>Speaking at Microsoft UK next week</title><link>https://blogs.blackmarble.co.uk/rfennell/speaking-at-microsoft-uk-next-week/</link><pubDate>Wed, 22 Jun 2011 10:19:07 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/speaking-at-microsoft-uk-next-week/</guid><description>
&lt;p>I will be speaking at Microsoft UK’s ‘Application Lifecycle Management for Independent Software Vendors’ event next Monday. I am one of four speakers, between us well all address a variety of subjects within ALM&lt;/p>
&lt;ul>
&lt;li>Modern Software Delivery: The continuous delivery of high quality software - Colin Bird&lt;/li>
&lt;li>Driving Quality Throughout the Application Lifecycle - Richard Erwin&lt;/li>
&lt;li>Extending Testing into the Lab - Richard Fennell&lt;/li>
&lt;li>The Secrets of Repeatable Success - Adam Gilmore&lt;/li>
&lt;/ul>
&lt;p>&lt;a href="https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032485778&amp;amp;Culture=en-GB">I believe there are still spaces available&lt;/a>&lt;/p></description></item><item><title>More from the ALM Rangers - Lab Management Guide</title><link>https://blogs.blackmarble.co.uk/rfennell/more-from-the-alm-rangers-lab-management-guide/</link><pubDate>Mon, 20 Jun 2011 20:45:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/more-from-the-alm-rangers-lab-management-guide/</guid><description>
&lt;p>The &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/archive/2011/06/19/alm-ranger-s-build-customization-guidance-has-shipped.aspx">Build Customisation project&lt;/a> was not the only ALM Rangers release over the weekend. The &lt;a href="http://ralabman.codeplex.com/">Lab Management Guide&lt;/a> was also shipped. This provides scenario based and hands-on guidance for the planning, setup, configuration and usage of Visual Studio Lab Management, backed by custom VM Template automation for reference environments.&lt;/p>
&lt;p>If you work with Lab Management, or would like, this is well worth a read&lt;/p></description></item><item><title>TFS 2010 SP1 Cumulative Update 1</title><link>https://blogs.blackmarble.co.uk/rfennell/tfs-2010-sp1-cumulative-update-1/</link><pubDate>Mon, 20 Jun 2011 20:40:03 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/tfs-2010-sp1-cumulative-update-1/</guid><description>
&lt;p>For those of you have have not spotted it the &lt;a href="http://blogs.msdn.com/b/bharry/archive/2011/06/13/tfs-2010-sp1-cumulative-update-1-available.aspx">TFS 2010 SP1 Cumulative Update 1 is now available&lt;/a>. This is a roll up of all the fixes that have be released since TFS 2010 SP1. This form of cumulative release is going to be the way forward for TFS, so it will be easier to know what to install on a server without reading loads of QFE documents.&lt;/p>
&lt;p>For more details &lt;a href="http://blogs.msdn.com/b/bharry/archive/2011/06/13/tfs-2010-sp1-cumulative-update-1-available.aspx">read the full details on Brian Harry’s blog&lt;/a>&lt;/p></description></item><item><title>ALM Ranger’s Build Customization Guidance has shipped</title><link>https://blogs.blackmarble.co.uk/rfennell/alm-rangers-build-customization-guidance-has-shipped/</link><pubDate>Sun, 19 Jun 2011 20:13:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/alm-rangers-build-customization-guidance-has-shipped/</guid><description>
&lt;p>I am really please to say that the first ALM Rangers project I have been involved with, the Build Customization Guidance, has shipped.&lt;/p>
&lt;p>The project had the primary goal of delivering scenario based and hands-on lab guidance for the customization and deployment of Team Foundation Build 2010 activities such as versioning, code signing, and branching. You can find details at the &lt;a href="http://blogs.msdn.com/b/willy-peter_schaub/">Rangers blog&lt;/a>,the project &lt;a href="http://blogs.msdn.com/b/willy-peter_schaub/archive/2011/06/17/toc-build-customization-guide-blog-posts-and-reference-sites.aspx">table of content&lt;/a> or the &lt;a href="http://rabcg.codeplex.com/">codeplex site&lt;/a>&lt;/p>
&lt;p>I have certainly learnt a good deal working on this projects, thanks to everyone who made it such a interesting experience. Hope anyone reading the materials find them as useful.&lt;/p></description></item><item><title>My first serious problem with my WP7 device</title><link>https://blogs.blackmarble.co.uk/rfennell/my-first-serious-problem-with-my-wp7-device/</link><pubDate>Thu, 16 Jun 2011 07:35:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/my-first-serious-problem-with-my-wp7-device/</guid><description>
&lt;p>My WP7 LG-E900 decided to do a factory reset last night. It locked while playing the XBox Live GEODefense game on a particular busy level I had just lost (so lots of graphic processing). The phone paused for a while then restarted and ran the first use wizard, in German. This is because it is one of the PDC units that seem, given the packaging, to have been sourced from Vodafone German.&lt;/p></description></item><item><title>Using VSTO to access TFS</title><link>https://blogs.blackmarble.co.uk/rfennell/using-vsto-to-access-tfs/</link><pubDate>Fri, 03 Jun 2011 22:40:51 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/using-vsto-to-access-tfs/</guid><description>
&lt;p>Have you ever thought ‘&lt;em>I know that you get the Team ribbon in Excel to manage TFS work items, and I can use Excel to as a SQL/OLAP client to run reports from the TFS warehouse but I want to do more….&lt;/em>’?&lt;/p>
&lt;p>Have you every considered using VSTO to create an ActionPane that uses the TFS .NET API?&lt;/p>
&lt;p>&lt;a href="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_7D2BE2A2.png">&lt;img
loading="lazy"
decoding="async"
alt="image"
class="image_figure image_internal image_unprocessed"
src="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_thumb_4953C684.png"
title="image"
/>
&lt;/a>&lt;/p>
&lt;p>In this example I have created an ActionPane that allows you to select a Team Project Collection, a Team Project and then a build definition. Press the button and it lists the builds that have run of this type using the TFS .NET API.&lt;/p></description></item><item><title>Cannot connect to a Lab Management Environment using the MTM Environment Viewer</title><link>https://blogs.blackmarble.co.uk/rfennell/cannot-connect-to-a-lab-management-environment-using-the-mtm-environment-viewer/</link><pubDate>Wed, 01 Jun 2011 16:27:45 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/cannot-connect-to-a-lab-management-environment-using-the-mtm-environment-viewer/</guid><description>
&lt;p>Today we had a problem that we could not connect to VMs within a Lab Management environment from the Environment Viewer in MTM. We had composed the environment from VMs independently create and tested on the HyperV host. The plan in the end is to have this as a &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/archive/2010/10/25/common-confusion-i-have-seen-with-visual-studio-2010-lab-management.aspx">network isolated environment&lt;/a>, but for now it is a private domain that exists on our main LAN.&lt;/p>
&lt;p>The first issue we had was that as this was a private domain the various hosts were not registered on our DNS, so we got a DNS lookup error for the VM host names. This is best fixed with network isolation, but for a quick fix we put some entries in a local &lt;strong>hosts&lt;/strong> file on the PC we were using to resolve the name to IP addresses.&lt;/p></description></item><item><title>How to fix extra Quickstart help menu items when installing Typemock Isolator</title><link>https://blogs.blackmarble.co.uk/rfennell/how-to-fix-extra-quickstart-help-menu-items-when-installing-typemock-isolator/</link><pubDate>Mon, 30 May 2011 20:58:22 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/how-to-fix-extra-quickstart-help-menu-items-when-installing-typemock-isolator/</guid><description>
&lt;p>I recently noticed that I had a few too many ‘Typemock Isolator Quickstart’ help menu items in Visual Studio 2010&lt;/p>
&lt;p>&lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/clip_image002_619FEC6B.jpg">
&lt;img
loading="lazy"
decoding="async"
alt="clip_image002"
class="image_figure image_external image_unprocessed"
src="http://blogs.blackmarble.co.uk/blogs/rfennell/clip_image002_thumb_7F31C76A.jpg"
title="clip_image002"
/>
&lt;/a>&lt;/p>
&lt;p>After a quick check with Typemock it seems this was a known issue with previous versions of Isolator, you should not see it on a new installation (6.0.10). If you do have the problem do as I was advised, &lt;a href="http://forums.typemock.com/viewtopic.php?p=8332&amp;amp;sid=59949ea74e390f79b18e0c570e058173#8332">run the VS macro, created by Travis Illig, to remove the extra items&lt;/a>.&lt;/p></description></item><item><title>Links to Videos of my Presentations</title><link>https://blogs.blackmarble.co.uk/rfennell/links-to-videos-of-my-presentations/</link><pubDate>Sat, 28 May 2011 15:21:06 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/links-to-videos-of-my-presentations/</guid><description>
&lt;p>I have added page to this blog that has links to &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/pages/videos-of-my-presentations.aspx" title="Videos of my Presentations">videos of my presentations.&lt;/a> Should make them easier to find them when I need to refer to them.&lt;/p></description></item><item><title>Recording Silverlight actions on Microsoft Test Manager</title><link>https://blogs.blackmarble.co.uk/rfennell/recording-silverlight-actions-on-microsoft-test-manager/</link><pubDate>Fri, 27 May 2011 16:13:04 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/recording-silverlight-actions-on-microsoft-test-manager/</guid><description>
&lt;p>Whilst try to record some manual tests in MTM for a new Silverlight application I found I was not getting any actions recorded, just loads of “Fail to record the object corresponding to this action” warnings in the actions window.&lt;/p>
&lt;p>Turns out to fix this you have to do three things&lt;/p>
&lt;ol>
&lt;li>Install the &lt;a href="http://go.microsoft.com/fwlink/?LinkId=194188">&lt;strong>Visual Studio 2010 Feature Pack 2 (MSDN Subscribers Only)&lt;/strong>&lt;/a> – this adds Silverlight support to MTM (this I had already done)&lt;/li>
&lt;li>In your SIlverlLight application you need to reference the &lt;strong>Microsoft.VisualStudio.TestTools.UITest.Extension.SilverlightUIAutomationHelper.dll&lt;/strong>  from the folder &lt;strong>C:Program Files (x86)Common Filesmicrosoft sharedVSTT10.0UITestExtensionPackagesSilverlightUIAutomationHelper&lt;/strong>&lt;/li>
&lt;li>Finally if using IE9 you need to run IE in IE8 mode. To do this in IE9 press F12 and select the browser mode&lt;/li>
&lt;/ol>
&lt;p>&lt;a href="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_60B1B2B0.png">&lt;img
loading="lazy"
decoding="async"
alt="image"
class="image_figure image_internal image_unprocessed"
src="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_thumb_59927638.png"
title="image"
/>
&lt;/a>&lt;/p></description></item><item><title>TFS vNext video from Teched up on Channel9</title><link>https://blogs.blackmarble.co.uk/rfennell/tfs-vnext-video-from-teched-up-on-channel9/</link><pubDate>Wed, 18 May 2011 11:40:55 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/tfs-vnext-video-from-teched-up-on-channel9/</guid><description>
&lt;p>Cameron Skinner’s TechEd session that goes into more depth on the announcements for &lt;a href="http://channel9.msdn.com/Events/TechEd/NorthAmerica/2011/FDN03">TFS vNext is up on Channel 9&lt;/a>. Just downloading it for to watch on the train to London this afternoon. I tried streaming live on the East Coast mainline before, their on train WiFi is just not up to it.&lt;/p></description></item><item><title>Announcements at TechEd USA 2011 about TFS vNext and a Java API available now</title><link>https://blogs.blackmarble.co.uk/rfennell/announcements-at-teched-usa-2011-about-tfs-vnext-and-a-java-api-available-now/</link><pubDate>Mon, 16 May 2011 22:40:22 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/announcements-at-teched-usa-2011-about-tfs-vnext-and-a-java-api-available-now/</guid><description>
&lt;p>Watching the &lt;a href="http://northamerica.msteched.com/?fbid=AVplQ40jAXr#tab1">keynote of TechEd 2011&lt;/a> there were some interesting announcements on the vNext for TFS (the TFS section starts about 1:20 into the keynote).&lt;/p>
&lt;ul>
&lt;li>Storyboarding Assistant – A new product using PowerPoint as the core tools to gather requirements&lt;/li>
&lt;li>New web based dashboard to help manage requirement work items, with loads of drag and drop and pulling much of the functionality of the current Excel planning workbooks into the browser.&lt;/li>
&lt;li>A new web based taskboard (that was demo’d using a huge touch screen monitor)&lt;/li>
&lt;li>Giving the developer a task oriented means to say what work they are working on, and behind the scenes setting their workspace appropriately&lt;/li>
&lt;li>New tooling to allow users to provide feedback on the release in an MTM like style&lt;/li>
&lt;li>Also mentioned was code review tooling, intellitrace in production and much more…&lt;/li>
&lt;/ul>
&lt;p>Have a look at the keynote (the video is available now) and breakout session video streams when they appear. &lt;a href="http://blogs.msdn.com/b/jasonz/archive/2011/05/16/announcing-alm-roadmap-in-visual-studio-vnext-at-teched.aspx">Also there is more detail on Jason Zanders blog&lt;/a>&lt;/p></description></item><item><title>Speaking at Microsoft’s “Application Lifecycle Management for Independent Software Vendors”</title><link>https://blogs.blackmarble.co.uk/rfennell/speaking-at-microsofts-application-lifecycle-management-for-independent-software-vendors/</link><pubDate>Fri, 13 May 2011 10:20:52 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/speaking-at-microsofts-application-lifecycle-management-for-independent-software-vendors/</guid><description>
&lt;p>In the 27th June I will be speaking on Lab Management at Microsoft’s “Application Lifecycle Management for Independent Software Vendors” event at TVP.&lt;/p>
&lt;p>&lt;a href="https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032485778&amp;amp;Culture=en-GB">For more details see the Microsoft event site&lt;/a>&lt;/p></description></item><item><title>Cross domain usage of TFS Integration Platform</title><link>https://blogs.blackmarble.co.uk/rfennell/cross-domain-usage-of-tfs-integration-platform/</link><pubDate>Fri, 06 May 2011 11:53:47 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/cross-domain-usage-of-tfs-integration-platform/</guid><description>
&lt;p>Whist trying to do a cross domain migration of some source between two TFS2010 servers, I got the less than helpful runtime exception&lt;/p>
&lt;blockquote>
&lt;p>&lt;em>System.ArgumentNullException: Value cannot be null.&lt;br>
Parameter name: activeWorkspace&lt;br>
at Microsoft.TeamFoundation.Migration.Tfs2010VCAdapter.TfsUtil.CleanWorkspace(Workspace activeWorkspace)&lt;br>
at Microsoft.TeamFoundation.Migration.Tfs2010VCAdapter.TfsVCMigrationProvider.ProcessChangeGroup(ChangeGroup group)&lt;/em>&lt;/p>&lt;/blockquote>
&lt;p>On checking the &lt;em>_tfsintegrationservice_&lt;timestamp>.log&lt;/em> I found the more useful&lt;/p>
&lt;blockquote>
&lt;p>&lt;em>TFS::Authenticate : Caught exception : Microsoft.TeamFoundation.TeamFoundationServerUnauthorizedException: TF30063: You are not authorized to access tfsserver.otherdomain.com. ---&amp;gt; System.Net.WebException: The remote server returned an error: (401) Unauthorized.&lt;/em>&lt;/p></description></item><item><title>Our WP7 TFS Phone Explorer has won first prize in the Red Gate WP7 competition</title><link>https://blogs.blackmarble.co.uk/rfennell/our-wp7-tfs-phone-explorer-has-won-first-prize-in-the-red-gate-wp7-competition/</link><pubDate>Thu, 05 May 2011 16:31:58 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/our-wp7-tfs-phone-explorer-has-won-first-prize-in-the-red-gate-wp7-competition/</guid><description>
&lt;p>Great news the &lt;a href="http://social.zune.net/redirect?type=phoneApp&amp;amp;id=f82cfdd2-0763-e011-81d2-78e7d1fa76f8">Black Marble’s WP7 TFS Phone client&lt;/a> has &lt;a href="http://wp7comp.posterous.com/red-gate-softwares-windows-phone-7-competitio">won one of the three top prizes on  Red Gate Software’s Windows Phone 7 Competition&lt;/a>&lt;/p>
&lt;p>
&lt;img
loading="lazy"
decoding="async"
alt=""
class="image_figure image_external image_unprocessed"
src="http://blogs.blackmarble.co.uk/blogs/rfennell/smallpanoramaWPhone_1136CEB1.png"
/>
      &lt;a href="http://wp7comp.posterous.com/red-gate-softwares-windows-phone-7-competitio">&lt;img
loading="lazy"
decoding="async"
alt="image"
class="image_figure image_internal image_unprocessed"
src="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_18352E96.png"
title="image"
/>
&lt;/a>&lt;/p>
&lt;p>You can read the judges comments on the &lt;a href="http://wp7comp.posterous.com/red-gate-softwares-windows-phone-7-competitio">competition blog&lt;/a>, I would stress it only mentions my name, but this was Black Marble team effort.&lt;/p>
&lt;p>If you want to try it out get the &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/archive/2011/04/19/release-of-black-marble-s-wp7-tfs-phone-explorer.aspx">trial version from the marketplace&lt;/a>&lt;/p></description></item><item><title>Free webcast of Architecture and Installation of TFS 2010</title><link>https://blogs.blackmarble.co.uk/rfennell/free-webcast-of-architecture-and-installation-of-tfs-2010/</link><pubDate>Thu, 05 May 2011 13:47:20 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/free-webcast-of-architecture-and-installation-of-tfs-2010/</guid><description>
&lt;p>Are you unsure how TFS 2010 hangs together or what is entailed in installing it?&lt;/p>
&lt;p>Well never fear, Microsoft are hosting a webcast on the 12th May that will be given by Black Marble’s own Robert Hancock one of our ALM consultants, which will explain all.&lt;/p>
&lt;p>&lt;a href="https://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?EventID=1032485514&amp;amp;EventCategory=4&amp;amp;culture=en-GB&amp;amp;CountryCode=GB">To register check the Microsoft events site&lt;/a>&lt;/p></description></item><item><title>Registration open for the “Connected Development” event on the 26th of May</title><link>https://blogs.blackmarble.co.uk/rfennell/registration-open-for-the-connected-development-event-on-the-26th-of-may/</link><pubDate>Thu, 05 May 2011 13:38:11 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/registration-open-for-the-connected-development-event-on-the-26th-of-may/</guid><description>
&lt;p>There are still space on the “Connected Development” event, a free event hosted by Black Marble and supported by Microsoft TechDays, on the 26th of May.&lt;/p>
&lt;p>I am one of a number of speakers from Microsoft and Gold ALM Partners who will be talking about the latest news and announcements for Application Lifecycle Management and Developing for the Microsoft Platform.&lt;/p>
&lt;p>Full details about the event can be found &lt;a href="http://bit.ly/gRgGdt">at Microsoft Events&lt;/a>.&lt;/p></description></item><item><title>Creating a TFS Team Project Collection using Powershell</title><link>https://blogs.blackmarble.co.uk/rfennell/creating-a-tfs-team-project-collection-using-powershell/</link><pubDate>Thu, 05 May 2011 12:00:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/creating-a-tfs-team-project-collection-using-powershell/</guid><description>
&lt;p>&lt;a href="http://blogs.msdn.com/b/granth/archive/2010/02/27/tfs2010-create-a-new-team-project-collection-from-powershell.aspx">Grant Holiday posted on how to create a TPC using Powershell&lt;/a>. However his post did not address how to set the SharePoint or Reporting Services parameters. His example used for the form&lt;/p>
&lt;p>Dictionary&amp;lt;string, string&amp;gt; servicingTokens = new Dictionary&amp;lt;string, string&amp;gt;();&lt;br>
servicingTokens.Add(&amp;quot;SharePointAction&amp;quot;, &amp;quot;None&amp;quot;); // don't configure sharepoint&lt;br>
servicingTokens.Add(&amp;quot;ReportingAction&amp;quot;, &amp;quot;None&amp;quot;); // don't configure reporting services&lt;/p>
&lt;p>So not much use if like ourselves you have your TFS integrated with the company wide SharePoint farm&lt;/p></description></item><item><title>Problems and workaround for the EMC Scrum for Team System Process Template</title><link>https://blogs.blackmarble.co.uk/rfennell/problems-and-workaround-for-the-emc-scrum-for-team-system-process-template-2/</link><pubDate>Wed, 04 May 2011 16:19:32 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/problems-and-workaround-for-the-emc-scrum-for-team-system-process-template-2/</guid><description>
&lt;p>I have recently been looking at the &lt;a href="http://www.scrumforteamsystem.com/">EMC Scrum for Team Systems (SFTS) 3 Template for TFS 2010&lt;/a> with SharePoint 2010. The core of it works, and works well for Scrum based teams. If you have not used it before have a read of the &lt;a href="http://consultingblogs.emc.com/crispinparker/archive/2010/05/18/getting-started-with-scrum-for-team-system-version-3-tfs-2010.aspx">getting started post&lt;/a> to get a feel of what it can do.&lt;/p>
&lt;p>However, there are some issues when you try to make use of SharePoint 2010 as opposed to SharePoint 2007. Hopefully you will find some of the adventures I have had enlightening&lt;/p></description></item><item><title>Problems and workaround for the EMC Scrum for Team System Process Template</title><link>https://blogs.blackmarble.co.uk/rfennell/problems-and-workaround-for-the-emc-scrum-for-team-system-process-template/</link><pubDate>Wed, 04 May 2011 16:19:32 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/problems-and-workaround-for-the-emc-scrum-for-team-system-process-template/</guid><description>
&lt;p>I have recently been looking at the &lt;a href="http://www.scrumforteamsystem.com/">EMC Scrum for Team Systems (SFTS) 3 Template for TFS 2010&lt;/a> with SharePoint 2010. The core of it works, and works well for Scrum based teams. If you have not used it before have a read of the &lt;a href="http://consultingblogs.emc.com/crispinparker/archive/2010/05/18/getting-started-with-scrum-for-team-system-version-3-tfs-2010.aspx">getting started post&lt;/a> to get a feel of what it can do.&lt;/p>
&lt;p>However, there are some issues when you try to make use of SharePoint 2010 as opposed to SharePoint 2007. Hopefully you will find some of the adventures I have had enlightening&lt;/p></description></item><item><title>My upcoming speaking engagements for Spring/Summer 2011</title><link>https://blogs.blackmarble.co.uk/rfennell/my-upcoming-speaking-engagements-for-springsummer-2011/</link><pubDate>Tue, 03 May 2011 11:50:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/my-upcoming-speaking-engagements-for-springsummer-2011/</guid><description>
&lt;p>I have a couple of community speaking engagements coming up&lt;/p>
&lt;ul>
&lt;li>&lt;a href="http://edinburgh.bcs.org.uk/events/2010-11/110511.htm">May 11 BCS Edinburgh on Agile Methods&lt;/a>&lt;/li>
&lt;li>&lt;a href="http://www.nxtgenug.net/ViewEvent.aspx?EventID=415">July 21 NxtGen Southampton on Test Driven development and mocking&lt;/a>&lt;/li>
&lt;/ul>
&lt;p>Both are free, so if you are in the either area, I would be surprised if you were at both given the locations, I hope you can come along&lt;/p></description></item><item><title>The slow slide to a paperless life</title><link>https://blogs.blackmarble.co.uk/rfennell/the-slow-slide-to-a-paperless-life/</link><pubDate>Tue, 03 May 2011 11:17:27 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/the-slow-slide-to-a-paperless-life/</guid><description>
&lt;p>I posted in the past about &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/archive/2010/10/19/should-i-buy-a-kindle.aspx">my though processes on getting a Kindle&lt;/a>, they boiled down to to&lt;/p>
&lt;ol>
&lt;li>Why do the books cost virtually as much as paper edition when the author gets no more royalties and the production/distribution costs as far lower?&lt;/li>
&lt;li>I don’t want an extra device to carry about&lt;/li>
&lt;/ol>
&lt;p>Well I have been using the &lt;a href="http://social.zune.net/External/LaunchZuneProtocol.aspx?pathuri=navigate%3FphoneAppID%3D48195fb4-ee0e-e011-9264-00237de2db9e">WP7 Kindle Client&lt;/a> to read free classics and actually buying current novels. When I finished my first purchased novel, it was virtually automatic to go and buy another. No going to the bookshop or waiting for Amazon to deliver.&lt;/p></description></item><item><title>How to use the TFS 2010 Community StyleCop Build Actvity (Addendum)</title><link>https://blogs.blackmarble.co.uk/rfennell/how-to-use-the-tfs-2010-community-stylecop-build-actvity-addendum/</link><pubDate>Wed, 27 Apr 2011 16:04:38 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/how-to-use-the-tfs-2010-community-stylecop-build-actvity-addendum/</guid><description>
&lt;p>Recently I posted on &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/archive/2011/04/22/how-to-use-the-tfs-2010-community-stylecop-build-activity.aspx">How to use the TFS 2010 Community StyleCop Build Activity&lt;/a> and I am sure it all sounded very awkward and complex, well it did to me.&lt;/p>
&lt;p>The point I should have made is that you don’t have to follow this process every time you want to make use of the custom activity. As long as the build process template is the same between to builds you can just copy it, you only need to follow the method in the post the first time.&lt;/p></description></item><item><title>Professional Foundation Server 2010</title><link>https://blogs.blackmarble.co.uk/rfennell/professional-foundation-server-2010/</link><pubDate>Wed, 27 Apr 2011 14:15:58 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/professional-foundation-server-2010/</guid><description>
&lt;p>Over the holiday I have been reading &lt;a href="http://www.amazon.co.uk/dp/B004S82RRE/ref=as_li_tf_til?tag=buitwoonmypc-21&amp;amp;camp=1406&amp;amp;creative=6394&amp;amp;linkCode=as1&amp;amp;creativeASIN=B004S82RRE&amp;amp;adid=1YGFJBQJVE523F0B4BPE&amp;amp;">Professional Foundation Server 2010 by Ed Blankenship, Martin Woodward, Grant Holiday and Brian Keller&lt;/a>, yes I know how to have time off and have fun!&lt;/p>
&lt;p>So who is this book for? It is a comprehensive guide to TFS 2010, the components and their usage, but this does not mean the book is only for teams new to TFS or people planning to take certification exams. Spread throughout there are useful little titbits of information where you find yourself going ‘&lt;em>I never know that&lt;/em>’ or ‘&lt;em>arr.. that explains so much&lt;/em>’&lt;/p></description></item><item><title>Added a reading list to my blog</title><link>https://blogs.blackmarble.co.uk/rfennell/added-a-reading-list-to-my-blog/</link><pubDate>Wed, 27 Apr 2011 10:01:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/added-a-reading-list-to-my-blog/</guid><description>
&lt;p>I am always being asked when at events for details of books I have recommended. So I have added a list of books I have found useful to this blog, it can be found at &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/pages/reading-list.aspx" title="http://blogs.blackmarble.co.uk/blogs/rfennell/pages/reading-list.aspx">http://blogs.blackmarble.co.uk/blogs/rfennell/pages/reading-list.aspx&lt;/a>.&lt;/p>
&lt;p>Thus far I have added the ones I have been looking at recently, but will add more as I go along.&lt;/p>
&lt;p>Hope you find them as useful as I have&lt;/p></description></item><item><title>How to use the TFS 2010 Community StyleCop Build Activity</title><link>https://blogs.blackmarble.co.uk/rfennell/how-to-use-the-tfs-2010-community-stylecop-build-activity/</link><pubDate>Fri, 22 Apr 2011 14:04:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/how-to-use-the-tfs-2010-community-stylecop-build-activity/</guid><description>
&lt;p>[Updated 27th April 2011 Also see &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/archive/2011/04/27/how-to-use-the-tfs-2010-community-stylecop-build-actvity-addendum.aspx">How to use the TFS 2010 Community StyleCop Build Actvity (Addendum)&lt;/a>]&lt;/p>
&lt;p>The &lt;a href="http://tfsbuildextensions.codeplex.com/">Codeplex Community TFS Build Extensions&lt;/a> contains a &lt;a href="http://stylecop.codeplex.com/">StyleCop&lt;/a> activity, but the way to use it is less than obvious. This is not helped by the complexity in using any custom activity within TFS 2010 builds. In this post I will try to show how to get going with the StyleCop activity, which might shed some light on using other custom assemblies.&lt;/p></description></item><item><title>Now I have three TFS build instances on my VM</title><link>https://blogs.blackmarble.co.uk/rfennell/now-i-have-three-tfs-build-instances-on-my-vm/</link><pubDate>Wed, 20 Apr 2011 11:10:23 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/now-i-have-three-tfs-build-instances-on-my-vm/</guid><description>
&lt;p>A while ago I posted on my e&lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/archive/2010/09/13/experiences-running-multiple-instances-of-2010-build-service-on-a-single-vm.aspx">xperiences running multiple instances of 2010 build service on a single VM&lt;/a>. Well a couple more experiences as now one of my VM is running 3 instances.&lt;/p>
&lt;p>Firstly it seems to work OK, you have to have the right build profile i.e. fairly low load but a need to support many Team Project Collections. This is not a solution for a highly loaded build environment. At Black Marble we run a TPC per client model and tend to have fair few projects on the go at any one time, so need plenty of build controllers. However, in general the builds are small, taking minutes not hours If we have a seriously long running build I would still create a dedicated build service VM.&lt;/p></description></item><item><title>Release of Black Marble’s WP7 TFS Phone Explorer</title><link>https://blogs.blackmarble.co.uk/rfennell/release-of-black-marbles-wp7-tfs-phone-explorer/</link><pubDate>Tue, 19 Apr 2011 10:59:18 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/release-of-black-marbles-wp7-tfs-phone-explorer/</guid><description>
&lt;p>Over the weekend we have released &lt;a href="http://social.zune.net/redirect?type=phoneApp&amp;amp;id=f82cfdd2-0763-e011-81d2-78e7d1fa76f8">Black Marble’s WP7 TFS Phone client to the WP7 Marketplace&lt;/a>.&lt;/p>
&lt;p>&lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/smallpanoramaWPhone_1136CEB1.png">
&lt;img
loading="lazy"
decoding="async"
alt="smallpanoramaWPhone"
class="image_figure image_external image_unprocessed"
src="http://blogs.blackmarble.co.uk/blogs/rfennell/smallpanoramaWPhone_thumb_54BE5A06.png"
title="smallpanoramaWPhone"
/>
&lt;/a>&lt;/p>
&lt;p>This app allows the user of a WP7 phone to access their TFS server to perform common operations. They can:&lt;/p>
&lt;ul>
&lt;li>See recent builds and drill into the results&lt;/li>
&lt;li>Queue new builds&lt;/li>
&lt;li>View and add work items&lt;/li>
&lt;/ul>
&lt;p>This client talks via a custom web service to a TFS 2008 or 2010 server, which are available from &lt;a href="mailto:support@blackmarble.co.uk">Black Marble&lt;/a>. But if you just want a quick look to see what it can do we have setup a demo web service so you can trial the application, just use the default account details stored in the application. These are &lt;/p></description></item><item><title>TF30162: Task &amp;quot;UploadStructure&amp;quot; from Group &amp;quot;Classification&amp;quot; failed</title><link>https://blogs.blackmarble.co.uk/rfennell/tf30162-task-uploadstructure-from-group-classification-failed/</link><pubDate>Fri, 15 Apr 2011 16:06:18 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/tf30162-task-uploadstructure-from-group-classification-failed/</guid><description>
&lt;p>When trying to create a new Team Project on TFS2010 from a client PC I got the following error&lt;/p>
&lt;p>_Event Description: TF30162: Task &amp;quot;UploadStructure&amp;quot; from Group &amp;quot;Classification&amp;quot; failed&lt;br>
Exception Type: Microsoft.TeamFoundation.Client.PcwException&lt;/p>
&lt;p>Inner Exception Details:_&lt;/p>
&lt;p>&lt;em>Exception Message: TF205029: No catalog resource type exists with the following identifier: 41c8b6db-39ec-49db-9db8-0760e836bfbe. (type CatalogResourceTypeDoesNotExistException)&lt;/em>&lt;/p>
&lt;p>However if I did the create on the TFS console all was fine.&lt;/p>
&lt;p>Turned out the problem was due to the caching done by Team Explorer in Visual Studio. Exiting the copy of VS2010 on the client and reloading it fixed the problem as the updated team process settings will cached locally.&lt;/p></description></item><item><title>TF255115 Access Denied when starting TFSAgent Service</title><link>https://blogs.blackmarble.co.uk/rfennell/tf255115-access-denied-when-starting-tfsagent-service/</link><pubDate>Thu, 14 Apr 2011 20:31:06 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/tf255115-access-denied-when-starting-tfsagent-service/</guid><description>
&lt;p>Whist configuring a new TFS2010 server I got the error&lt;/p>
&lt;p>&lt;em>TF255115: The following service did not start: TfsJobAgent. Cannot start service TfsJobAgent on computer '&lt;COMPUTERNAME>'.&lt;/em>&lt;/p>
&lt;p>This was identical to the &lt;a href="http://social.msdn.microsoft.com/Forums/en-US/tfssetup/thread/75c370fe-7951-44e9-85be-c7d2378f7beb">thread on MSDN&lt;/a> and it turned out my problem was similar.&lt;/p>
&lt;p>I was installing TFS onto drive D:APPS, not the usual C:PROGRAM FILE. The problem was the &lt;COMPUTERNAME>User group did not have the default Read &amp;amp; Execute, List Folder Contents and Read rights on the D:APPS directory and sub directory, the right all users have on C:PROGRAM FILES.&lt;/p></description></item><item><title>PC Rebuild time – remembering how to mount a bitlockered VHD</title><link>https://blogs.blackmarble.co.uk/rfennell/pc-rebuild-time-remembering-how-to-mount-a-bitlockered-vhd/</link><pubDate>Thu, 14 Apr 2011 19:27:25 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/pc-rebuild-time-remembering-how-to-mount-a-bitlockered-vhd/</guid><description>
&lt;p>When your PC reaches the point that MSI cannot connect to the Install Service you know it is time to repave the PC. This is the time to you have to try remember what you installed on the PC, your license codes and how you actually got things to work.&lt;/p>
&lt;p>So going through this process this week all went OK until I tried to remember how I handled bitlockered VHDs.&lt;/p></description></item><item><title>Speaking at the BCS in Edinburgh on Agile Methods</title><link>https://blogs.blackmarble.co.uk/rfennell/speaking-at-the-bcs-in-edinburgh-on-agile-methods/</link><pubDate>Thu, 14 Apr 2011 19:12:44 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/speaking-at-the-bcs-in-edinburgh-on-agile-methods/</guid><description>
&lt;p>I am speaking at the BCS group in Edinburgh on the 11th of May in Agile and Lean Methods.&lt;/p>
&lt;p>For more details see &lt;a href="http://edinburgh.bcs.org.uk/events/2010-11/110511.htm" title="http://edinburgh.bcs.org.uk/events/2010-11/110511.htm">http://edinburgh.bcs.org.uk/events/2010-11/110511.htm&lt;/a>&lt;/p></description></item><item><title>New home for my Techdays video on Lab Management from last year</title><link>https://blogs.blackmarble.co.uk/rfennell/new-home-for-my-techdays-video-on-lab-management-from-last-year/</link><pubDate>Sun, 10 Apr 2011 19:15:38 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/new-home-for-my-techdays-video-on-lab-management-from-last-year/</guid><description>
&lt;p>Last year I presented at &lt;a href="http://www.microsoft.com/uk/techdays">Microsoft UK’s Techdays&lt;/a> on Visual Studio 2010 Lab Management and the session was videoed. I recently tried to refer someone to this recording and I found that the Techdays site had been rebuilt for this years event and I could not find the video. Well after a bit of searching I found it on MSN at &lt;a href="http://video.msn.com/video.aspx?mkt=en-gb&amp;amp;vid=3db86a73-16e1-409e-90a0-9fc56c46ce21" title="Putting some Testing into your TFS Build Process">Putting some Testing into your TFS Build Process&lt;/a>&lt;/p></description></item><item><title>Doing a webcast for Microsoft next week ‘Lab Management and Automated Build’</title><link>https://blogs.blackmarble.co.uk/rfennell/doing-a-webcast-for-microsoft-next-week-lab-management-and-automated-build/</link><pubDate>Wed, 06 Apr 2011 15:47:57 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/doing-a-webcast-for-microsoft-next-week-lab-management-and-automated-build/</guid><description>
&lt;p>Next Tuesday lunchtime (12th Apr 2011 1pm) I will be doing a webcast on on ‘Lab Management and Automated Build’. I will be looking at the build options in TFS and also how they can be extended with Lab Management.&lt;/p>
&lt;p>The event is free to attend you just need to register at &lt;a href="http://www.microsoft.com/visualstudio/en-gb/visual-studio-events" title="http://www.microsoft.com/visualstudio/en-gb/visual-studio-events">http://www.microsoft.com/visualstudio/en-gb/visual-studio-events&lt;/a>&lt;/p></description></item><item><title>Why can’t I see my TFS reports?</title><link>https://blogs.blackmarble.co.uk/rfennell/why-cant-i-see-my-tfs-reports/</link><pubDate>Mon, 04 Apr 2011 12:32:53 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/why-cant-i-see-my-tfs-reports/</guid><description>
&lt;p>Whist recently installing a TFS 2010 system onto a single box server, that was also a domain controller, I had a problem that though everything seemed in order I could not view my reporting services based reports in either SharePoint or directly from the &lt;a href="http://myserver/reports">http://myserver/reports&lt;/a> interface.&lt;/p>
&lt;p>During the installation I had verified I had the correct password for my &lt;strong>[domain]tfsreports&lt;/strong> account used to run the reports. If went to the &lt;a href="http://myserver/reports">http://myserver/reports&lt;/a> page and edited the &lt;strong>TFS2010ReportsDs&lt;/strong> or &lt;strong>TFS2010OlapReportDS&lt;/strong> and tried to test the &lt;strong>[domain]tfsreports&lt;/strong> login it failed. However, if I swapped to the &lt;strong>[domain]administrator&lt;/strong> all was fine and my reports worked.&lt;/p></description></item><item><title>How to waste time with Lab Management – Missing the obvious that MTM points to a Team Project</title><link>https://blogs.blackmarble.co.uk/rfennell/how-to-waste-time-with-lab-management-missing-the-obvious-that-mtm-points-to-a-team-project/</link><pubDate>Wed, 30 Mar 2011 09:56:53 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/how-to-waste-time-with-lab-management-missing-the-obvious-that-mtm-points-to-a-team-project/</guid><description>
&lt;p>I &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/archive/2010/10/25/common-confusion-i-have-seen-with-visual-studio-2010-lab-management.aspx">posted a while ago about common confusion I had seen with Lab Management&lt;/a>. We I have recently managed to get myself completely confused whilst working with Lab Management. It turns out the issue was so obvious I managed to miss it for hours, but as usual I learnt a good deal whilst trying to troubleshoot my stupidity.&lt;/p>
&lt;p>I have a Lab Management system linked up to a a Team Project Collection (TPC). In this TPC there is a Team Project used for SharePoint development and on my Lab Management system I have an environment to allow testing of the SharePoint products. I setup a new Team Project in this TPC. In the new project I created a new MVC solution and created an automated build, which all worked fine.&lt;/p></description></item><item><title>How to expose IIS Express to external network connections and use a non-self signed certificate</title><link>https://blogs.blackmarble.co.uk/rfennell/how-to-expose-iis-express-to-external-network-connections-and-use-a-non-self-signed-certificate/</link><pubDate>Tue, 22 Mar 2011 21:02:32 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/how-to-expose-iis-express-to-external-network-connections-and-use-a-non-self-signed-certificate/</guid><description>
&lt;p>&lt;a href="http://weblogs.asp.net/scottgu/archive/2010/06/28/introducing-iis-express.aspx">IIS Express&lt;/a> is a great addition to the tools for .NET web developers; it allow a slightly cut down copy of IIS 7.5 to be run without administrative privileges on a developer’s PC. This means we can hopefully get away from the problems associated by either&lt;/p>
&lt;ol>
&lt;li>Using &lt;a href="http://en.wikipedia.org/wiki/Cassini_Web_Server">Cassini&lt;/a> – which is not IIS and does not do any clever&lt;/li>
&lt;li>Using full IIS which means Visual Studio has to run as administrator to debug it and also causes source control issues when a project is shared between multiple developers (their IIS setup must match up)&lt;/li>
&lt;/ol>
&lt;p>If you install &lt;a href="http://support.microsoft.com/kb/983509">Visual Studio 2010 SP1&lt;/a> and IIS express you now get a new option, that is to use IIS express as your web server. This, via a few clicks, can be configured for SSL and should address 90%+ of the needs of most developers. Once a project is set to use IIS express the key properties are set via the VS Property windows&lt;/p></description></item><item><title>A slow experience installing VS2010 SP1, but worth it in the end</title><link>https://blogs.blackmarble.co.uk/rfennell/a-slow-experience-installing-vs2010-sp1-but-worth-it-in-the-end/</link><pubDate>Sat, 19 Mar 2011 14:10:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/a-slow-experience-installing-vs2010-sp1-but-worth-it-in-the-end/</guid><description>
&lt;p>I got round to installing &lt;a href="http://weblogs.asp.net/scottgu/archive/2011/03/15/visual-studio-2010-sp1.aspx">Visual Studio 2010 SP1&lt;/a> on my laptop last night; well I started last night via the Web Platform Installer method. It downloaded the bits fast but sat for ages on the first step, installing the actual service pack. There was no obvious activity on the CPU or disk. In the end I gave waiting and went to bed. I was pleased to see it was finished this morning.&lt;/p></description></item><item><title>Getting the WP7 SDK onto a Windows Server 2008 TFS Build Agent</title><link>https://blogs.blackmarble.co.uk/rfennell/getting-the-wp7-sdk-onto-a-windows-server-2008-tfs-build-agent/</link><pubDate>Thu, 17 Mar 2011 09:25:20 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/getting-the-wp7-sdk-onto-a-windows-server-2008-tfs-build-agent/</guid><description>
&lt;p>If you try to create an automated TFS build of a Windows Phone 7 Silverlight application on a ‘default installed’ build agent you will see errors along the lines of&lt;/p>
&lt;p>&lt;em>The imported project &amp;quot;C:Program FilesMSBuildMicrosoftSilverlight for Phonev4.0Microsoft.Silverlight.WindowsPhone.Overrides.targets&amp;quot; was not found. Confirm that the path in the &lt;Import> declaration is correct, and that the file exists on disk.&lt;/em>&lt;/p>
&lt;p>This is because the PC your build agent is running on does not have the &lt;a href="http://create.msdn.com/en-us/home/getting_started">WP7 SDK installed&lt;/a>.&lt;/p></description></item><item><title>DDD Scotland registration is now open</title><link>https://blogs.blackmarble.co.uk/rfennell/ddd-scotland-registration-is-now-open/</link><pubDate>Mon, 14 Mar 2011 19:14:48 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/ddd-scotland-registration-is-now-open/</guid><description>
&lt;p>For those who have not noticed, DDD Scotland’s registration is now open at &lt;a href="http://developerdeveloperdeveloper.com/scotland2011/Default.aspx" title="http://developerdeveloperdeveloper.com/scotland2011/Default.aspx">http://developerdeveloperdeveloper.com/scotland2011/Default.aspx&lt;/a>.&lt;/p>
&lt;p>Sad to say my proposed session did not get accepted, but that just means I have the chance to see more sessions myself!&lt;/p></description></item><item><title>Speaking on VS 2010 ALM and Testing at events in Belfast and Dublin</title><link>https://blogs.blackmarble.co.uk/rfennell/speaking-on-vs-2010-alm-and-testing-at-events-in-belfast-and-dublin/</link><pubDate>Thu, 10 Mar 2011 16:20:51 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/speaking-on-vs-2010-alm-and-testing-at-events-in-belfast-and-dublin/</guid><description>
&lt;p>At the end of the month I will be speaking at a series of free Microsoft events in Belfast and Dublin. There going to be two session at each location&lt;/p>
&lt;p>&lt;strong>Managing application lifecycle “From requirements to retirement” with Team Foundation Server 2010&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Dublin - 31/03/2011 (AM): &lt;a href="https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032480694&amp;amp;Culture=en-IE">https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032480694&amp;amp;Culture=en-IE&lt;/a>&lt;/li>
&lt;li>Belfast – 01/04/2011 (AM): &lt;a href="https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032480760&amp;amp;Culture=en-IE">https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032480760&amp;amp;Culture=en-IE&lt;/a>&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Better testing with lower costs - Saving your teams time and resources using Visual Studio 2010 and Microsoft Test Manager&lt;/strong>&lt;/p></description></item><item><title>Install order guidance for VS2010 SP1</title><link>https://blogs.blackmarble.co.uk/rfennell/install-order-guidance-for-vs2010-sp1/</link><pubDate>Wed, 09 Mar 2011 21:54:10 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/install-order-guidance-for-vs2010-sp1/</guid><description>
&lt;p>Further to &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/archive/2011/03/08/a-day-of-new-releases-and-announcements-in-visual-studio-2010-land.aspx">yesterdays post&lt;/a> on new bits for VS and TFS 2010, there is now some &lt;a href="http://blogs.msdn.com/b/bharry/archive/2011/03/09/installing-all-the-new-stuff.aspx">guidance to what order to apply SP1 to server and clients&lt;/a>.&lt;/p></description></item><item><title>Fixed numerous issues with VS2008 using a /resetskippkgs</title><link>https://blogs.blackmarble.co.uk/rfennell/fixed-numerous-issues-with-vs2008-using-a-resetskippkgs/</link><pubDate>Wed, 09 Mar 2011 21:50:12 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/fixed-numerous-issues-with-vs2008-using-a-resetskippkgs/</guid><description>
&lt;p>I am doing some work on VS2008 at present and I when I started my VS2008, which I had not used for a while, I was plagued by errors along the lines of &amp;quot;The operation could not be completed&amp;quot;. These occurred when running major features such as:&lt;/p>
&lt;ul>
&lt;li>Loading LINQ to SQL Designer&lt;/li>
&lt;li>Running the SQL 2008 Project Wizard&lt;/li>
&lt;/ul>
&lt;p>The fix turned out to be resetting the package skip loading flag. It seems a number of add-ins were not being loaded on startup. This command is run from the &amp;quot;Visual Studio 2008 Command Prompt&amp;quot; by typing&lt;/p></description></item><item><title>A day of new releases and announcements in Visual Studio 2010 land</title><link>https://blogs.blackmarble.co.uk/rfennell/a-day-of-new-releases-and-announcements-in-visual-studio-2010-land/</link><pubDate>Tue, 08 Mar 2011 17:20:44 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/a-day-of-new-releases-and-announcements-in-visual-studio-2010-land/</guid><description>
&lt;p>Today we have seen the release of the Visual Studio 2010 SP1 and the TFS-Project Server Integration Feature Pack. Both are available on the &lt;a href="http://msdn.microsoft.com/subscriptions/downloads/">MSDN download site&lt;/a>.&lt;/p>
&lt;p>As well was the new downloads they have announced a change to licensing over Load Test Agent. This gives Visual Studio Ultimate with MSDN users the ability to do unlimited load testing. No longer do you need to purchase Load Test Packs, thus making load testing an option for more teams.&lt;/p></description></item><item><title>What to do with project dependencies?</title><link>https://blogs.blackmarble.co.uk/rfennell/what-to-do-with-project-dependencies/</link><pubDate>Fri, 04 Mar 2011 01:36:10 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/what-to-do-with-project-dependencies/</guid><description>
&lt;p>Many development teams hit the problem that they have dependencies on libraries that they do not want to have as part of their solutions. If these dependencies are open source projects then there are options using technologies like &lt;a href="http://nuget.codeplex.com/">NuGet&lt;/a> or &lt;a href="http://openwrap.org/">OpenWrap&lt;/a>. However, in many cases the dependency is to an internal project, such as the company standard logging library, which it is never going to put up into a centralised repository. So normally you end up with either:&lt;/p></description></item><item><title>The March 2011 version of the TFS Power Tools have been released</title><link>https://blogs.blackmarble.co.uk/rfennell/the-march-2011-version-of-the-tfs-power-tools-have-been-released/</link><pubDate>Fri, 04 Mar 2011 00:37:38 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/the-march-2011-version-of-the-tfs-power-tools-have-been-released/</guid><description>
&lt;p>The &lt;a href="http://visualstudiogallery.msdn.microsoft.com/c255a1e4-04ba-4f68-8f4e-cd473d6b971f">March 2011 version of the TFS Power Tools&lt;/a> has been released. There are plenty of fixes and enhancements, especially to the TFS backup tool.&lt;/p>
&lt;p>For more details have a &lt;a href="http://blogs.msdn.com/b/bharry/archive/2011/03/03/mar-11-team-foundation-server-power-tools-are-available.aspx">look at Brian Harry’s blog&lt;/a>.&lt;/p></description></item><item><title>Mocking out calls in unit tests to a TFS Server using Typemock</title><link>https://blogs.blackmarble.co.uk/rfennell/mocking-out-calls-in-unit-tests-to-a-tfs-server-using-typemock/</link><pubDate>Fri, 04 Mar 2011 00:06:45 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/mocking-out-calls-in-unit-tests-to-a-tfs-server-using-typemock/</guid><description>
&lt;p>If you are developing custom application using the TFS API then there is a good chance you will want to mock out the calls to your TFS server to enable better testing of the business logic in your application. The architecture of the TFS API does not lend itself to mocking using the standard means provided in most auto-mocking frameworks i.e there is not an interface for all the objects you care about. However, with &lt;a href="http://www.typemock.com">Typemock Isolator&lt;/a> you can fake the classes required, as Isolator can fake an instance of virtually any class.&lt;/p></description></item><item><title>Alpha release of TFS 2010 Build Extensions</title><link>https://blogs.blackmarble.co.uk/rfennell/alpha-release-of-tfs-2010-build-extensions/</link><pubDate>Mon, 28 Feb 2011 05:12:47 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/alpha-release-of-tfs-2010-build-extensions/</guid><description>
&lt;p>Back in September I asked the question &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/archive/2010/09/03/does-anyone-need-a-vs2010-custom-build-activity-for-stylecop.aspx">Does anyone need a VS2010 Custom Build Activity for StyleCop?&lt;/a> and a good few people said yes and asked me when the activity would be released.&lt;/p>
&lt;p>Well I had forgotten to say that the &lt;a href="http://tfsbuildextensions.codeplex.com/">Codeplex TFS Build Extensions project&lt;/a>, which the activity code got included into, has made it’s first public alpha release i.e. a release that means you don’t have to download the source and build it yourself. There is now a downloadable ZIP will just the built assemblies.&lt;/p></description></item><item><title>TF30040 error when attaching a team project collection</title><link>https://blogs.blackmarble.co.uk/rfennell/tf30040-error-when-attaching-a-team-project-collection/</link><pubDate>Sat, 19 Feb 2011 14:17:20 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/tf30040-error-when-attaching-a-team-project-collection/</guid><description>
&lt;p>Whilst doing some tidying on a multi-server TFS 2010 system I needed to move a team project collection from one Application Tier (AT) to another. Both ATs (which were not a load balanced pair) shared the same SQL server data tier (DT). It should have been easy using the TFS Administration Console.&lt;/p>
&lt;p>I backed up the TPC database using SQL Management tools, the TPC was then detached without any issue from the first AT. I then backed up the SQL DB again in the detached state.&lt;/p></description></item><item><title>Microsoft.Jet.OLEDB.4.0' provider is not registered on 64bit IIS7 server</title><link>https://blogs.blackmarble.co.uk/rfennell/microsoft-jet-oledb-4-0-provider-is-not-registered-on-64bit-iis7-server/</link><pubDate>Fri, 18 Feb 2011 23:22:07 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/microsoft-jet-oledb-4-0-provider-is-not-registered-on-64bit-iis7-server/</guid><description>
&lt;p>When loading an ASP.NET 3.5 web application that has been compiler for &lt;strong>Any CPU&lt;/strong> onto an IIS7 server I got the error&lt;/p>
&lt;blockquote>
&lt;p>&lt;em>The 'Microsoft.Jet.OLEDB.4.0' provider is not registered on the local machine.&lt;/em>&lt;/p>&lt;/blockquote>
&lt;p>This was because the server was running a 64bit OS and only the 32bit Access Driver was installed. The quick fix to get this running was to enable 32-bit applications on the AppPools advanced settings.&lt;/p>
&lt;p>&lt;a href="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_11386EA6.png">&lt;img
loading="lazy"
decoding="async"
alt="image"
class="image_figure image_internal image_unprocessed"
src="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_thumb_0F1B6FDD.png"
title="image"
/>
&lt;/a>&lt;/p></description></item><item><title>Another DDD opportunity</title><link>https://blogs.blackmarble.co.uk/rfennell/another-ddd-opportunity/</link><pubDate>Tue, 15 Feb 2011 11:59:25 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/another-ddd-opportunity/</guid><description>
&lt;p>&lt;a href="http://www.dddsouthwest.com">DDD South West 3.0&lt;/a> has opened for session proposals, got an idea for one? Why not have a go and submit a session.&lt;/p></description></item><item><title>My experiences getting started with writing custom adaptors for TFS Integration Platform</title><link>https://blogs.blackmarble.co.uk/rfennell/my-experiences-getting-started-with-writing-custom-adaptors-for-tfs-integration-platform/</link><pubDate>Wed, 09 Feb 2011 16:37:13 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/my-experiences-getting-started-with-writing-custom-adaptors-for-tfs-integration-platform/</guid><description>
&lt;p>The TFS Integration Platform is an &lt;a href="http://msdn.microsoft.com/en-us/teamsystem/ee358786.aspx">ALM Rangers&lt;/a> project that provides an excellent set of tools to migrate or synchronise source code and/or work items between different TFS servers or TFS server and third party platforms. For many people the supported release on &lt;a href="http://visualstudiogallery.msdn.microsoft.com/en-us/5a8d1703-7987-4081-ba2f-9d0b68b0ed3e">Code Gallery&lt;/a> will do all they need. However if you have a need to connect to a system that there is no adaptor for you need the &lt;a href="http://tfsintegration.codeplex.com/">Codeplex version&lt;/a> so you can write it yourself. To get the environment up and running, not unsurprisingly, the best place to start is the &lt;a href="http://tfsintegration.codeplex.com/releases/view/35476">Getting Started&lt;/a> documents.&lt;/p></description></item><item><title>Black Marble O7 game up on Windows Phone 7 Marketplace</title><link>https://blogs.blackmarble.co.uk/rfennell/black-marble-o7-game-up-on-windows-phone-7-marketplace/</link><pubDate>Wed, 09 Feb 2011 11:30:28 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/black-marble-o7-game-up-on-windows-phone-7-marketplace/</guid><description>
&lt;p>Black Marble’s first WP7 game has been published onto the Marketplace, a game of strategy. Choose to grow the number of counters you have your jump squares to gain territory.&lt;/p>
&lt;p>&lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/screenShot01_5BAD7887.png">
&lt;img
loading="lazy"
decoding="async"
alt="screenShot01"
class="image_figure image_external image_unprocessed"
src="http://blogs.blackmarble.co.uk/blogs/rfennell/screenShot01_thumb_5017BB48.png"
title="screenShot01"
/>
&lt;/a> &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/splashScreenImage_020F5BD3.png">
&lt;img
loading="lazy"
decoding="async"
alt="splashScreenImage"
class="image_figure image_external image_unprocessed"
src="http://blogs.blackmarble.co.uk/blogs/rfennell/splashScreenImage_thumb_5AD5129D.png"
title="splashScreenImage"
/>
&lt;/a>&lt;/p>
&lt;p>It’s free so why not give it a try, assuming you have a WP7 phone!&lt;/p></description></item><item><title>Renaming branches in TFS2010</title><link>https://blogs.blackmarble.co.uk/rfennell/renaming-branches-in-tfs2010/</link><pubDate>Fri, 04 Feb 2011 10:38:54 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/renaming-branches-in-tfs2010/</guid><description>
&lt;p>I recently was asked why a client had experienced some unexpected results when merging a development branch back into the main trunk on a TFS 2010 installation.&lt;/p>
&lt;p>Turns out the issue was that during some tests that the both the Main and Dev branches had been renamed, and new branches of the same names created. So they had a structure like this:&lt;/p>
&lt;p>$/ProjectX&lt;/p>
&lt;p> &lt;/p>
&lt;p> &lt;/p>
&lt;p> &lt;/p>
&lt;p>Dev&lt;/p>
&lt;p>&lt;em>Newly created after the rename&lt;/em>&lt;/p>
&lt;p> &lt;/p>
&lt;p>Main&lt;/p></description></item><item><title>Somewhat nasty upgrade experience with Seesmic Desktop 2</title><link>https://blogs.blackmarble.co.uk/rfennell/somewhat-nasty-upgrade-experience-with-seesmic-desktop-2/</link><pubDate>Wed, 02 Feb 2011 15:53:39 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/somewhat-nasty-upgrade-experience-with-seesmic-desktop-2/</guid><description>
&lt;p>A few days ago I got the regular ‘there is a new version of seesmic’ message.&lt;/p>
&lt;p>&lt;a href="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_5A1C60C8.png">&lt;img
loading="lazy"
decoding="async"
alt="image"
class="image_figure image_internal image_unprocessed"
src="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_thumb_60CF6A4B.png"
title="image"
/>
&lt;/a>&lt;/p>
&lt;p>So I pressed update and got the less than helpful message&lt;/p>
&lt;p>&lt;a href="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_12C70AD6.png">&lt;img
loading="lazy"
decoding="async"
alt="image"
class="image_figure image_internal image_unprocessed"
src="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_thumb_079D808C.png"
title="image"
/>
&lt;/a>&lt;/p>
&lt;p>After a quick search on the web I found the log files are in &lt;strong>C:Users[username]DocumentsSeesmicSeesmic Desktop 2Logs&lt;/strong>, why that cannot be listed on the error dialog I don’t know!.&lt;/p>
&lt;p>Unfortunately there was nothing obvious in the log, just a list of plug-ins it loaded. So I went back and tried the upgrade again, reading the release notes (I know a strange idea) and noticed that it mentioned a specific version of Silverlight. A quick check of this showed I was not up to date, so I went to &lt;a href="http://www.microsoftr.com/silverlight">http://www.microsoftr.com/silverlight&lt;/a> and ran the installer, which updated my install (I would have expected Windows Update to have done this).&lt;/p></description></item><item><title>Problems connecting a Netgear WG111 USB Wifi Dongle to a Netgear DG834GT router</title><link>https://blogs.blackmarble.co.uk/rfennell/problems-connecting-a-netgear-wg111-usb-wifi-dongle-to-a-netgear-dg834gt-router/</link><pubDate>Mon, 31 Jan 2011 18:44:07 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/problems-connecting-a-netgear-wg111-usb-wifi-dongle-to-a-netgear-dg834gt-router/</guid><description>
&lt;p>Just spent an interesting hour trying to connect a Netgear WG111v2 USB WiFi Dongle to Netgear (Sky Branded) DG834GT router. They are both from the same manufacturer so you would they would work together!&lt;/p>
&lt;p>This router was setup with its default Sky settings so WiFi was setup as WPA.&lt;/p>
&lt;p>I installed the WG111 onto an XP laptop installed the newly downloaded V 5.1.1308 (26 Dec 2007) drivers and tried to connect. The router was spotted without problems and I was prompted to enter my WPA password, which was printed onto the bottom of the router (I had logged in to router via the web admin console to check this was correct). After what seemed like a long delay I was left not corrected to the router, but with no obvious error.&lt;/p></description></item><item><title>Gojko Adzic is presenting at the next Agile Yorkshire meeting on acceptance tests</title><link>https://blogs.blackmarble.co.uk/rfennell/gojko-adzic-is-presenting-at-the-next-agile-yorkshire-meeting-on-acceptance-tests/</link><pubDate>Sat, 29 Jan 2011 17:16:04 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/gojko-adzic-is-presenting-at-the-next-agile-yorkshire-meeting-on-acceptance-tests/</guid><description>
&lt;p>&lt;a href="http://www.agileyorkshire.org/event-announcements/08Feb2011">February’s Agile Yorkshire is on the 8th&lt;/a>. The session will be given by &lt;a href="http://neuri.com/">Gojko Adzic&lt;/a> on ’Long term value of acceptance tests’ I have seen Gojko speak at a number of events, including Agile Yorkshire, he is always an engaging speaker so well worth the effort to attend. I know I am going to give it a go, but have been really struggling to make Agile Yorkshire as Tuesday nights are a bit busy of late. My diary is just too full!&lt;/p></description></item><item><title>Not made it to DDD9</title><link>https://blogs.blackmarble.co.uk/rfennell/not-made-it-to-ddd9/</link><pubDate>Sat, 29 Jan 2011 13:44:15 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/not-made-it-to-ddd9/</guid><description>
&lt;p>I was busy for the few minutes that the &lt;a href="http://developerdeveloperdeveloper.com/ddd9/">DDD9&lt;/a> registration was open, so did not manage to get on the attendee list, but I have been try to keep an eye on that is going on at &lt;a href="http://twitter.com/search?q=%23ddd9">Twitter&lt;/a>.&lt;/p>
&lt;p>The good news is that there are more DDD events on the way&lt;/p>
&lt;ul>
&lt;li>DDD Belfast - March 2011&lt;/li>
&lt;li>&lt;a href="http://developerdeveloperdeveloper.com/scotland2011">DDD Scotland - May 7th 2011&lt;/a>&lt;/li>
&lt;/ul>
&lt;p>Session submissions are open for Scotland, I have submitted on writing custom build activities for TFS 2010. It is great experience presenting and attending at these events, I really recommend you give both a try.&lt;/p></description></item><item><title>Follow up to yesterdays events on ‘enabling agile development with cool tools’</title><link>https://blogs.blackmarble.co.uk/rfennell/follow-up-to-yesterdays-events-on-enabling-agile-development-with-cool-tools-2/</link><pubDate>Fri, 28 Jan 2011 12:05:50 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/follow-up-to-yesterdays-events-on-enabling-agile-development-with-cool-tools-2/</guid><description>
&lt;p>&lt;em>Thanks to everyone who attended&lt;/em> &lt;a href="http://www.blackmarble.co.uk/events.aspx?event=Enabling%20Agile%20Development%20with%20Cool%20Tools">&lt;em>yesterdays Black Marble event ‘Enabling agile development with cool tools’&lt;/em>&lt;/a>&lt;em>, both&lt;/em> &lt;a href="http://community.devexpress.com/blogs/garyshort/default.aspx">&lt;em>Gary Short’s&lt;/em>&lt;/a> &lt;em>and my sessions seemed well received. I was asked if my slides would be available anywhere, well the answer is no. The reason for this is that my session was mostly demo driven, so the slides just set the scene. After a bit of thought, a quick blog post seems a better option;  so this post covers the same basic points as the session. If you are interested in any of the products I would urge you to download them and give them a go. Many are free and all have at least a free fully functional evaluation edition.&lt;/em>&lt;/p></description></item><item><title>Follow up to yesterdays events on ‘enabling agile development with cool tools’</title><link>https://blogs.blackmarble.co.uk/rfennell/follow-up-to-yesterdays-events-on-enabling-agile-development-with-cool-tools/</link><pubDate>Fri, 28 Jan 2011 12:05:50 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/follow-up-to-yesterdays-events-on-enabling-agile-development-with-cool-tools/</guid><description>
&lt;p>&lt;em>Thanks to everyone who attended&lt;/em> &lt;a href="http://www.blackmarble.co.uk/events.aspx?event=Enabling%20Agile%20Development%20with%20Cool%20Tools">&lt;em>yesterdays Black Marble event ‘Enabling agile development with cool tools’&lt;/em>&lt;/a>&lt;em>, both&lt;/em> &lt;a href="http://community.devexpress.com/blogs/garyshort/default.aspx">&lt;em>Gary Short’s&lt;/em>&lt;/a> &lt;em>and my sessions seemed well received. I was asked if my slides would be available anywhere, well the answer is no. The reason for this is that my session was mostly demo driven, so the slides just set the scene. After a bit of thought, a quick blog post seems a better option;  so this post covers the same basic points as the session. If you are interested in any of the products I would urge you to download them and give them a go. Many are free and all have at least a free fully functional evaluation edition.&lt;/em>&lt;/p></description></item><item><title>At last my creature it lives – adventures with Lab Management and VLAN tags</title><link>https://blogs.blackmarble.co.uk/rfennell/at-last-my-creature-it-lives-adventures-with-lab-management-and-vlan-tags/</link><pubDate>Fri, 21 Jan 2011 13:52:37 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/at-last-my-creature-it-lives-adventures-with-lab-management-and-vlan-tags/</guid><description>
&lt;p>After much delay I have at last got our internal Lab Management running on ‘real’ hardware as opposed to it’s initial home on a demo rig PC. We have just been too busy to find the time to reconfigure and redeploy our own kit! You know how it is ‘a plumber’s house is full of drippy taps’. That said I of course still want more hardware, as soon as you start to build up test environments you eat Hyper-V server resources very quickly; memory seems to be my most pressing current limitation on how much I can run at the same time.&lt;/p></description></item><item><title>Preparing for my session next week on ‘enabling agile development with cool tools’</title><link>https://blogs.blackmarble.co.uk/rfennell/preparing-for-my-session-next-week-on-enabling-agile-development-with-cool-tools/</link><pubDate>Thu, 20 Jan 2011 22:56:47 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/preparing-for-my-session-next-week-on-enabling-agile-development-with-cool-tools/</guid><description>
&lt;p>I have spent today preparing my presentation and demos for the Black Marble event next week [Enabling Agile Development with Cool Tools](&lt;a href="http://www.blackmarble.co.uk/events.aspx?event=Enabling">http://www.blackmarble.co.uk/events.aspx?event=Enabling&lt;/a> Agile Development with Cool Tools). I will be presenting with Gary Short of &lt;a href="http://www.devexpress.com/">DevExpress&lt;/a>. He is going to be talking about refactoring under the intriguing title ‘How to Eat an Elephant’.&lt;/p>
&lt;p>My session will be on the tools to aid the project management side of the ALM process. Specifically the tools available for TFS 2010 both those ‘out the box’ and from third party vendors. I only have a hour slot, so I have had to be selective as there are may ‘cool tools’ to choose from. So after some thought I have chosen&lt;/p></description></item><item><title>TF215097 error when using a custom build activity</title><link>https://blogs.blackmarble.co.uk/rfennell/tf215097-error-when-using-a-custom-build-activity/</link><pubDate>Thu, 06 Jan 2011 14:59:15 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/tf215097-error-when-using-a-custom-build-activity/</guid><description>
&lt;p>Whist trying to make use of a custom build activity I got the error&lt;/p>
&lt;blockquote>
&lt;p>TF215097: An error occurred while initializing a build for build definition Tfsdemo1Candy: Cannot create unknown type '{clr-namespace:TfsBuildExtensions.Activities.CodeQuality;assembly=TfsBuildExtensions.Activities.StyleCop}StyleCop'&lt;/p>&lt;/blockquote>
&lt;p>This occurred when the TFS 2010 build controller tried to parse the build process .XAML at the start of the build process. A check of all the logs gave no other information other than this error message, nothing else appeared to have occurred.&lt;/p></description></item><item><title>Kindle on the Phone 7</title><link>https://blogs.blackmarble.co.uk/rfennell/kindle-on-the-phone-7/</link><pubDate>Thu, 06 Jan 2011 11:10:25 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/kindle-on-the-phone-7/</guid><description>
&lt;p>I asked the question &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/archive/2010/10/19/should-i-buy-a-kindle.aspx">a while ago if I should buy a Kindle&lt;/a>? I still think that new books are too expensive, but as there are loads of out of copyright books available for the platform so I did not hesitate to download the Windows Phone 7 Kindle app today. You never know when you need something to read and what could be better to dip into than a bit of Sherlock Holmes?&lt;/p></description></item><item><title>DDD9 Sessions announced</title><link>https://blogs.blackmarble.co.uk/rfennell/ddd9-sessions-announced/</link><pubDate>Tue, 04 Jan 2011 11:40:19 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/ddd9-sessions-announced/</guid><description>
&lt;p>Seems yet again my sessions for a DDD event did not excite the voting public; the &lt;a href="http://developerdeveloperdeveloper.com/ddd9/Schedule.aspx">selected sessions for DDD9 are out&lt;/a> and I am not on the list. Again it does look a nice varied selection of sessions. I have tried to see if I can see a trend in what is being selected, but it seems a fair mix between language feature introductions, web technologies, tools and architecture/process/patterns – so something for everyone.&lt;/p></description></item><item><title>While you are stuck at home due to snow why not vote for your favourite DDD9 session?</title><link>https://blogs.blackmarble.co.uk/rfennell/while-you-are-stuck-at-home-due-to-snow-why-not-vote-for-your-favourite-ddd9-session/</link><pubDate>Wed, 01 Dec 2010 11:28:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/while-you-are-stuck-at-home-due-to-snow-why-not-vote-for-your-favourite-ddd9-session/</guid><description>
&lt;p>The &lt;a href="http://developerdeveloperdeveloper.com/ddd9/Users/VoteForSessions.aspx">voting has opened for DDD9,&lt;/a> As with all the DDD style events the agenda is set by you, the attendees, so get in there any say what you are interested in, it is not as if there is not a great choice this time.&lt;/p>
&lt;p>I have a session up on writing custom build activities for TFS 2010 which I hope some of you will find interesting, but I do fear it is a rather specialist area!&lt;/p></description></item><item><title>Reminder about by web session on mocking Sharepoint with Typemock Isolator next week</title><link>https://blogs.blackmarble.co.uk/rfennell/reminder-about-by-web-session-on-mocking-sharepoint-with-typemock-isolator-next-week/</link><pubDate>Thu, 25 Nov 2010 16:44:36 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/reminder-about-by-web-session-on-mocking-sharepoint-with-typemock-isolator-next-week/</guid><description>
&lt;p>Did you miss the Typemock session on mocking legacy system this week? If you you can watch a recording at &lt;a href="http://www.typemock.com/webinar">the Typemock site&lt;/a>.&lt;/p>
&lt;p>If you are interested a more SharePoint specific session check out &lt;a href="http://lidnug-dec01.eventbrite.com/">my session next week&lt;/a>.&lt;/p></description></item><item><title>Where can you learn more on Typemock after last night session at NEBytes?</title><link>https://blogs.blackmarble.co.uk/rfennell/where-can-you-learn-more-on-typemock-after-last-night-session-at-nebytes/</link><pubDate>Thu, 18 Nov 2010 14:16:23 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/where-can-you-learn-more-on-typemock-after-last-night-session-at-nebytes/</guid><description>
&lt;p>Thanks to everyone who turned out from &lt;a href="http://blogs.blackmarble.co.uk/blogs/rhepworth">Rik’s&lt;/a> and my session last night at &lt;a href="http://www.nebytes.net/">NEBytes&lt;/a>. I have not bothered uploading my slides as it was really a demo driven session, but there is a video of a similar session I did at &lt;a href="http://www.ndc2010.no/">NDC2010&lt;/a>&lt;/p>
&lt;p>However, if you want to learn more about using Typemock Isolator with legacy system why not &lt;a href="http://events.linkedin.com/Be-Legacy-Code-Unit-Test-Ninja-Typemock/pub/488276">attended Roy Osherove’s ‘Be a Legacy Code Unit Test Ninja with Typemock Isolator’ web session next week&lt;/a>?&lt;/p></description></item><item><title>0x80004004 when trying to upgrade Live Writer and Messenger</title><link>https://blogs.blackmarble.co.uk/rfennell/0x80004004-when-trying-to-upgrade-live-writer-and-messenger/</link><pubDate>Wed, 17 Nov 2010 11:33:30 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/0x80004004-when-trying-to-upgrade-live-writer-and-messenger/</guid><description>
&lt;p>For ages now I have have been prompted when I loaded &lt;a href="http://explore.live.com/windows-live-writer?os=other">Live Writer&lt;/a> that there was an upgrade available, and every time I tried it get it, at the end of the install it failed and rolled back. As I did not have time to dig into it I just used the older version.&lt;/p>
&lt;p>Well today, due to upgrades in our LAN, I need to upgraded Live Messenger and as this is of part of the same &lt;a href="http://explore.live.com/windows-live-essentials?os=other">Live Essentials 2011 package&lt;/a> it not unsurprising I hit the same problem. A bit of experimentation showed the issues was that the upgrade was not able to remove the old version. If i tried to remove it via Control Panel it failed with a 0x80004004 error. In the error log I saw&lt;/p></description></item><item><title>Adding a Visual Basic 6 project to a TFS 2010 Build</title><link>https://blogs.blackmarble.co.uk/rfennell/adding-a-visual-basic-6-project-to-a-tfs-2010-build/</link><pubDate>Tue, 16 Nov 2010 22:30:41 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/adding-a-visual-basic-6-project-to-a-tfs-2010-build/</guid><description>
&lt;p>Adding a Visual Basic 6 project to your TFS 2010 build process is not are hard as I had expected it to be. I had assumed I would have to write a custom build workflow template, but it turned out I was able to use the default template with just a few parameters changed from their defaults. This is the process I followed.&lt;/p>
&lt;p>I created a basic ‘Hello world’ VB6 application. I had previously made sure that my copy of VB6 (SP6) could connect to my TFS 2010 server using the &lt;a href="http://visualstudiogallery.msdn.microsoft.com/en-us/bce06506-be38-47a1-9f29-d3937d3d88d6">Team Foundation Server MSSCCI Provider&lt;/a> so was able to check this project into source control.&lt;/p></description></item><item><title>You can’t edit a TFS 2010 build workflow template with just Team Explorer installed</title><link>https://blogs.blackmarble.co.uk/rfennell/you-cant-edit-a-tfs-2010-build-workflow-template-with-just-team-explorer-installed/</link><pubDate>Fri, 12 Nov 2010 09:26:07 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/you-cant-edit-a-tfs-2010-build-workflow-template-with-just-team-explorer-installed/</guid><description>
&lt;p>I tried to open a TFS 2010 build template within the Visual Studio shell (the bit that gets installed when you put Team Explorer onto a PC) and saw the error “The document contains errors that must be fixed before the designer can be loaded”.&lt;/p>
&lt;p>”&lt;a href="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_2E1B09DD.png">&lt;img
loading="lazy"
decoding="async"
alt="image"
class="image_figure image_internal image_unprocessed"
src="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_thumb_1D535F2F.png"
title="image"
/>
&lt;/a>&lt;/p>
&lt;p>At the bottom of the screen it showed that all the underling assemblies could not be found.&lt;/p>
&lt;p>The solution is simple, install a ‘real version’ of Visual Studio, I put on Premium. It seems that the shell does not provide all the assemblies that are needed. Once I did this I could edit the XAML with no problems&lt;/p></description></item><item><title>[More] Fun with WCF, SharePoint and Kerberos</title><link>https://blogs.blackmarble.co.uk/rfennell/more-fun-with-wcf-sharepoint-and-kerberos/</link><pubDate>Wed, 10 Nov 2010 16:27:10 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/more-fun-with-wcf-sharepoint-and-kerberos/</guid><description>
&lt;p>This is a follow up to the post &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/archive/2010/10/29/fun-with-wcf-sharepoint-and-kerberos-well-it-looks-like-fun-with-hindsight.aspx">Fun with WCF, SharePoint and Kerberos – well it looks like fun with hindsight&lt;/a>&lt;/p>
&lt;p>When I wrote the last post I thought I had our WCF Kerberos issues sorted, I was wrong. I had not checked what happened when I tried to access the webpart from outside our &lt;a href="http://www.microsoft.com/forefront/threat-management-gateway/en/us/">TMG firewall&lt;/a>. When I did this I was back with the error that I had no security token. To sort this we had to make some more changes.&lt;/p></description></item><item><title>A week with a Windows Phone 7 – It just works!</title><link>https://blogs.blackmarble.co.uk/rfennell/a-week-with-a-windows-phone-7-it-just-works/</link><pubDate>Tue, 09 Nov 2010 10:10:07 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/a-week-with-a-windows-phone-7-it-just-works/</guid><description>
&lt;p>I have had my LG WP7 phone about a week now. The best thing about it, it just works. Ok I have had a few learning issues over the Metro UI, but usually the answer is so obvious I have just overlooked it. Stupid things like I was looking for the button that was equivalent to the long press on the end key on my HTC Windows 6.5 phone to lock the phone; I had not consider the off button! A classic UTS (user too stupid) error, or maybe a user dragging old habits over to a very different way of working?&lt;/p></description></item><item><title>November Agile Yorkshire meeting “William Hill Agile Case Study”</title><link>https://blogs.blackmarble.co.uk/rfennell/november-agile-yorkshire-meeting-william-hill-agile-case-study/</link><pubDate>Thu, 04 Nov 2010 16:50:05 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/november-agile-yorkshire-meeting-william-hill-agile-case-study/</guid><description>
&lt;p>The title of the November Agile Yorkshire meeting (on Tuesday the 9th) is &amp;quot;A case study exploring how agile methodologies were used to help change the way sports are traded at William Hill forever.&amp;quot;. As usual this is a free event and is hosted at the Old Broadcasting house in Leeds starting at 6:30pm and I am sure people will go to the pub afterwards.&lt;/p>
&lt;p>I have to go to Edinburgh that day to present at a &lt;a href="http://www.microsoft.com/visualstudio/en-gb/visual-studio-events">Microsoft ALM event (still space available if you are in the Edinburgh area)&lt;/a> and I doubt I will be back in time. A shame as this subject looks like a very interesting one.&lt;/p></description></item><item><title>Fun with WCF, SharePoint and Kerberos – well it looks like fun with hindsight</title><link>https://blogs.blackmarble.co.uk/rfennell/fun-with-wcf-sharepoint-and-kerberos-well-it-looks-like-fun-with-hindsight/</link><pubDate>Fri, 29 Oct 2010 12:08:52 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/fun-with-wcf-sharepoint-and-kerberos-well-it-looks-like-fun-with-hindsight/</guid><description>
&lt;p>[Updated 10 Nov 2010: Also see &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/archive/2010/11/10/more-fun-with-wcf-sharepoint-and-kerberos.aspx">[More] Fun with WCF, SharePoint and Kerberos&lt;/a>]&lt;/p>
&lt;p>I have been battling some WCF authentication problems for a while now; I have been migrating our internal support desk call tracking system so that it runs as webpart hosted inside Sharepoint 2010 and uses WCF to access the backend services all using AD authentication. This means both our staff and customers can use a single sign on for all SharePoint and support desk operations. This replaced our older architecture using forms authentication and an complex mix of WCF and ASMX webservices that have grown up over time; this call tracking system started as an Access DB with a VB6 front end well over 10 years ago!&lt;/p></description></item><item><title>PDC 2010 thoughts - the next morning</title><link>https://blogs.blackmarble.co.uk/rfennell/pdc-2010-thoughts-the-next-morning/</link><pubDate>Fri, 29 Oct 2010 09:02:27 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/pdc-2010-thoughts-the-next-morning/</guid><description>
&lt;p>I sat in the office yesterday with a beer in my hand watching the &lt;a href="http://player.microsoftpdc.com/session">PDC2010 keynote&lt;/a>. I have to say I preferred this to the option of a flight, jet lag and a less than comfortable seat in a usually overly cooled conference hall. With the Silverlight streaming the experience was excellent, especially as we connected an &lt;a href="http://blogs.blackmarble.co.uk/blogs/rhepworth/archive/2010/10/22/living-with-the-acer-aspire-1420p.aspx">Acer 1420P&lt;/a> to our projector/audio via a single HDMI cable and it just worked.&lt;/p>
&lt;p>So what do you lose by not flying out? Well the obvious is the ‘free’ Windows Phone 7 the attendees got; too many people IMHO get hooked up on the swag at conferences, you go for knowledge not toys. They also forget they (or their company) paid for item anyway in their conference fee. More seriously you miss out on the chats between the sessions, and as the conference is on campus the easier access to the Microsoft staff. Also the act of travelling to a conference isolates you from the day to day interruptions of the office, the online experience does not and you will have to stay up late to view sessions live due to timezones. The whole travelling experience still cannot be replaced by the online experience, not matter how good the streaming.&lt;/p></description></item><item><title>Common confusion I have seen with Visual Studio 2010 Lab Management</title><link>https://blogs.blackmarble.co.uk/rfennell/common-confusion-i-have-seen-with-visual-studio-2010-lab-management/</link><pubDate>Mon, 25 Oct 2010 21:34:47 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/common-confusion-i-have-seen-with-visual-studio-2010-lab-management/</guid><description>
&lt;p>With any new product there can be some confusion over the exact range and scope of features, this is just as true for &lt;a href="http://msdn.microsoft.com/en-us/vstudio/ee712698.aspx">VS2010 Lab Management&lt;/a> as any other. In fact given the number of moving parts (infrastructure you need in place to get it running) it can be more confusing than average. In this post I will cover the questions I have seen most often.&lt;/p>
&lt;p>&lt;strong>What does ‘Network Isolation’ really mean?&lt;/strong>&lt;/p></description></item><item><title>First look at Postsharp AOP framework for .NET</title><link>https://blogs.blackmarble.co.uk/rfennell/first-look-at-postsharp-aop-framework-for-net-2/</link><pubDate>Mon, 25 Oct 2010 15:13:11 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/first-look-at-postsharp-aop-framework-for-net-2/</guid><description>
&lt;p>At the &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/archive/2010/10/07/thoughts-on-the-software-craftsmanship-2010.aspx">Software Craftsmanship 2010 conference&lt;/a> I met Gael Fraiteur of &lt;a href="http://www.sharpcrafters.com/">Sharpcrafters&lt;/a>, he had given a talk on &lt;a href="http://en.wikipedia.org/wiki/Aspect-oriented_programming">Aspect Oriented Programming AOP&lt;/a>.Since the conference I have had a chance to look at his &lt;a href="http://www.sharpcrafters.com/postsharp">Postsharp AOP product for .NET.&lt;/a>&lt;/p>
&lt;p>I decided to do a quick spike project for a tender I have been working on, the requirement is to add a security model to an existing .NET assembly. Usually this would have entailed adding some security logic at the start of each public method to implement the security model. Using AOP I hoped I would be able to get the same effect by adding an attribute to the classes/methods, hopefully making the changes easier to read and quicker to develop.&lt;/p></description></item><item><title>First look at Postsharp AOP framework for .NET</title><link>https://blogs.blackmarble.co.uk/rfennell/first-look-at-postsharp-aop-framework-for-net/</link><pubDate>Mon, 25 Oct 2010 15:13:11 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/first-look-at-postsharp-aop-framework-for-net/</guid><description>
&lt;p>At the &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/archive/2010/10/07/thoughts-on-the-software-craftsmanship-2010.aspx">Software Craftsmanship 2010 conference&lt;/a> I met Gael Fraiteur of &lt;a href="http://www.sharpcrafters.com/">Sharpcrafters&lt;/a>, he had given a talk on &lt;a href="http://en.wikipedia.org/wiki/Aspect-oriented_programming">Aspect Oriented Programming AOP&lt;/a>.Since the conference I have had a chance to look at his &lt;a href="http://www.sharpcrafters.com/postsharp">Postsharp AOP product for .NET.&lt;/a>&lt;/p>
&lt;p>I decided to do a quick spike project for a tender I have been working on, the requirement is to add a security model to an existing .NET assembly. Usually this would have entailed adding some security logic at the start of each public method to implement the security model. Using AOP I hoped I would be able to get the same effect by adding an attribute to the classes/methods, hopefully making the changes easier to read and quicker to develop.&lt;/p></description></item><item><title>Typemock Isolator++ Video</title><link>https://blogs.blackmarble.co.uk/rfennell/typemock-isolator-video/</link><pubDate>Mon, 25 Oct 2010 12:36:46 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/typemock-isolator-video/</guid><description>
&lt;p>I mentioned at the &lt;a href="http://dotnetuk.net/">Developer Group meeting&lt;/a> I was speaking at last week at the Typemock had a new C++ version of their product. &lt;a href="http://blog.typemock.com/2010/10/video-slides-easier-unit-testing-with.html?utm_source=feedburner&amp;amp;utm_medium=feed&amp;amp;utm_campaign=Feed%3A&amp;#43;Typemock&amp;#43;%28The&amp;#43;Typemock&amp;#43;Insider%29">They have now published the video of their webinar on this product.&lt;/a>&lt;/p></description></item><item><title>Video interviews from Software Craftsman 2010</title><link>https://blogs.blackmarble.co.uk/rfennell/video-interviews-from-software-craftsman-2010/</link><pubDate>Fri, 22 Oct 2010 21:25:46 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/video-interviews-from-software-craftsman-2010/</guid><description>
&lt;p>Gael Fraiteur of &lt;a href="http://www.sharpcrafters.com/">Sharpcrafters&lt;/a> recorded some interviews at the Software Craftsmen conference a couple of weeks ago. The interviewees include Ben Hall, Jason Gorman, Sandro Mancuso, Zi Makki and myself. &lt;a href="http://www.youtube.com/user/sharpcrafters">They are all up on Youtube&lt;/a>&lt;/p></description></item><item><title>I am speaking at NEBytes in November on Mocking with Typemock Isolator</title><link>https://blogs.blackmarble.co.uk/rfennell/i-am-speaking-at-nebytes-in-november-on-mocking-with-typemock-isolator-2/</link><pubDate>Tue, 19 Oct 2010 20:51:24 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/i-am-speaking-at-nebytes-in-november-on-mocking-with-typemock-isolator-2/</guid><description>
&lt;p>On the 17th of November I will be speaking in Newcastle at the &lt;a href="http://www.nebytes.net/">NEBytes&lt;/a> user group on the subject ‘Using Typemock Isolator to enable testing of both well designed code and nasty legacy systems’.&lt;/p>
&lt;p>NEBytes meetings have an interesting format of a developer and an IT Pro talk at each meeting. The IT Pro session in November is to be given by another member of Black Marble staff, &lt;a href="http://blogs.blackmarble.co.uk/blogs/rhepworth/default.aspx">Rik Hepworth&lt;/a>, and is on Sharepoint I think.&lt;/p></description></item><item><title>I am speaking at NEBytes in November on Mocking with Typemock Isolator</title><link>https://blogs.blackmarble.co.uk/rfennell/i-am-speaking-at-nebytes-in-november-on-mocking-with-typemock-isolator/</link><pubDate>Tue, 19 Oct 2010 20:51:24 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/i-am-speaking-at-nebytes-in-november-on-mocking-with-typemock-isolator/</guid><description>
&lt;p>On the 17th of November I will be speaking in Newcastle at the &lt;a href="http://www.nebytes.net/">NEBytes&lt;/a> user group on the subject ‘Using Typemock Isolator to enable testing of both well designed code and nasty legacy systems’.&lt;/p>
&lt;p>NEBytes meetings have an interesting format of a developer and an IT Pro talk at each meeting. The IT Pro session in November is to be given by another member of Black Marble staff, &lt;a href="http://blogs.blackmarble.co.uk/blogs/rhepworth/default.aspx">Rik Hepworth&lt;/a>, and is on Sharepoint I think.&lt;/p></description></item><item><title>Should I buy a Kindle?</title><link>https://blogs.blackmarble.co.uk/rfennell/should-i-buy-a-kindle/</link><pubDate>Tue, 19 Oct 2010 11:05:07 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/should-i-buy-a-kindle/</guid><description>
&lt;p>I have always read a lot of novels, and I like to have a book with me for those unexpected moments when I get a chance to read. Of late this has meant I use the &lt;a href="http://www.microsoft.com/reader/">Microsoft Reader&lt;/a> on my phone. It is not too bad an experience, using &lt;a href="http://www.gutenberg.org/wiki/Main_Page">Project Gutenberg&lt;/a> I can get a book (fiddle a bit in Word) and export to the Reader format. However I would like a slicker experience and be able to read new releases, so the &lt;a href="http://www.amazon.co.uk/Kindle-Store/b/ref=topnav_storetab_kinh?ie=UTF8&amp;amp;node=341677031">Kindle&lt;/a> seems just the job.&lt;/p></description></item><item><title>Do you work with C++? Typemock Isolator++ webinar</title><link>https://blogs.blackmarble.co.uk/rfennell/do-you-work-with-c-typemock-isolator-webinar/</link><pubDate>Tue, 19 Oct 2010 10:20:03 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/do-you-work-with-c-typemock-isolator-webinar/</guid><description>
&lt;p>I don’t work with C++, but if you do you might be interested in Typemock’s free webinar this Thursday (21st October) on Isolator++. It will cover:&lt;/p>
&lt;ul>
&lt;li>The basic API design principles of Isolator++ (from AAA to recursive fakes, loose fakes, sticky behaviour etc..)&lt;/li>
&lt;li>What can Isolator++ do that others can’t?&lt;/li>
&lt;li>Code examples using Google Test framework and Isolator++, to test nasty untestable C++ code&lt;/li>
&lt;li>And as it is being given by Roy Osherove, possibly a short song, suitable for the occasion, performed live.&lt;/li>
&lt;/ul>
&lt;p>Also as an added incentive Typemock, in honor of the first release of Isolator++, Typemock are giving away &lt;strong>a free Isolator++ license to all webinar attendees&lt;/strong> .&lt;/p></description></item><item><title>All our futures behind us?</title><link>https://blogs.blackmarble.co.uk/rfennell/all-our-futures-behind-us/</link><pubDate>Mon, 18 Oct 2010 19:58:22 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/all-our-futures-behind-us/</guid><description>
&lt;p>I had a strangely thought provoking weekend, I took my son to do the &lt;a href="http://www.manchesterairport.co.uk/manweb.nsf/Content/ConcordeInformation">tour of Concorde at Manchester Airport&lt;/a>, and whilst in the area popped into &lt;a href="http://www.jb.man.ac.uk/visitorcentre/">Jodrell Bank to look at the Radio Telescope and the arboretum&lt;/a>. Two great technological achievement, well worth a visit, but I felt both seemed to be in our past. I remember Concorde, I remember Apollo (just) and I remember sitting in a room at school to watch the first Shuttle launch, but where is the equivalent today? I started to feel that this ‘thrusting to the future’ style of project no longer exists; there seem to be few children saying ‘I want to be an engineer’ or ‘an astronaut’. I fear they are too often now saying ‘I just want to be famous’.&lt;/p></description></item><item><title>ALM Rangers ship SCOM Management pack for TFS2010</title><link>https://blogs.blackmarble.co.uk/rfennell/alm-rangers-ship-scom-management-pack-for-tfs2010/</link><pubDate>Fri, 15 Oct 2010 20:26:10 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/alm-rangers-ship-scom-management-pack-for-tfs2010/</guid><description>
&lt;p>Want to monitor the health of your TFS system? Then wait no longer, the &lt;a href="http://msdn.microsoft.com/en-us/vstudio/ee358786.aspx">ALM Rangers&lt;/a> have just shipped a SCOM Management pack for Visual Studio 2010.&lt;/p>
&lt;p>The management pack provides availability and configuration monitoring, performance data collection, and default thresholds.  So if you use any SKU of &lt;a href="http://technet.microsoft.com/en-us/evalcenter/bb738014.aspx">SCOM 2007&lt;/a> and TFS 2010 why not &lt;a href="http://www.microsoft.com/downloads/en/details.aspx?FamilyID=97ca3b31-3653-4d60-bdad-3f2017febdc3&amp;amp;displaylang=en">download it&lt;/a> and have a look.&lt;/p></description></item><item><title>Leeds Hack Day 2010 registration open</title><link>https://blogs.blackmarble.co.uk/rfennell/leeds-hack-day-2010-registration-open/</link><pubDate>Thu, 14 Oct 2010 14:08:57 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/leeds-hack-day-2010-registration-open/</guid><description>
&lt;p>To quote their site….&lt;/p>
&lt;p>&lt;em>Leeds Hack is a 24 hour hack day in the city of Leeds (surprise!). 100+ people in a room – Feed them, water them, take them out for walks every now and them and let them create some amazing things.&lt;/em>&lt;/p>
&lt;p>&lt;em>Best of all… It’s free..&lt;/em>&lt;/p>
&lt;p>For more details have a look at &lt;a href="http://leedshack.com/" title="http://leedshack.com/">http://leedshack.com/&lt;/a>&lt;/p></description></item><item><title>Speaking at the Developer Group on Typemock Isolator on the 20th of October</title><link>https://blogs.blackmarble.co.uk/rfennell/speaking-at-the-developer-group-on-typemock-isolator-on-the-20th-of-october/</link><pubDate>Thu, 07 Oct 2010 21:46:05 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/speaking-at-the-developer-group-on-typemock-isolator-on-the-20th-of-october/</guid><description>
&lt;p>The &lt;a href="http://dotnetuk.net/meetings/20101020.pdf">detailed agenda for the Developer Group Meeting on the 20th of October in London&lt;/a> has been published. I am speaking  in the afternoon on ‘Using Typemock Isolator to enable testing of both well designed code and nasty legacy systems’&lt;/p>
&lt;p>Hope to see you there&lt;/p></description></item><item><title>Thoughts on the Software Craftsmanship 2010</title><link>https://blogs.blackmarble.co.uk/rfennell/thoughts-on-the-software-craftsmanship-2010/</link><pubDate>Thu, 07 Oct 2010 21:38:42 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/thoughts-on-the-software-craftsmanship-2010/</guid><description>
&lt;p>I have reached my hotel after the days events at &lt;a href="http://parlezuml.com/softwarecraftsmanship/">Software Craftsmanship 2010&lt;/a> at &lt;a href="http://www.bletchleypark.org.uk/">Bletchley Park&lt;/a> and got a chance to write up my thoughts. I had planned to &lt;a href="http://twitter.com/richardfennell">Tweet&lt;/a> during the day, but just never got round to it, too busy.&lt;/p>
&lt;p>So how was the event? I have to say I don’t think I enjoyed it as much as &lt;a href="https://blogs.blackmarble.co.uk/blogs/rfennell/archive/2009/02/26/intent-is-the-key-thoughts-on-the-way-home-form-software-craftsmanship-2009.aspx">last year’s event&lt;/a>. That is not to say this was not a good event, but this years seemed to focus on hands on programming tasks. This is great but I always feel that I could have been doing this at home, or in a dojo session in the office (not that I do this  oftan enough). Last year the sessions were more &lt;a href="http://codingdojo.org/cgi-bin/wiki.pl?back=RandoriKata">Randori Kata&lt;/a> format and the group discussion this engendered I found very useful. I think conferences like this are probably at their best when they open your mind to new technique and ideas; yes coding kata can do this, but I feel that a conference needs to focus on the meta level of ‘why do this kata’ and how to ‘best run a kata’ and leave the actual kata sessions to usergroups meetings.&lt;/p></description></item><item><title>Error –4002 on Access services on Sharepoint 2010</title><link>https://blogs.blackmarble.co.uk/rfennell/error-4002-on-access-services-on-sharepoint-2010/</link><pubDate>Mon, 04 Oct 2010 09:45:38 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/error-4002-on-access-services-on-sharepoint-2010/</guid><description>
&lt;p>We have had an internal timesheeting system written in Access services running without any problems for the past through months. At the end of last week, when people tried to submit their timesheets they started getting a -4002 error saying the macro (that saves the weekly sheet) could not be started.&lt;/p>
&lt;p>Checking the server event logs, Sharepoint logs and Access services log tables showed nothing. So as all good IT staff do we tried the traditional IISRESET command (on both our Sharepoint web servers) and it all leapt back into life. The only change on our server in the past week has been been the &lt;a href="http://weblogs.asp.net/scottgu/archive/2010/09/28/asp-net-security-update-now-available.aspx">ASP.NET security fix&lt;/a>, and associated reboot, but I cannot see why this should effect Access Services, it looked as if it had basically Access services just failed to restart fully after the server reboot.&lt;/p></description></item><item><title>DDD Dublin 2010 Sessions published</title><link>https://blogs.blackmarble.co.uk/rfennell/ddd-dublin-2010-sessions-published/</link><pubDate>Wed, 22 Sep 2010 08:53:20 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/ddd-dublin-2010-sessions-published/</guid><description>
&lt;p>The &lt;a href="http://developerdeveloperdeveloper.com/dddie10/Schedule.aspx">results of the DDD Dublin vote&lt;/a> is in, and I am sorry to say I did not make it through the selection process. I must come up with at least some more interesting titles and abstracts (of course I can leave the sessions as dull as ever as you have voted for them by then, just like politicians and general elections really).&lt;/p>
&lt;p>The schedule looks really good, but after a bit of thought I have decided not to attend the event; I am speaking or attending events both the week before and  the week after DDD Dublin so I am going to take the chance to reduce my carbon footprint and have a weekend at home.&lt;/p></description></item><item><title>DDD9 Announced</title><link>https://blogs.blackmarble.co.uk/rfennell/ddd9-announced/</link><pubDate>Mon, 20 Sep 2010 11:41:34 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/ddd9-announced/</guid><description>
&lt;p>DDD9  will be on the 29th Jan 2011 at TVP, for more details and to submit sessions see &lt;a href="http://developerdeveloperdeveloper.com/ddd9/">http://developerdeveloperdeveloper.com/ddd9/&lt;/a>&lt;/p></description></item><item><title>Upcoming speaking engagements</title><link>https://blogs.blackmarble.co.uk/rfennell/upcoming-speaking-engagements-2/</link><pubDate>Thu, 16 Sep 2010 12:17:50 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/upcoming-speaking-engagements-2/</guid><description>
&lt;ul>
&lt;li>21 Sep – [From Express to Ultimate: Improving Productivity with Visual Studio 2010](&lt;a href="http://www.blackmarble.co.uk/events.aspx?event=From">http://www.blackmarble.co.uk/events.aspx?event=From&lt;/a> Express to Ultimate: Improving Productivity with Visual Studio 2010 - 21 Sept) (Black Marble Bradford)&lt;/li>
&lt;li>29 Sep – &lt;a href="http://www.microsoft.com/visualstudio/en-gb/visual-studio-events">Microsoft ALM day&lt;/a> (Microsoft Reading) [Cancelled]&lt;/li>
&lt;li>5 Oct – &lt;a href="http://www.microsoft.com/visualstudio/en-gb/visual-studio-events">Microsoft ALM day&lt;/a> (ICCI London) [Cancelled]&lt;/li>
&lt;li>7 Oct - Software Craftsmanship Conference (not speaking but attending and it is workshop based so I doubt I will be silent all day!)&lt;/li>
&lt;li>9 Oct - DDD Dublin – The &lt;a href="http://developerdeveloperdeveloper.com/dddie10/ProposedSessions.aspx">vote is still open&lt;/a> so not sure I am presenting here yet or just attending [Did not get though the vote so decided not to attend]&lt;/li>
&lt;li>13 Oct - [Mix in the North](&lt;a href="http://www.blackmarble.co.uk/events.aspx?event=Mix">http://www.blackmarble.co.uk/events.aspx?event=Mix&lt;/a> in the North) (Holiday Inn, Tong)&lt;/li>
&lt;li>14 Oct – Integrating Java Developers into TFS with Team explorer Everywhere  (Black Marble Bradford)&lt;/li>
&lt;li>20 Oct - [The Developers Group Meeting](&lt;a href="http://www.blackmarble.co.uk/events.aspx?event=The">http://www.blackmarble.co.uk/events.aspx?event=The&lt;/a> Developers Group Meeting &amp;quot;The Developers Group Meeting&amp;quot;) Using Typemock Isolator (EMC Office London)&lt;/li>
&lt;li>28 Oct - [VBug Autumn Conference – The Step Up to ALM](&lt;a href="http://www.blackmarble.co.uk/events.aspx?event=VBug">http://www.blackmarble.co.uk/events.aspx?event=VBug&lt;/a> Autumn Conference – The Step Up to ALM) (Loughborough) Postponed to the spring&lt;/li>
&lt;li>16 Nov - [From Express to Ultimate: Improving Productivity with Visual Studio 2010](&lt;a href="http://www.blackmarble.co.uk/events.aspx?event=From">http://www.blackmarble.co.uk/events.aspx?event=From&lt;/a> Express to Ultimate: Improving Productivity with Visual Studio 2010 - 16 Nov) (Black Marble Bradford)&lt;/li>
&lt;li>17 Nov -  Provisionally booked for a session on using Typemock Isolator (NEBtyes Newcastle)&lt;/li>
&lt;li>8 Dec 2010 - [Architecture Forum in the North 2010](&lt;a href="http://www.blackmarble.co.uk/events.aspx?event=Architecture">http://www.blackmarble.co.uk/events.aspx?event=Architecture&lt;/a> Forum in the North 2010) (Holiday Inn, Tong)&lt;/li>
&lt;/ul>
&lt;p>and that is just this year&lt;/p></description></item><item><title>Upcoming speaking engagements</title><link>https://blogs.blackmarble.co.uk/rfennell/upcoming-speaking-engagements/</link><pubDate>Thu, 16 Sep 2010 12:17:50 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/upcoming-speaking-engagements/</guid><description>
&lt;ul>
&lt;li>21 Sep – [From Express to Ultimate: Improving Productivity with Visual Studio 2010](&lt;a href="http://www.blackmarble.co.uk/events.aspx?event=From">http://www.blackmarble.co.uk/events.aspx?event=From&lt;/a> Express to Ultimate: Improving Productivity with Visual Studio 2010 - 21 Sept) (Black Marble Bradford)&lt;/li>
&lt;li>29 Sep – &lt;a href="http://www.microsoft.com/visualstudio/en-gb/visual-studio-events">Microsoft ALM day&lt;/a> (Microsoft Reading) [Cancelled]&lt;/li>
&lt;li>5 Oct – &lt;a href="http://www.microsoft.com/visualstudio/en-gb/visual-studio-events">Microsoft ALM day&lt;/a> (ICCI London) [Cancelled]&lt;/li>
&lt;li>7 Oct - Software Craftsmanship Conference (not speaking but attending and it is workshop based so I doubt I will be silent all day!)&lt;/li>
&lt;li>9 Oct - DDD Dublin – The &lt;a href="http://developerdeveloperdeveloper.com/dddie10/ProposedSessions.aspx">vote is still open&lt;/a> so not sure I am presenting here yet or just attending [Did not get though the vote so decided not to attend]&lt;/li>
&lt;li>13 Oct - [Mix in the North](&lt;a href="http://www.blackmarble.co.uk/events.aspx?event=Mix">http://www.blackmarble.co.uk/events.aspx?event=Mix&lt;/a> in the North) (Holiday Inn, Tong)&lt;/li>
&lt;li>14 Oct – Integrating Java Developers into TFS with Team explorer Everywhere  (Black Marble Bradford)&lt;/li>
&lt;li>20 Oct - [The Developers Group Meeting](&lt;a href="http://www.blackmarble.co.uk/events.aspx?event=The">http://www.blackmarble.co.uk/events.aspx?event=The&lt;/a> Developers Group Meeting &amp;quot;The Developers Group Meeting&amp;quot;) Using Typemock Isolator (EMC Office London)&lt;/li>
&lt;li>28 Oct - [VBug Autumn Conference – The Step Up to ALM](&lt;a href="http://www.blackmarble.co.uk/events.aspx?event=VBug">http://www.blackmarble.co.uk/events.aspx?event=VBug&lt;/a> Autumn Conference – The Step Up to ALM) (Loughborough) Postponed to the spring&lt;/li>
&lt;li>16 Nov - [From Express to Ultimate: Improving Productivity with Visual Studio 2010](&lt;a href="http://www.blackmarble.co.uk/events.aspx?event=From">http://www.blackmarble.co.uk/events.aspx?event=From&lt;/a> Express to Ultimate: Improving Productivity with Visual Studio 2010 - 16 Nov) (Black Marble Bradford)&lt;/li>
&lt;li>17 Nov -  Provisionally booked for a session on using Typemock Isolator (NEBtyes Newcastle)&lt;/li>
&lt;li>8 Dec 2010 - [Architecture Forum in the North 2010](&lt;a href="http://www.blackmarble.co.uk/events.aspx?event=Architecture">http://www.blackmarble.co.uk/events.aspx?event=Architecture&lt;/a> Forum in the North 2010) (Holiday Inn, Tong)&lt;/li>
&lt;/ul>
&lt;p>and that is just this year&lt;/p></description></item><item><title>DDD Dublin voting as opened</title><link>https://blogs.blackmarble.co.uk/rfennell/ddd-dublin-voting-as-opened/</link><pubDate>Tue, 14 Sep 2010 13:05:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/ddd-dublin-voting-as-opened/</guid><description>
&lt;p>The &lt;a href="http://developerdeveloperdeveloper.com/dddie10/Users/VoteForSessions.aspx">vote has opened for DDD Ireland&lt;/a>, get in there an vote for the sessions you would like to see, there is a nice selection.&lt;/p>
&lt;p>May I draw your attention to the two I have submitted&lt;/p>
&lt;ul>
&lt;li>How can I add my own custom step to a TFS 2010 build, or do I even need to try? (Oooh a new one!)&lt;/li>
&lt;li>Developing Testable Web Parts for SharePoint (Could also be called Using Typemock with SharePoint)&lt;/li>
&lt;/ul>
&lt;p>No pressure…….&lt;/p></description></item><item><title>Experiences running multiple instances of 2010 build service on a single VM</title><link>https://blogs.blackmarble.co.uk/rfennell/experiences-running-multiple-instances-of-2010-build-service-on-a-single-vm/</link><pubDate>Mon, 13 Sep 2010 11:50:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/experiences-running-multiple-instances-of-2010-build-service-on-a-single-vm/</guid><description>
&lt;p>I think my biggest issue with TFS2010 is the problem that a build controller is tied to a single Team Project Collection (TPC). For a company like mine where we run a TPC for each client this means we have had to start to generate a good number of virtualised build controller/agents. It is especially irritating as I know that the volume of builds on any given controller is low.&lt;/p></description></item><item><title>Talking about mocking with Typemock a The of The Developers Group in October</title><link>https://blogs.blackmarble.co.uk/rfennell/talking-about-mocking-with-typemock-a-the-of-the-developers-group-in-october/</link><pubDate>Mon, 13 Sep 2010 08:40:30 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/talking-about-mocking-with-typemock-a-the-of-the-developers-group-in-october/</guid><description>
&lt;p>On the 20th October I will be &lt;a href="http://www.richplum.co.uk/meetings/20101020.pdf">speaking at an afternoon event hosted by The Developer Group at EMC offices in London.&lt;/a> My subject will be using Typemock Isolator to address testing problems in both well designed code (nice IoC patterns etc) and in nasty legacy code where you have to use all the trick Isolator allows.&lt;/p>
&lt;p>Hope to see you there&lt;/p></description></item><item><title>Stupid mistake over Javascript parameters</title><link>https://blogs.blackmarble.co.uk/rfennell/stupid-mistake-over-javascript-parameters/</link><pubDate>Fri, 10 Sep 2010 16:19:14 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/stupid-mistake-over-javascript-parameters/</guid><description>
&lt;p>I have been using the &lt;a href="http://code.google.com/apis/maps/">Google Maps JavaScript API&lt;/a> today. I lost too much time over a really stupid error. I was trying to set the zoom level on a map using the call&lt;/p>
&lt;blockquote>
&lt;p>map.setZoom(&lt;number>);&lt;/p>&lt;/blockquote>
&lt;p>I had set my initial zoom level to 5 (the scale is 1-17 I think) in the map load, when I called setZoom to 11 all was fine, but if I set it to any other number is reverted to 5. This different effect for different numbers was a real red herring. The problem was down to how I was handling the variable containing the zoom level prior to passing it to setZoom method. When it was set to 11 it was set explicitly e.g.&lt;/p></description></item><item><title>Problem faking multiple SPLists with Typemock Isolator in a single test</title><link>https://blogs.blackmarble.co.uk/rfennell/problem-faking-multiple-splists-with-typemock-isolator-in-a-single-test/</link><pubDate>Fri, 10 Sep 2010 15:20:05 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/problem-faking-multiple-splists-with-typemock-isolator-in-a-single-test/</guid><description>
&lt;p>I have found a problem with repeated calls to indexed SharePoint Lists with Typemock Isolator 6.0.3. This what I am trying to do…&lt;/p>
&lt;p>&lt;strong>The Problem&lt;/strong>&lt;/p>
&lt;p>I am using Typemock Isolator to allow me to develop a SharePoint Webpart outside of the SharePoint environment  &lt;a href="http://typemock.squarespace.com/learn-from-the-experts/">(there is a video about this on the Typemock site)&lt;/a>. My SharePoint Webpart uses data drawn from a pair of SharePoint lists to draw a map using Google maps API; so in my test harness web site page I have the following code in the constructor that fakes out the two SPLists and populates them with test content.&lt;/p></description></item><item><title>My Typemock video have been published</title><link>https://blogs.blackmarble.co.uk/rfennell/my-typemock-video-have-been-published/</link><pubDate>Thu, 09 Sep 2010 12:36:10 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/my-typemock-video-have-been-published/</guid><description>
&lt;p>I have a couple of new video’s on on the &lt;a href="http://typemock.squarespace.com/learn-from-the-experts/">Typepmock Experts site&lt;/a>, why not take a look, the titles are&lt;/p>
&lt;ul>
&lt;li>Using Typemock Isolator to enable rapid development&lt;/li>
&lt;li>Using Typemock Isolator and Ivonna for unit testing the UI&lt;/li>
&lt;/ul></description></item><item><title>I am speaking at the VBug Autumn Conference</title><link>https://blogs.blackmarble.co.uk/rfennell/i-am-speaking-at-the-vbug-autumn-conference/</link><pubDate>Thu, 09 Sep 2010 11:29:19 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/i-am-speaking-at-the-vbug-autumn-conference/</guid><description>
&lt;p>The &lt;a href="http://www.vbug.co.uk/Conference/VBUG-Autumn-Conference-2010.aspx">VBug Autumn Conference&lt;/a> is on the Wed 27th &amp;amp; Thurs 28th October  at Holywell Park, Loughborough. The published agenda this far is&lt;/p>
&lt;p>**Day One (Wed 27th Oct):**Top of the Pops with Sharepoint 2010 – Dave McMahon&lt;br>
Cache Out with Windows Server AppFabric – Phil Pursglove&lt;br>
Mapping the Cloud – How far can we stretch it? Johannes Kebeck&lt;br>
Silverlight Development on Windows Phone 7 – Andy Wigley&lt;/p>
&lt;p>**&lt;strong>Day Two (Thurs 28th Oct):&lt;/strong>&lt;br>
**TFS (actual title TBC) – Richard Fennell&lt;br>
Silverlight 4 (actual title TBC) – Richard Costall&lt;br>
Others to be confirmed…including Azure, Expression Blend &amp;amp; BI&lt;/p></description></item><item><title>Running Android on my HTC Diamond2</title><link>https://blogs.blackmarble.co.uk/rfennell/running-android-on-my-htc-diamond2/</link><pubDate>Wed, 08 Sep 2010 09:09:36 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/running-android-on-my-htc-diamond2/</guid><description>
&lt;p>I have &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/archive/2010/01/11/why-don-t-i-love-my-phone.aspx">posted in the past that I am not a huge fan of my phone&lt;/a>, so I read &lt;a href="http://blog.hinshelwood.com/archive/2010/09/02/running-android-2.2-frodo-on-your-hd2.aspx?utm_source=feedburner&amp;amp;utm_medium=feed&amp;amp;utm_campaign=Feed%3A&amp;#43;MartinHinshelwood&amp;#43;%28Martin&amp;#43;Hinshelwood%27s&amp;#43;ALM&amp;#43;Blog%29">Martin Hinshelwood’s experiences with putting Android on his HTC HD with interest&lt;/a>. I have tended to leave my phone as a consumer device i.e. it does what it does, I tend to not fiddle too much as long as it will make calls, sync email and allow me to get the cricket scores on the BBC website, the essentials of life. However, I had a spare SD card and a bit of time. So it was off to the &lt;a href="http://forum.xda-developers.com/showthread.php?t=509493">Diamond2(Topaz) XDADevelopers forums&lt;/a> to see what I needed.&lt;/p></description></item><item><title>Does anyone need a VS2010 Custom Build Activity for StyleCop?</title><link>https://blogs.blackmarble.co.uk/rfennell/does-anyone-need-a-vs2010-custom-build-activity-for-stylecop/</link><pubDate>Fri, 03 Sep 2010 13:49:27 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/does-anyone-need-a-vs2010-custom-build-activity-for-stylecop/</guid><description>
&lt;p>There is a noticeable omission form the tooling for &lt;a href="http://stylecop.codeplex.com/">StyleCop&lt;/a> that you cannot integrate it into a TFS 2010 Build directly. There is a custom task to do it as part of &lt;a href="http://msbuildextensionpack.codeplex.com/">MSBuild Extension pack&lt;/a>, but this is designed for TFS 2008.&lt;/p>
&lt;p>So when I had to wire in StyleCop to our 2010 build process I hit a problem, I could&lt;/p>
&lt;ol>
&lt;li>Edit the .csproj files for each project to wire in StyleCop&lt;/li>
&lt;li>Use an MSBuild activity in my 2010 build&lt;/li>
&lt;li>Write my own custom activity.&lt;/li>
&lt;/ol>
&lt;p>I decided to follow the final option, it did not look too bad as the source needed is provided in the &lt;a href="http://stylecop.codeplex.com/releases/view/44839#DownloadId=129599">StyleCop SDK&lt;/a>. Well after a good deal of fiddling I have it basically working. Again I found the process of &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/archive/2010/03/08/lessons-learnt-building-a-custom-activity-to-run-typemock-isolator-in-vs2010-team-build.aspx">developing a custom activity a little irritating&lt;/a>.&lt;/p></description></item><item><title>New book on Refactoring with Visual Studio 2010 from Packt Publishing</title><link>https://blogs.blackmarble.co.uk/rfennell/new-book-on-refactoring-with-visual-studio-2010-from-packt-publishing/</link><pubDate>Fri, 03 Sep 2010 08:43:22 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/new-book-on-refactoring-with-visual-studio-2010-from-packt-publishing/</guid><description>
&lt;p>Recently &lt;a href="http://www.packtpub.com">Packt Publishing&lt;/a> sent me a copy of &lt;a href="https://www.packtpub.com/refactoring-with-microsoft-visual-studio-2010/book?utm_source=blogs.blackmarble.co.uk&amp;amp;utm_medium=bookrev&amp;amp;utm_content=blog&amp;amp;utm_campaign=mdb_004412">‘Refactoring with Microsoft Visual Studio 2010’ by Peter Ritchie&lt;/a>, I have to say I have rather impressed by it.&lt;/p>
&lt;p>&lt;a href="https://www.packtpub.com/refactoring-with-microsoft-visual-studio-2010/book?utm_source=blogs.blackmarble.co.uk&amp;amp;utm_medium=bookrev&amp;amp;utm_content=blog&amp;amp;utm_campaign=mdb_004412">&lt;img
loading="lazy"
decoding="async"
alt="image"
class="image_figure image_internal image_unprocessed"
src="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_2F08E5CF.png"
title="image"
/>
&lt;/a>&lt;/p>
&lt;p>My only major issue with it is that of the title, this book covers much more than the refactoring features of 2010. It provides a very clear example driven discussion of the use and application of both refactoring patterns and design patterns. I think this would be an excellent book for a developer who want to start to apply design patterns to their C# code. The examples being more real world than &lt;a href="http://www.amazon.co.uk/Head-First-Design-Patterns-Freeman/dp/0596007124/ref=sr_1_1?ie=UTF8&amp;amp;s=books&amp;amp;qid=1283502417&amp;amp;sr=8-1-spell">Head First’s ‘Design Patterns&lt;/a>’ (and the examples are in C# as opposed to Java) and the book being a far easier read than the classic &lt;a href="http://www.amazon.co.uk/Design-patterns-elements-reusable-object-oriented/dp/0201633612/ref=sr_1_1?s=books&amp;amp;ie=UTF8&amp;amp;qid=1283502470&amp;amp;sr=1-1">‘Design patterns : elements of reusable object-oriented software’&lt;/a>&lt;/p></description></item><item><title>DDD Dublin call for speakers is open</title><link>https://blogs.blackmarble.co.uk/rfennell/ddd-dublin-call-for-speakers-is-open/</link><pubDate>Tue, 31 Aug 2010 11:52:11 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/ddd-dublin-call-for-speakers-is-open/</guid><description>
&lt;p>There is a call for speaker for DDD in Dublin on the 9th of October, that is not that far away is it!&lt;/p>
&lt;p>&lt;strong>[Updated 1 Sep 2010]&lt;/strong> The link would help &lt;a href="http://developerdeveloperdeveloper.com/dddie10/" title="http://developerdeveloperdeveloper.com/dddie10/">http://developerdeveloperdeveloper.com/dddie10/&lt;/a>&lt;/p></description></item><item><title>What is an .xesc file?</title><link>https://blogs.blackmarble.co.uk/rfennell/what-is-an-xesc-file/</link><pubDate>Fri, 27 Aug 2010 15:10:22 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/what-is-an-xesc-file/</guid><description>
&lt;p>Test Professional, after the &lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=8406ef19-35a3-4c03-a145-08ba982f3cef&amp;amp;utm_source=feedburner&amp;amp;utm_medium=feed&amp;amp;utm_campaign=Feed:&amp;#43;MicrosoftDownloadCenter&amp;#43;%28Microsoft&amp;#43;Download&amp;#43;Center%29">Lab Management update&lt;/a>, now uses &lt;a href="http://msdn.microsoft.com/en-us/library/dd997558.aspx">Expression Encoder 4.0 to create it video of screen activity&lt;/a>. This means that when you run a test and record a video you end up with an attachment called ScreenCapture.xesc.&lt;/p>
&lt;p>Now my PC did not have the Expression Encoder 4.0 installed, so did not know what to do with an .xesc file created within our Lab Management environment. To address this the answer is simple. On any PC that might want to view the video either:&lt;/p></description></item><item><title>Cannot run CodeUI tests in Lab Management – getting a ’Build directory of the test run is not specified or does not exist’</title><link>https://blogs.blackmarble.co.uk/rfennell/cannot-run-codeui-tests-in-lab-management-getting-a-build-directory-of-the-test-run-is-not-specified-or-does-not-exist/</link><pubDate>Fri, 27 Aug 2010 14:33:03 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/cannot-run-codeui-tests-in-lab-management-getting-a-build-directory-of-the-test-run-is-not-specified-or-does-not-exist/</guid><description>
&lt;p>Interesting user too stupid error today whist adding some CodeUI tests to a Lab Management deployment scenario.&lt;/p>
&lt;p>I added the Test Case and associated it with Coded UI test in Visual Studio&lt;/p>
&lt;p>&lt;a href="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_57482B45.png">&lt;img
loading="lazy"
decoding="async"
alt="image"
class="image_figure image_internal image_unprocessed"
src="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_thumb_0F86A25E.png"
title="image"
/>
&lt;/a>&lt;/p>
&lt;p>I made sure my deployment build had the tests selected&lt;/p>
&lt;p>&lt;a href="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_566FC55B.png">&lt;img
loading="lazy"
decoding="async"
alt="image"
class="image_figure image_internal image_unprocessed"
src="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_thumb_1D58E859.png"
title="image"
/>
&lt;/a>&lt;/p>
&lt;p>I then ran my Lab Deployment build, but got the error&lt;/p>
&lt;blockquote>
&lt;p>&lt;em>Build directory of the test run is not specified or does not exist.&lt;/em>&lt;/p></description></item><item><title>Don’t hardcode that build option</title><link>https://blogs.blackmarble.co.uk/rfennell/dont-hardcode-that-build-option/</link><pubDate>Thu, 26 Aug 2010 13:56:19 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/dont-hardcode-that-build-option/</guid><description>
&lt;p>I have been using the &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/archive/2010/07/01/using-my-typemock-tmockrunner-custom-activity-for-team-build-2010.aspx">ExternalTestRunner 2010 Build activity I wrote&lt;/a>. I realised that at least one of the parameters I need to set, the &lt;strong>ProjectCollection&lt;/strong> used to publish the test results, was hard coded in my sample. It was set in the form&lt;/p>
&lt;blockquote>
&lt;p>&lt;strong>http://myserver:8080/tfs/MyCollection&lt;/strong>&lt;/p>&lt;/blockquote>
&lt;p>This is not that sensible, as this value is available using the build API as&lt;/p>
&lt;blockquote>
&lt;p>&lt;strong>BuildDetail.BuildServer.TeamProjectCollection.Uri.ToString()&lt;/strong>&lt;/p>&lt;/blockquote>
&lt;p>It makes no sense to hard code the name of the server if the build system already knows it.&lt;/p></description></item><item><title>Detailed posted on using Access Services and Event Receivers</title><link>https://blogs.blackmarble.co.uk/rfennell/detailed-posted-on-using-access-services-and-event-receivers/</link><pubDate>Wed, 25 Aug 2010 08:26:44 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/detailed-posted-on-using-access-services-and-event-receivers/</guid><description>
&lt;p>Access MVP Ben Clothier has posted an article and video on &lt;a href="http://blogs.msdn.com/b/access/archive/2010/08/24/going-beyond-web-macros-using-event-receivers-amp-net-with-access-services.aspx">Going beyond Web Macros: Using Event Receivers &amp;amp; .NET with Access Services&lt;/a>. This takes some of the techniques &lt;a href="http://blogs.msdn.com/b/access/archive/2009/10/21/net-developer-blogs-about-access-2010.aspx">I was proposing for .NET/Access integration&lt;/a> and added to them using Ben’s extensive experience in the Access space.&lt;/p>
&lt;p>Well worth a look if you want to make Access a RAD front end to legacy systems.&lt;/p></description></item><item><title>&amp;quot;Program too big to fit in memory&amp;quot; when installing a TFS 2010 Test Controller</title><link>https://blogs.blackmarble.co.uk/rfennell/program-too-big-to-fit-in-memory-when-installing-a-tfs-2010-test-controller/</link><pubDate>Mon, 23 Aug 2010 14:43:23 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/program-too-big-to-fit-in-memory-when-installing-a-tfs-2010-test-controller/</guid><description>
&lt;p>Just spent a while battling a problem whilst install the &lt;a href="http://msdn.microsoft.com/en-us/library/dd648127.aspx#TestControllers">TFS 2010 Test Controller&lt;/a>. When I launched the install setup program off the .ISO  I could select the Test Controller installer, but then a command prompt flashed up and exited with no obvious error. If I went into the TestControllers directory on the mounted .ISO and ran the setup from a command prompt I saw the error &amp;quot;program too big to fit in memory&amp;quot;.&lt;/p></description></item><item><title>Great iPlayer Media Center Plugin</title><link>https://blogs.blackmarble.co.uk/rfennell/great-iplayer-media-center-plugin/</link><pubDate>Wed, 18 Aug 2010 12:25:53 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/great-iplayer-media-center-plugin/</guid><description>
&lt;p>I am very impressed with the &lt;a href="http://www.xpmediacentre.com.au/community/windows-media-center-plugins-addons/40492-new-iplayer-plugins.html">iPlayer Media Center Plugin I found on the Australian Media Center Community&lt;/a>, I like most people found it installed fine but that it failed to add itself to the start menu. However this was easily fixed using &lt;a href="http://adventmediacenter.com/">Media Center Studio&lt;/a> once I got my head around the Media Center Studio’s user interface. The basic process is:&lt;/p>
&lt;ol>
&lt;li>Load Media Center Studio&lt;/li>
&lt;li>Go onto the Start Menu tab&lt;/li>
&lt;li>At the bottom of the screen look for the entry points section (needs expanding usually)&lt;/li>
&lt;li>In here you should find the iPlayer application (has a red’ish pay button logo)&lt;/li>
&lt;li>Drag it onto whichever part of the start menu you want, but be aware there are some limitation as to where it can go, Extensions worked fine for me&lt;/li>
&lt;li>Save the changes&lt;/li>
&lt;li>Restart Media Center&lt;/li>
&lt;/ol>
&lt;p>Once this is done you should be able to view WMV based iPlayer content from within Media Center. I have seen it take a while to start buffering content, but other than that it seems to work well and certainly looks the part.&lt;/p></description></item><item><title>Running MSDeploy to a remote box from inside a TFS 2010 Build (Part 2)</title><link>https://blogs.blackmarble.co.uk/rfennell/running-msdeploy-to-a-remote-box-from-inside-a-tfs-2010-build-part-2/</link><pubDate>Fri, 13 Aug 2010 14:36:16 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/running-msdeploy-to-a-remote-box-from-inside-a-tfs-2010-build-part-2/</guid><description>
&lt;p>&lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/archive/2010/08/06/running-msdeploy-to-a-remote-box-from-inside-a-tfs-2010-build.aspx">Another follow up post, this time to the one on MSDeploy&lt;/a>. As I said in that post a better way to trigger the MSDeploy PowerShell script would be as part of the build workflow, as opposed to a post build action in the MSBuild phase. Doing it this way means if the build failed testing, after MSBuild complete, you can still choose not to run MSDeploy.&lt;/p>
&lt;p>I have implemented this using an InvokeProcess call in my build workflow, which I have placed just before Gated checking logic at the end of the process template.&lt;/p></description></item><item><title>How to edit a TFS 2010 build template when it contains custom activities.</title><link>https://blogs.blackmarble.co.uk/rfennell/how-to-edit-a-tfs-2010-build-template-when-it-contains-custom-activities/</link><pubDate>Fri, 13 Aug 2010 12:29:21 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/how-to-edit-a-tfs-2010-build-template-when-it-contains-custom-activities/</guid><description>
&lt;p>I posted a while ago on u&lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/archive/2010/07/01/using-my-typemock-tmockrunner-custom-activity-for-team-build-2010.aspx">sing my Typemock TMockRunner Custom Activity for Team Build 2010&lt;/a>. I left that post with the problem that if you wished to customise a template after you a had added the custom activity you had to use the somewhat complex branching model edit the XAML.&lt;/p>
&lt;p>If you just followed the process in my post to put the build template in a new team project and tried to edit the XAML you got the following errors, an import namespace error and the associated inability to render part of the workflow&lt;/p></description></item><item><title>And the first official release of the TFS Integration Platform</title><link>https://blogs.blackmarble.co.uk/rfennell/and-the-first-official-release-of-the-tfs-integration-platform/</link><pubDate>Fri, 13 Aug 2010 10:39:02 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/and-the-first-official-release-of-the-tfs-integration-platform/</guid><description>
&lt;p>The last of the recent batch of  announcements is that of the first official release of the TFS Integration Platform. This provides tools to allow synchronisation between TFS 2010 and …..&lt;/p>
&lt;ul>
&lt;li>TFS 2008&lt;/li>
&lt;li>TFS 2010&lt;/li>
&lt;li>ClearCase&lt;/li>
&lt;li>ClearQuest&lt;/li>
&lt;li>File System&lt;/li>
&lt;/ul>
&lt;p>Again more &lt;a href="http://blogs.msdn.com/b/bharry/archive/2010/08/09/tfs-integration-platform-updated.aspx">details on Brian Harry’s blog&lt;/a>.&lt;/p></description></item><item><title>New tool for configuring Sharepoint MOSS for TFS dashboards</title><link>https://blogs.blackmarble.co.uk/rfennell/new-tool-for-configuring-sharepoint-moss-for-tfs-dashboards/</link><pubDate>Fri, 13 Aug 2010 10:33:24 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/new-tool-for-configuring-sharepoint-moss-for-tfs-dashboards/</guid><description>
&lt;p>Another recent announcement from &lt;a href="http://blogs.msdn.com/b/bharry/archive/2010/08/04/configuring-microsoft-office-sharepoint-server-with-tfs-2010.aspx">Brian Harry’s blog&lt;/a> was about the release of the &lt;a href="http://visualstudiogallery.msdn.microsoft.com/en-us/db469790-5e3e-42f3-906e-411a73795a1b">Microsoft Team Foundation Server 2010 MOSS Configuration Tool&lt;/a>. I had a look at this tool during it’s beta testing and it certainly can help to get all the setting right to allow Excel Services to provide your charting for TFS projects, it worked for us.&lt;/p></description></item><item><title>Visual Studio 2010 Lab Management released announced</title><link>https://blogs.blackmarble.co.uk/rfennell/visual-studio-2010-lab-management-released-announced/</link><pubDate>Fri, 13 Aug 2010 09:49:11 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/visual-studio-2010-lab-management-released-announced/</guid><description>
&lt;p>In the &lt;a href="http://vslive.com/Home.aspx">VSLive! keynote&lt;/a> Microsoft made announcements about Lab Management, it will be RTM’d later this month and best of all it will be included as part of the benefits of the Visual Studio 2010 Ultimate with MSDN and Visual Studio Test Professional 2010 with MSDN SKUs. &lt;a href="http://blogs.msdn.com/b/briankel/archive/2010/08/04/visual-studio-2010-lab-management-is-coming-later-this-month.aspx">You can read more detail on Brian Keller’s blog&lt;/a>&lt;/p>
&lt;p>I think this is a great move on licensing, we had expect it to be purchasable addition to Visual Studio. With this change it now is consistent with TFS i.e. if you have the right SKU of Visual Studio and MSDN you get the feature. This greatly removes the barrier to entry for this technology.&lt;/p></description></item><item><title>Running MSDeploy to a remote box from inside a TFS 2010 Build</title><link>https://blogs.blackmarble.co.uk/rfennell/running-msdeploy-to-a-remote-box-from-inside-a-tfs-2010-build/</link><pubDate>Fri, 06 Aug 2010 13:27:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/running-msdeploy-to-a-remote-box-from-inside-a-tfs-2010-build/</guid><description>
&lt;p>[Also see &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/archive/2010/08/13/running-msdeploy-to-a-remote-box-from-inside-a-tfs-2010-build-part-2.aspx">Running MSDeploy to a remote box from inside a TFS 2010 Build (Part 2)&lt;/a>] &lt;/p>
&lt;p>A fellow MVP Ewald Hofman wrote a &lt;a href="http://www.ewaldhofman.nl/post/2010/04/12/Auto-deployment-of-my-web-application-with-Team-Build-2010-to-add-Interactive-Testing.aspx">great post on getting an Web Application to deploy as part of a TFS 2010 build&lt;/a>. I have been using this technique but found a few points that were not right in the original post, I assume these are down to RC/RTM issues and the fact I was trying to access a remote system.&lt;/p></description></item><item><title>Getting a ,NET 4 WCF service running on IIS7</title><link>https://blogs.blackmarble.co.uk/rfennell/getting-a-net-4-wcf-service-running-on-iis7/</link><pubDate>Fri, 06 Aug 2010 11:33:28 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/getting-a-net-4-wcf-service-running-on-iis7/</guid><description>
&lt;p>Now I know this should be simple and obvious but I had a few problems today publishing a web service to a new IIS7 host. These are the steps I had to follow to get around all my errors:&lt;/p>
&lt;ol>
&lt;li>
&lt;p>Take a patched Windows Server 2008 R2, this had the File Server and IIS roles installed.&lt;/p>
&lt;/li>
&lt;li>
&lt;p>I install MSDeploy (&lt;a href="http://blog.iis.net/msdeploy">http://blog.iis.net/msdeploy&lt;/a>) onto the server to manage my deployment, this is a tool I am becoming a big fan of lately.&lt;/p></description></item><item><title>Getting code coverage working on Team Build 2010</title><link>https://blogs.blackmarble.co.uk/rfennell/getting-code-coverage-working-on-team-build-2010/</link><pubDate>Thu, 05 Aug 2010 16:08:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/getting-code-coverage-working-on-team-build-2010/</guid><description>
&lt;p>If you have VS2010 Premium or Ultimate [Professional corrected error in orginal post]  you have code coverage built into the test system. When you look at your test results there is a button to see the code coverage&lt;/p>
&lt;p>&lt;a href="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_7271AF2D.png">&lt;img
loading="lazy"
decoding="async"
alt="image"
class="image_figure image_internal image_unprocessed"
src="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_thumb_7D2F0682.png"
title="image"
/>
&lt;/a>&lt;/p>
&lt;p>You would think that there is easy way to use the code coverage in your automated build process using Team Build 2010, well it can done but you have to do a bit of work.&lt;/p></description></item><item><title>Next weeks Agile Yorkshire meeting: Some things about testing that everyone should know, ...... but were afraid to ask, in case somebody told them.</title><link>https://blogs.blackmarble.co.uk/rfennell/next-weeks-agile-yorkshire-meeting-some-things-about-testing-that-everyone-should-know-but-were-afraid-to-ask-in-case-somebody-told-them/</link><pubDate>Thu, 05 Aug 2010 08:10:45 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/next-weeks-agile-yorkshire-meeting-some-things-about-testing-that-everyone-should-know-but-were-afraid-to-ask-in-case-somebody-told-them/</guid><description>
&lt;p>It is Agile Yorkshire time again, it is a real shame that due to the move of the meeting from the 2nd Wednesday to the 2nd Tuesday I really struggle to make the events. Particularly irritating this month as this one look really interesting and the speaker, Ralph Williams, from past evidence always is entertaining. To quote the Agile Yorkshire site the session will..&lt;/p>
&lt;p>&lt;em>“The presentation will focus on the techniques that testers use to identify their tests, whether working from a requirements specification or on agile teams.&lt;/em>&lt;/p></description></item><item><title>Scale out TFS2010 issues and fixes</title><link>https://blogs.blackmarble.co.uk/rfennell/scale-out-tfs2010-issues-and-fixes/</link><pubDate>Mon, 26 Jul 2010 09:55:03 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/scale-out-tfs2010-issues-and-fixes/</guid><description>
&lt;p>One of our clients has been working on a nice scale out implementation of TFS2010 (migrating from an existing TFS2005). They are using AT load balancing, failover SQL cluster and Search Server Express to unify search. As you might expect this has been a interesting learning experience for all.&lt;/p>
&lt;p>You can find out about some of the problems they have had and their solutions are &lt;a href="http://www.rancidswan.com/?cat=19" title="http://www.rancidswan.com/?cat=19">http://www.rancidswan.com/?cat=19&lt;/a>&lt;/p></description></item><item><title>Once more with feeling…watching yourself on video</title><link>https://blogs.blackmarble.co.uk/rfennell/once-more-with-feelingwatching-yourself-on-video/</link><pubDate>Sun, 25 Jul 2010 10:11:47 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/once-more-with-feelingwatching-yourself-on-video/</guid><description>
&lt;p>I have been meaning to watch back the video taken of my recent presentation for a while. This weekend I have had the chance to sample the highlights! In the past I have always found it hard to watch myself on recordings, though after the initial cringe this time it was not too bad. I must be getting used to the critical process.&lt;/p>
&lt;p>So what have I learnt&lt;/p>
&lt;ul>
&lt;li>I say ‘err’ to ‘err’ much ‘err’&lt;/li>
&lt;li>I move my hands about much like &lt;a href="http://en.wikipedia.org/wiki/Magnus_Pyke">Magnus Pike&lt;/a>, a childhood 1970/80s TV popular science reference as seen in &lt;a href="http://www.youtube.com/watch?v=EoJKWR3DIuA">this Thomas Dolby video&lt;/a> and this &lt;a href="http://www.youtube.com/watch?v=6Hpd5M8Vfdg">Mitchell and Web sketch&lt;/a>, for those not old enough to remember. I don’t think it is too irritating do you? But to carry it off fully I do need madder hair.&lt;/li>
&lt;li>I tend to wander about the stage, I know it is consider good presenting practice not to talk and walk at the same time. But does this actually get on the audiences nerves? It certainly does me when watching when I jump up and down during a demo. I think I know why I am doing it, I heard about an idea from &lt;a href="http://en.wikipedia.org/wiki/Neuro-linguistic_programming">NLP&lt;/a> for presenting/teaching to always deliver specific types of information from the same physical location e.g. funny anecdote by the windows, summary points by the lectern etc. The idea is it subconsciously primes the audience what to expect and how to treat it e.g. oh here he is by the lectern I must remember this as it is important. I guess I need to just be a bit more sparing in the application of this technique.&lt;/li>
&lt;li>I still use too many slides, I especially need to focus on less bullet pointed ones. &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/archive/2010/07/01/fun-presenting-last-night-at-bcs.aspx">When presenting at the BCS recently the projector&lt;/a> broke 5 minutes into my session and I did the rest of the session without slides (that the audience could see). All I missed was a couple of images of Scrum and Kanban (and wild hand waving an pointing at a white wall got me round the problems). I the feedback I got was good. However a key factor was I could see my bullet pointed slides on my laptop. I realised the slides are my speaker notes. So next time I intend to try very few audience slides but have a stack much like my normal one running on PowerPoint on my phone. Lets see how that works.&lt;/li>
&lt;li>…..Oh and I have a Birmingham accent, someone could have mentioned it!&lt;/li>
&lt;/ul>
&lt;p>I would heartily recommend anyone presenting to have a look at videos of your sessions, even if they are just ones taken with a camcorder or phone from the back of the room. You may be surprised how you appear, sessions often look very different to the audience as opposed to how you felt it went from the stage.&lt;/p></description></item><item><title>Software Craftsmanship 2010</title><link>https://blogs.blackmarble.co.uk/rfennell/software-craftsmanship-2010/</link><pubDate>Thu, 22 Jul 2010 11:34:14 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/software-craftsmanship-2010/</guid><description>
&lt;p>The &lt;a href="http://www.softwarecraftsmanship.org.uk/">Software Craftsmanship 2010 conference&lt;/a> has been announced and is open for registration. The &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/archive/2009/02/26/intent-is-the-key-thoughts-on-the-way-home-form-software-craftsmanship-2009.aspx">last Software Craftsmanship conference was one of the most useful events I have ever attended&lt;/a>, so this years should be well worth attending, even though it has gone from being a free event to having a small charge.&lt;/p>
&lt;p>As a bonus it is at &lt;a href="http://www.bletchleypark.org.uk/">Bletchley Park&lt;/a>, in itself &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/archive/2009/09/07/your-support-can-keep-our-industries-history-alive.aspx">worth a trip&lt;/a>.&lt;/p>
&lt;p>Get in quick spaces are very limited.&lt;/p></description></item><item><title>All Leds flashing on a Netgear GS108 Switch</title><link>https://blogs.blackmarble.co.uk/rfennell/all-leds-flashing-on-a-netgear-gs108-switch/</link><pubDate>Tue, 20 Jul 2010 09:52:10 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/all-leds-flashing-on-a-netgear-gs108-switch/</guid><description>
&lt;p>I came back form holiday to find a Netgear GS108 switch with all it leds flashing and it passing no data. This is &lt;a href="http://www.mccambridge.org/blog/2008/04/howto-fix-a-broken-netgear-gs108/">exactly the same symptoms as this post&lt;/a>. My fix did not involve the use of a soldering iron as detailed in the post, I just swapped the PSU and it started working fine. I have seen this before, the PSU shows it’s age before the device itself. Good job I have a big box of misc PSU from devices down the years&lt;/p></description></item><item><title>Running SPDisposeCheck as part of a 2010 CI Build</title><link>https://blogs.blackmarble.co.uk/rfennell/running-spdisposecheck-as-part-of-a-2010-ci-build/</link><pubDate>Sat, 03 Jul 2010 19:47:32 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/running-spdisposecheck-as-part-of-a-2010-ci-build/</guid><description>
&lt;p>&lt;a href="http://code.msdn.microsoft.com/SPDisposeCheck">SPDisposeCheck&lt;/a> is a great tool for SharePoint developers to make sure that they are disposing of resources correctly. The problem is it is a bit slow to run, a problem as this will mean developers will tend not to run it as often as they should. A good solution to the problem is to run it as part of the continuous integration process. There is are posts on how to do this &lt;a href="http://stephenvick.wordpress.com/2010/01/06/run-spdisposecheck-as-build-task-and-automated-unit-test/">via unit test&lt;/a>s and as a &lt;a href="http://www.sharepointdevwiki.com/display/SPPodCasts/2010/01/24/SPWebCast&amp;#43;009&amp;#43;-&amp;#43;SharePoint&amp;#43;2007&amp;#43;Development&amp;#43;with&amp;#43;Continuous&amp;#43;Integration&amp;#43;%2841&amp;#43;mins%29">MSBuild task&lt;/a>, but I wanted to use a TFS 2010 style build. Turns out this is reasonably straight forward without the need to write a custom activity.&lt;/p></description></item><item><title>Survey on what you think of the Visual Studio web site</title><link>https://blogs.blackmarble.co.uk/rfennell/survey-on-what-you-think-of-the-visual-studio-web-site/</link><pubDate>Sat, 03 Jul 2010 18:24:57 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/survey-on-what-you-think-of-the-visual-studio-web-site/</guid><description>
&lt;p>Do you use the Visual Studio web site? If you do or you don’t &lt;a href="https://www.surveymonkey.com/s/KTY6NB9">Microsoft are interested to find the reasons why via a quick survey&lt;/a>.&lt;/p></description></item><item><title>BCS EGM results</title><link>https://blogs.blackmarble.co.uk/rfennell/bcs-egm-results/</link><pubDate>Thu, 01 Jul 2010 20:46:22 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/bcs-egm-results/</guid><description>
&lt;p>The BCS has had its &lt;a href="http://yourfuture.bcs.org/server.php?show=nav.13833">EGM today and the results are out&lt;/a>. Basically the vote is about 75% in support of the status quo, which I am not surprised by. What I am really pleased to see is that the Trustees withdrew the special resolution the change the number of people to required to call an EGM from 50 people to 2% of the membership.&lt;/p>
&lt;p>I really do hope that this whole EGM process has been a warning to the Trustee and board that they must be more open, and help promote and continue the dialog that EGM has created.&lt;/p></description></item><item><title>Re-awarded as a Visual Studio ALM MVP</title><link>https://blogs.blackmarble.co.uk/rfennell/re-awarded-as-a-visual-studio-alm-mvp/</link><pubDate>Thu, 01 Jul 2010 14:58:27 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/re-awarded-as-a-visual-studio-alm-mvp/</guid><description>
&lt;p>I have just found out I have been re-awarded as a Visual Studio ALM MVP for the third year (though it was called Team System the first two times). It is a privilege to get to work with such a great group of people as a have met via the MVP programme.&lt;/p></description></item><item><title>Using my Typemock TMockRunner Custom Activity for Team Build 2010</title><link>https://blogs.blackmarble.co.uk/rfennell/using-my-typemock-tmockrunner-custom-activity-for-team-build-2010/</link><pubDate>Thu, 01 Jul 2010 10:25:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/using-my-typemock-tmockrunner-custom-activity-for-team-build-2010/</guid><description>
&lt;p>[Also see &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/archive/2010/08/13/how-to-edit-a-tfs-2010-build-template-when-it-contains-custom-activities.aspx">http://blogs.blackmarble.co.uk/blogs/rfennell/archive/2010/08/13/how-to-edit-a-tfs-2010-build-template-when-it-contains-custom-activities.aspx&lt;/a> ]&lt;/p>
&lt;p>A couple of months ago I wrote and &lt;a href="http://teambuild2010contrib.codeplex.com/wikipage?title=TeamBuild%202010%20Activity%20to%20run%20Typemock%20Isolator%20based%20tests&amp;amp;referringTitle=Home">published a custom activity for Team Build 2010 to allow Typemock tests to be run within the build process&lt;/a>. Whilst setting up a new build need to use this activity so I though I would see if there was an easier way to use it in a build &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/archive/2010/03/08/lessons-learnt-building-a-custom-activity-to-run-typemock-isolator-in-vs2010-team-build.aspx">without all the branch and fuss required for development&lt;/a>.&lt;/p>
&lt;p>This is what I had to do&lt;/p></description></item><item><title>Fun presenting last night at BCS</title><link>https://blogs.blackmarble.co.uk/rfennell/fun-presenting-last-night-at-bcs/</link><pubDate>Thu, 01 Jul 2010 09:00:48 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/fun-presenting-last-night-at-bcs/</guid><description>
&lt;p>Thanks to everyone who attended my session last night at the West Yorkshire BCS on Agile and Lean development process. The projector failing after only a few minutes meant I had to adopt a good agile approach to the session. It was nice that so many people came up afterwards to say they enjoyed the lack of PowerPoint.&lt;/p>
&lt;p>This got me thinking, as I enjoyed not having it as well. All I really missed was a couple of slides one that showed a Kanban board and another that diagrammatically showed the Scrum process, I got round the lack of both of these by pointing wildly at the blank projector screen and asking people to imagine. So if I run that session again I think I will just have that pair of slides and lose the rest. I just need to find a nice means to let me see the text slides, which I used as my speaking notes. I have never been a fan of postcard style notes when presenting, too much to drop, and when I tried using my phone in the past it was awkward, but maybe time to try again now my phone has a larger screen.&lt;/p></description></item><item><title>Speaking at the BCS this week on Agile</title><link>https://blogs.blackmarble.co.uk/rfennell/speaking-at-the-bcs-this-week-on-agile/</link><pubDate>Mon, 28 Jun 2010 21:12:54 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/speaking-at-the-bcs-this-week-on-agile/</guid><description>
&lt;p>Just a reminder I am speaking at the West Yorkshire BCS meeting this Wednesday on the subject ‘A&lt;a href="http://www.westyorkshire.bcs.org/2010/05/31/agile-is-so-old-hat-all-the-cool-kids-are-doing-lean-now/">gile is so old hat all the cool kids are doing lean now’&lt;/a>.&lt;/p>
&lt;p>The meeting starts a 5:45 for refreshments, and 6:30 for my session. The venue is the Old Broadcasting House, 148 Woodhouse Lane, Leeds LS2 9EN (&lt;a href="http://www.ntileeds.co.uk">www.ntileeds.co.uk&lt;/a>)&lt;/p>
&lt;p>Hope to see you there&lt;/p></description></item><item><title>Professional Scrum Developer with TFS course in the UK</title><link>https://blogs.blackmarble.co.uk/rfennell/professional-scrum-developer-with-tfs-course-in-the-uk/</link><pubDate>Fri, 25 Jun 2010 15:16:57 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/professional-scrum-developer-with-tfs-course-in-the-uk/</guid><description>
&lt;p>My fellow UK ALM MVP, &lt;a href="http://geekswithblogs.net/hinshelm/archive/2010/06/18/professional-scrum-developer-.net-training-in-london.aspx">Martin Hinshelwood, is running a Professional Scrum Developer course in London at the end of next month&lt;/a>. I understand there are still some places left, and some good discounts available. So if you was looking at wanting to implement a Scrum process on TFS it could be well worth a look&lt;/p>
&lt;p>If you want to know more about the whole &lt;a href="http://msdn.microsoft.com/en-gb/vstudio/ff433643.aspx">PSD programme have a look at the Microsoft site&lt;/a>&lt;/p></description></item><item><title>TF246062: Two or more database are in conflict when upgrading to TFS 2010</title><link>https://blogs.blackmarble.co.uk/rfennell/tf246062-two-or-more-database-are-in-conflict-when-upgrading-to-tfs-2010/</link><pubDate>Fri, 25 Jun 2010 10:21:01 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/tf246062-two-or-more-database-are-in-conflict-when-upgrading-to-tfs-2010/</guid><description>
&lt;p>Whist upgrading a TFS2010 Beta2 server to RTM I saw the following error when I ran the verify step of the upgrade.&lt;/p>
&lt;p>TF246062: Two or more databases are in conflict because they are each designated as the owners of the following schema: Framework. The schema is for the host with the following name and ID: CollectionName, 8aace481-2471-49c8-da74-77ee3da4ce29. The databases with this conflict are: Data Source=SQLInstance1;Initial Catalog=Tfs_CollectionName;Integrated Security=True, Data Source=SQLInstance1;Initial Catalog=Tfs_Production_CollectionName;Integrated Security=True. You must specify one and only one database owner for the schema in the searchable SQL Server instances for this deployment of Team Foundation Server.&lt;/p></description></item><item><title>IDD Building a breakfast comment to a become process – now there is a leap</title><link>https://blogs.blackmarble.co.uk/rfennell/idd-building-a-breakfast-comment-to-a-become-process-now-there-is-a-leap/</link><pubDate>Sun, 20 Jun 2010 07:48:57 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/idd-building-a-breakfast-comment-to-a-become-process-now-there-is-a-leap/</guid><description>
&lt;p>&lt;a href="http://blog.typemock.com/2010/06/and-suddenly-there-was-idd-by-gil.html">Gil at Typemock has been posting&lt;/a> about some ideas we discussed over breakfast at the Typemock Partner conference a while ago, I have been a bit slow at commenting, so I though I better add to the conversation. Though Typemock is an excellent mocking framework, for me basic mocking is not its biggest win. All the ‘classic auto mocking’ of interfaces to speed TDD style working is great, but I can do that with any of the .NET mocking frameworks. All they do is mean I don’t have to write my own test stubs and mocks, so saving me time, which is good but not the keep win I was looking for.&lt;/p></description></item><item><title>Post NDC2010 thoughts – a great event</title><link>https://blogs.blackmarble.co.uk/rfennell/post-ndc2010-thoughts-a-great-event/</link><pubDate>Sun, 20 Jun 2010 07:33:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/post-ndc2010-thoughts-a-great-event/</guid><description>
&lt;p>What a great event the Norwegian Developers conference is. It is a nice size so there is a good selection of tracks, but no so big you feel lost, also the speakers and attendees were all mixing freely which I think always makes for a good atmosphere. This was all enhanced by the excellent organisation of the event, what can I say the wifi worked faultlessly, the food was good and the overflow screens (so from one place you could view the video and audio of any current sessions) was a brilliant idea, so much I know some people took to using this in preference to going to the actual session. You can see the overflow screens at the top of the photo below.&lt;/p></description></item><item><title>When roving what I hate most about windows mobile 6 is not knowing what connection it will try to use.</title><link>https://blogs.blackmarble.co.uk/rfennell/when-roving-what-i-hate-most-about-windows-mobile-6-is-not-knowing-what-connection-it-will-try-to-use/</link><pubDate>Thu, 17 Jun 2010 09:50:23 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/when-roving-what-i-hate-most-about-windows-mobile-6-is-not-knowing-what-connection-it-will-try-to-use/</guid><description>
&lt;p>When travelling aboard what I hate most about Windows Mobile 6 is that I have no idea if the phone is going to trying to use a local WiFi or 3G. Mobile Outlook seems the worst culprit, it loves 3G over everything else!.&lt;/p>
&lt;p>On mobile 6.5 there are just too many places where you might need set which data connection to use. This means, for fear if a nightmare phone bill, I tend not use us my phone for data. And just just don’t realise how much you use it at home until you are away.&lt;/p></description></item><item><title>All set for Olso – Off to NDC 2010</title><link>https://blogs.blackmarble.co.uk/rfennell/all-set-for-olso-off-to-ndc-2010/</link><pubDate>Tue, 15 Jun 2010 13:43:38 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/all-set-for-olso-off-to-ndc-2010/</guid><description>
&lt;p>I have sorted all the bits for my presentations so am ready for my trip to &lt;a href="http://www.ndc2010.no/">NDC 2010 in Olso&lt;/a> tomorrow. Really looking forward to it, the agenda looks great.&lt;/p></description></item><item><title>Video of my Microsoft Techdays session on Lab Management</title><link>https://blogs.blackmarble.co.uk/rfennell/video-of-my-microsoft-techdays-session-on-lab-management/</link><pubDate>Fri, 11 Jun 2010 15:15:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/video-of-my-microsoft-techdays-session-on-lab-management/</guid><description>
&lt;p>I had not checked the site for a while, but &lt;a href="http://www.microsoft.com/uk/techdays/resources.aspx">my Microsoft Techdays session on Lab Management is now available as a video&lt;/a>&lt;/p>
&lt;p>I cannt make it embed here, some Community Server issue I assume, so look for it on the developer track on the second day. It is called 'Putting some testing in your TFS build process&amp;quot;&lt;/p></description></item><item><title>How little do you have to do to run a VS/TFS2008 build on a TFS2010 server?</title><link>https://blogs.blackmarble.co.uk/rfennell/how-little-do-you-have-to-do-to-run-a-vstfs2008-build-on-a-tfs2010-server/</link><pubDate>Thu, 10 Jun 2010 17:10:09 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/how-little-do-you-have-to-do-to-run-a-vstfs2008-build-on-a-tfs2010-server/</guid><description>
&lt;p>As do many people I have a good number of TFS2008 style builds for legacy applications. I will, in the end, move these over to VS2010 and hence upgrade their build formats to the new 2010 workflow based one, but for now it would be nice to be able to run them with the minimum of effort. To this end I have done some work to see the minimum I can get away with to allow these builds to run, the aim being to leave the build box as close to a virgin TFS2010 one as possible.&lt;/p></description></item><item><title>TF31002: Altering the URL that your TFS 2010 Web Client uses to talk to the AT</title><link>https://blogs.blackmarble.co.uk/rfennell/tf31002-altering-the-url-that-your-tfs-2010-web-client-uses-to-talk-to-the-at/</link><pubDate>Wed, 09 Jun 2010 10:34:37 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/tf31002-altering-the-url-that-your-tfs-2010-web-client-uses-to-talk-to-the-at/</guid><description>
&lt;p>The Web Client for TFS 2010 (what was called Team System Web Access TSWA) is now installed as a core part of the Application Tier. It is no longer a separate install as it was in previous versions. This means it is easy to implement, it is just there by default. However, this can raise some problems if intend to expose to TFS AT via a firewall to the Internet, or use an alias for your TFS AT. This is because, by default, the Web Client uses it’s host server name as the AT name to connect to, it assumes the AT is local.&lt;/p></description></item><item><title>Thoughts on the BCS EGM</title><link>https://blogs.blackmarble.co.uk/rfennell/thoughts-on-the-bcs-egm/</link><pubDate>Sun, 06 Jun 2010 20:54:34 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/thoughts-on-the-bcs-egm/</guid><description>
&lt;p>I got the paperwork for the &lt;a href="http://yourfuture.bcs.org/server.php?show=nav.13831">British Computer Society EGM&lt;/a> this week. This EGA raises some interesting issues, the &lt;a href="http://www.computerweekly.com/blogs/read-all-about-it/2010/04/the-egm-debate-bcs-v-len-keigh.html">best overview of the issue I have found seems to be on the Computer Weekly site&lt;/a>.&lt;/p>
&lt;p>So has supporters of the EGM motion argument, led by former BCS trustee Len Keighley, any merit? Yes, it does. Enough to vote out the current BCS management and trustees? Well I am not so sure.&lt;/p>
&lt;p>I was a student member of the BCS in the late 80s, when I was working for a small PC and LAN dealership. It was not good experience, I left the BCS with a feeling they did not care for anything bar old mainframe style IT and had no interest in anything newer than the late 70’s.&lt;/p></description></item><item><title>Hanging Humax PVT9200T PVR</title><link>https://blogs.blackmarble.co.uk/rfennell/hanging-humax-pvt9200t-pvr/</link><pubDate>Sat, 05 Jun 2010 20:46:52 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/hanging-humax-pvt9200t-pvr/</guid><description>
&lt;p>Recently my Humax PVT9200T has started to hang. When I started it up, within a minute or two (usually much less) the picture froze. Prior to this it had been working fine for the six months I had owned it. This seems to be a &lt;a href="http://www.wirefresh.com/humax-pvt-9200t-pvr-problems-slow-performance-and-freezes/">common problem for the PVT9200T&lt;/a> of late, there is much &lt;a href="http://www.wirefresh.com/humax-freeview-pvr-issues-beta-fix-offered/">talk of a patch on the way&lt;/a>.&lt;/p>
&lt;p>For me the immediate solution seems to have been simpler; I just reset it to factory defaults and let it rescan the channels. It has now been working fine for a couple of days. Maybe this simple solution will help other owners of the PVT9200T&lt;/p></description></item><item><title>Can you mock out .NET extension methods with Typemock? – the answer is yes</title><link>https://blogs.blackmarble.co.uk/rfennell/can-you-mock-out-net-extension-methods-with-typemock-the-answer-is-yes/</link><pubDate>Sat, 05 Jun 2010 19:54:29 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/can-you-mock-out-net-extension-methods-with-typemock-the-answer-is-yes/</guid><description>
&lt;p>In &lt;a href="http://dddsouthwest.com/Agenda/tabid/55/Default.aspx">Kevin Jones’ session at today’s DDD South West on ‘Testing ASP.NET MVC Applications&lt;/a>’ the question was asked it it was possible to mock out .NET extension methods using any mocking frameworks. Kevin said did not think it could be done with Rhino Mocks, but thought it might be possible with Typemock.&lt;/p>
&lt;p>Given my experience with Typemock I could see no reason why you would not be able to fake an extension method with Typemock, though I had never had need to do it. A quick search when I got home provided this &lt;a href="http://bloggingabout.net/blogs/dennis/archive/2009/02/21/faking-extension-methods.aspx">post by Dennis van der Stelt which explains how to do it&lt;/a>. t is just as easy as you would expect.&lt;/p></description></item><item><title>Today’s DDD South West</title><link>https://blogs.blackmarble.co.uk/rfennell/todays-ddd-south-west/</link><pubDate>Sat, 05 Jun 2010 18:32:09 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/todays-ddd-south-west/</guid><description>
&lt;p>Thanks to everyone who turned up for my session at DDD South West, and to the organisers for putting the event on so well.&lt;/p>
&lt;p>As my session was basically a 1 hour demo of the testing tools in VS2010 there are no slides for me to upload, but if you have any questions ping me an email. I would say that for a good overview of the subject have a look at the book ‘&lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/archive/2010/05/17/looking-for-a-good-overview-of-visual-studio-2010-and-alm.aspx">Professional Application Lifecycle Management with Visual Studio 2010: with Team Foundation Server 2010&lt;/a>’&lt;/p></description></item><item><title>TF50609 error when creating a new team project in TFS 2010</title><link>https://blogs.blackmarble.co.uk/rfennell/tf50609-error-when-creating-a-new-team-project-in-tfs-2010/</link><pubDate>Fri, 04 Jun 2010 11:23:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/tf50609-error-when-creating-a-new-team-project-in-tfs-2010/</guid><description>
&lt;p>After upgrading a TFS 2010 RC server (which was previously upgraded from Beta1 to Beta2) to RTM I hit a problem when trying to create a new team project. The error I saw was&lt;/p>
&lt;p>&lt;em>Event Description: TF30162: Task &amp;quot;GroupCreation1&amp;quot; from Group &amp;quot;Groups&amp;quot; failed&lt;br>
Exception Type: Microsoft.TeamFoundation.Client.PcwException&lt;br>
Exception Message: TF50609: Unable to retrieve information for action ADMINISTER_TEST_ENVIRONMENTS, it does not exist.&lt;/em>&lt;/p>
&lt;p>A quick search shows this is a known problem with TFS 2010 Beta 1 to Beta 2 upgrades, strange it did not show itself on our servers until we when to RTM. &lt;a href="http://blogs.msdn.com/b/granth/archive/2009/08/31/tfs2010-replacing-beta1-process-templates-with-beta2-versions.aspx">Grant Holiday provides the solution for Beta 1 to Beta 2&lt;/a>, but the command line required for RTM is slightly different to the one he had to use. The fix involves using both the parts of this post, the TF50660 is a symptom of the underling TF237091 error&lt;/p></description></item><item><title>TF261007 error message when attaching a collection</title><link>https://blogs.blackmarble.co.uk/rfennell/tf261007-error-message-when-attaching-a-collection/</link><pubDate>Thu, 03 Jun 2010 09:22:16 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/tf261007-error-message-when-attaching-a-collection/</guid><description>
&lt;p>Whist moving Team Project Collections (TPC) from our old TFS2010 Beta/RC server to new production hardware I got a &lt;a href="http://blogs.infosupport.com/blogs/marcelv/archive/2010/03/19/tfs-2010-tf261007-error-message-when-attaching-a-collection.aspx">TF261007, exactly as detailed in Marcel de Vries post&lt;/a>. However, I was in the better position than he was as I still had full access to my original server, so I thought I could go back, re-attached the TPC on the old server, run the command&lt;/p>
&lt;blockquote>
&lt;p>&lt;em>tfsconfig lab /delete /collectionName:MyCollection /External&lt;/em>&lt;/p>&lt;/blockquote>
&lt;p>re-detach and all would be OK.&lt;/p></description></item><item><title>Speaking at the West Yorkshire BCS meeting on Agile Methods</title><link>https://blogs.blackmarble.co.uk/rfennell/speaking-at-the-west-yorkshire-bcs-meeting-on-agile-methods/</link><pubDate>Sat, 29 May 2010 09:56:11 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/speaking-at-the-west-yorkshire-bcs-meeting-on-agile-methods/</guid><description>
&lt;p>&lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/archive/2009/08/25/welcome-to-the-past-of-software-development.aspx">After my comments on the QDD session&lt;/a> at a past BCS meeting I have been asked to return and speak at the &lt;a href="http://www.westyorkshire.bcs.org/">West Yorkshire BCS&lt;/a> meeting on the 30th of June to give an overview about Agile methods.&lt;/p>
&lt;p>This will be very much a management overview for people who are unaware of Agile methods, hence I will touch on XP, Scrum, Crystal Clear and Kanban and try to compare and contrast.&lt;/p></description></item><item><title>Great book on Kanban</title><link>https://blogs.blackmarble.co.uk/rfennell/great-book-on-kanban/</link><pubDate>Sat, 29 May 2010 09:45:23 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/great-book-on-kanban/</guid><description>
&lt;p>I won’t bother to repeat what &lt;a href="http://gojko.net/2010/05/18/finally-an-authoritative-source-on-the-kanban-method/">Gojko has said&lt;/a> on &lt;a href="http://www.amazon.co.uk/Kanban-David-J-Anderson/dp/0984521402/ref=sr_1_1?ie=UTF8&amp;amp;s=books&amp;amp;qid=1275125846&amp;amp;sr=1-1">David J, Anderson’s book on Kanban&lt;/a>, other than to say I agree wholeheartedly.&lt;/p>
&lt;p>I too have been looking for a good introduction book on Kanban as applied to software development (so &lt;strong>K&lt;/strong>anban as opposed to kanban, not the capital K). This is exactly what with book does. OK I know that this information is out there on the web (&lt;a href="http://www.limitedwipsociety.org/" title="http://www.limitedwipsociety.org/">http://www.limitedwipsociety.org/&lt;/a>); but there times, especially for introducing potentially non technical people to development methodologies, where you want to point people at an easily accessible introduction they can dip into. This is that book, have a look it is worth it&lt;/p></description></item><item><title>Next Agile Yorkshire meeting is on the 8th of June on Agile BI Testing</title><link>https://blogs.blackmarble.co.uk/rfennell/next-agile-yorkshire-meeting-is-on-the-8th-of-june-on-agile-bi-testing/</link><pubDate>Wed, 26 May 2010 11:22:27 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/next-agile-yorkshire-meeting-is-on-the-8th-of-june-on-agile-bi-testing/</guid><description>
&lt;p>June’s Agile Yorkshire meeting is on the experiences of the BI development team at Skipton Building Society on bringing automated testing to data warehousing using Fitnesse and dbFit.&lt;/p>
&lt;p>For more details &lt;a href="http://www.agileyorkshire.org/event-announcements/08Jun2010">check out the Agile Yorkshire site&lt;/a>&lt;/p></description></item><item><title>Setting the display value in databound combo boxes on Access 2010 web forms</title><link>https://blogs.blackmarble.co.uk/rfennell/setting-the-display-value-in-databound-combo-boxes-on-access-2010-web-forms/</link><pubDate>Fri, 21 May 2010 10:13:16 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/setting-the-display-value-in-databound-combo-boxes-on-access-2010-web-forms/</guid><description>
&lt;p>When you drop a combo box on a Access 2010 web form and databind to a query or table with a value column and display column (e.g. the query select id, description from table1) you don’t get what you would expect. It shows just the value e.g. a set of integers in the combo.&lt;/p>
&lt;p>This is not the case if you are using a standard Access client form. the wizard that gets run sort it all out for you, and if it does not, you just set the ‘Bound Column’ property to sort it out.&lt;/p></description></item><item><title>More on my Vodafone 403 errors – an explanation at least</title><link>https://blogs.blackmarble.co.uk/rfennell/more-on-my-vodafone-403-errors-an-explanation-at-least/</link><pubDate>Fri, 21 May 2010 09:51:40 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/more-on-my-vodafone-403-errors-an-explanation-at-least/</guid><description>
&lt;p>The next chapter of &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/archive/2010/05/13/stupid-support-suggestions-from-vodafone-about-403-server-proxy-errors.aspx">the ongoing saga&lt;/a>. I had the 403 errors again today when using my phone as a modem to test out firewall. As I was in the office I had time to call Vodafone support. As expect I had to speak to a succession of people:&lt;/p>
&lt;ul>
&lt;li>Person 1 – call centre advisor, passed me straight onto ‘support’&lt;/li>
&lt;li>Person 2 – support advisor but seem lost when I spoke about web protocols, I think it was more ‘making a phone ring’ support&lt;/li>
&lt;li>Person 3 – 2nd line support, success, as soon as I explained my problem they said ‘yes that happens’.&lt;/li>
&lt;/ul>
&lt;p>The problem is down, as I had suspected, to congestion in their WAN network (not the 3G network, though the density of cells is a factor). When you try to use HTTP Vodafone route a request to their authentication server to see if your account is allow to connect to the site. By default they block a list of adult/premium web sites (this is service you have switched on or off with your account). The problem is at busy times this validation service is overloaded and so their systems get no response as to whether the site is allowed, so assume the site you asked for is restricted and gives the 403 error. Once this happens you seem to have to make new 3G data connection (reset the phone, move cell or let the connection time out) to get it to try again.&lt;/p></description></item><item><title>Agile Yorkshire moves to the 2nd Tuesday in the month</title><link>https://blogs.blackmarble.co.uk/rfennell/agile-yorkshire-moves-to-the-2nd-tuesday-in-the-month/</link><pubDate>Wed, 19 May 2010 14:38:29 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/agile-yorkshire-moves-to-the-2nd-tuesday-in-the-month/</guid><description>
&lt;p>Don’t be a muppet like me and turn up for an Agile Yorkshire meeting on the 2nd Wednesday of the month out of habit. Due to the move to the great new location of the &lt;a href="http://www.ntileeds.co.uk/find-us/">Old Broadcasting House&lt;/a> the regular date has had to moved to the 2nd Tuesday.&lt;/p>
&lt;p>Bit of a pain for me as I struggle to make Tuesdays.&lt;/p></description></item><item><title>Upgrading from Office 2010 RC to RTM</title><link>https://blogs.blackmarble.co.uk/rfennell/upgrading-from-office-2010-rc-to-rtm/</link><pubDate>Wed, 19 May 2010 09:25:23 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/upgrading-from-office-2010-rc-to-rtm/</guid><description>
&lt;p>I got this commonly seen version error when I tried to upgrade my RC version of Office 2010 to RTM&lt;/p>
&lt;p>Setup is unable to proceed due to the following error(s):&lt;br>
Microsoft Office 2010 does not support upgrading from a prerelease version of Microsoft Office 2010. You must first install any prerelease versions of Microsoft Office 2010 products and associated technologies. Correct the issue(s) listed above and re-run setup.&lt;/p>
&lt;p>I had already removed by RC Office and Visio. Turns out the problem was I had the Outlook Hotmail Connector (Beta) installed too. Once this was removed the install worked fine.&lt;/p></description></item><item><title>Looking for a good overview of Visual Studio 2010 and ALM?</title><link>https://blogs.blackmarble.co.uk/rfennell/looking-for-a-good-overview-of-visual-studio-2010-and-alm/</link><pubDate>Mon, 17 May 2010 19:09:35 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/looking-for-a-good-overview-of-visual-studio-2010-and-alm/</guid><description>
&lt;p>Visual Studio 2010 provides many new features to aid Application Lifecycle Management. Learning its capabilities can be a bit daunting, especially if you are new to Team Foundation Server.&lt;/p>
&lt;p>So enter the new book ‘&lt;a href="http://www.amazon.co.uk/gp/product/0470484268/ref=s9_simh_gw_p14_i1?pf_rd_m=A3P5ROKL5A1OLE&amp;amp;pf_rd_s=center-1&amp;amp;pf_rd_r=0FRJRHN25S0K5RY50YC5&amp;amp;pf_rd_t=101&amp;amp;pf_rd_p=467198433&amp;amp;pf_rd_i=468294">Professional Application Lifecycle Management with Visual Studio 2010: with Team Foundation Server 2010&lt;/a>’ by &lt;strong>Mickey Gousset, Brian Keller, Ajoy Krishnamoorthy and Martin Woodward&lt;/strong>. This provides a great overview of all the the key features of Visual Studio and TFS 2010, presented with a view as to how TFS gives an end to end delivery of an ALM process.&lt;/p></description></item><item><title>Notes from our TFS 2010 upgrade</title><link>https://blogs.blackmarble.co.uk/rfennell/notes-from-our-tfs-2010-upgrade/</link><pubDate>Mon, 17 May 2010 17:39:24 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/notes-from-our-tfs-2010-upgrade/</guid><description>
&lt;p>Got time today to start our proper internal TFS 2010 rollout. This involves linking up the new TFS to our SharePoint 2010 farm and merging in the contents from 2008 TFS and 2010 RC servers.&lt;/p>
&lt;p>All went fairly well, our SharePoint farm caused a few problems with its rather nice redirection feature. This  allows you to gradually move SharePoint content from an older server to a new one. A page is requested from the new server, if it is there it is used, if it is not the content on the old server is used. This caused a couple of problems during the install of TFS that content was not on the new SharePoint server so it redirected to the old one. However, the correct response was that the content was not there and TFS need to install or configure it. Once we realised this was going on there were no major issues with the TFS 2010 installation.&lt;/p></description></item><item><title>Stupid support suggestions from Vodafone about 403 server proxy errors</title><link>https://blogs.blackmarble.co.uk/rfennell/stupid-support-suggestions-from-vodafone-about-403-server-proxy-errors/</link><pubDate>Thu, 13 May 2010 19:45:52 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/stupid-support-suggestions-from-vodafone-about-403-server-proxy-errors/</guid><description>
&lt;p>&lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/archive/2010/03/08/getting-sick-of-seeing-the-vodafone-error-http-error-403-the-service-you-requested-is-restricted.aspx">A while ago I blogged about the problems I was having with 403 error when trying to use my HTC phone as a 3G modem or using Opera or IE on the phone itself&lt;/a>. When I initially complained Vodafone refunded my data fee for the month and said engineers were onto this known intermittent issue. No grief, Ok I did not want to see 403 errors but I was happy with the customer service, fast and no quibble.&lt;/p></description></item><item><title>TF237195 error when creating a new team project</title><link>https://blogs.blackmarble.co.uk/rfennell/tf237195-error-when-creating-a-new-team-project/</link><pubDate>Thu, 13 May 2010 19:14:07 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/tf237195-error-when-creating-a-new-team-project/</guid><description>
&lt;p>After upgrade TFS 2010 RC to RTM you might see a problem when you try to create a new team project. The creation fails with error:&lt;/p>
&lt;p>&lt;em>Module: Engine&lt;br>
Event Description: TF30162: Task &amp;quot;Queries&amp;quot; from Group &amp;quot;WorkItemTracking&amp;quot; failed&lt;br>
Exception Type: Microsoft.TeamFoundation.Client.PcwException&lt;br>
Exception Message: TF237195: The following user name is not supported: [SERVER]$$PROJECTCOLLECTIONADMINGROUP$$&lt;/em>&lt;/p>
&lt;p>The answer is simple, but I had missed it!&lt;/p>
&lt;p>Make sure that you are creating your new team project from a copy of the 2010 RTM version of Team Explorer. If you use the RC version you will see the error.&lt;/p></description></item><item><title>My article on Typemock Insider Blog</title><link>https://blogs.blackmarble.co.uk/rfennell/my-article-on-typemock-insider-blog/</link><pubDate>Tue, 11 May 2010 09:32:11 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/my-article-on-typemock-insider-blog/</guid><description>
&lt;p>I have an article posted on the &lt;a href="http://blog.typemock.com/2010/05/so-how-did-first-typemock-partner.html?utm_source=feedburner&amp;amp;utm_medium=feed&amp;amp;utm_campaign=Feed%3A&amp;#43;Typemock&amp;#43;%28The&amp;#43;Typemock&amp;#43;Insider%29">Typemock Insider blog&lt;/a> about the Typemock Academy I attended.&lt;/p></description></item><item><title>TFS 2010 RC –&amp;gt; RTM upgrade problem with the warehouse</title><link>https://blogs.blackmarble.co.uk/rfennell/tfs-2010-rc-rtm-upgrade-problem-with-the-warehouse/</link><pubDate>Mon, 10 May 2010 12:46:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/tfs-2010-rc-rtm-upgrade-problem-with-the-warehouse/</guid><description>
&lt;p>I recently did an in-place upgrade of a TFS 2010 RC  to RTM box. All appeared to be going fine, all the verification in the upgrade wizard passed, but when I hit configure the first step failed. It said there was a missing  dbo.sysobjects in the warehouse DB. I then had to resort the configuration DB as it was partly upgraded to try again as the DB was left partially upgraded.&lt;/p></description></item><item><title>TF246064 upgrading TFS 2010RC to RTM</title><link>https://blogs.blackmarble.co.uk/rfennell/tf246064-upgrading-tfs-2010rc-to-rtm/</link><pubDate>Tue, 04 May 2010 10:53:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/tf246064-upgrading-tfs-2010rc-to-rtm/</guid><description>
&lt;p>I have a basic installation of TFS 2010 running on my Windows 7 laptop. This is really useful for testing build customisation and the like, a great new feature for 2010. Today I got around to trying to upgrade it from RC to RTM, but on the verification test I got the error&lt;/p>
&lt;p>&lt;em>[ Configuration Database ] TF255407: An error occurred while attempting to validate the configuration database. Error message: TF246064: No database could be found for the following host: TestCollection. The host has the following ID: eaf3c572-8657-4268-9852-3d73a799cdf5. To fix this problem, use the TFSConfig RemapDBs command-line tool and make sure that you specify the SQL Server instance that contains this database.&lt;/em>&lt;/p></description></item><item><title>Slides from my Typemock Academy session</title><link>https://blogs.blackmarble.co.uk/rfennell/slides-from-my-typemock-academy-session/</link><pubDate>Tue, 27 Apr 2010 14:34:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/slides-from-my-typemock-academy-session/</guid><description>
&lt;p>A PDF version of my slides for my session at the Typemock Academy on SharePoint testing with Typemock are available &lt;a href="http://www.blackmarble.co.uk/ConferencePapers/2010/Typemock%20Academy%20Oslo%20-%20Increasing%20quality%20and%20reducing%20development%20time%20for%20SharePoint%20Webparts.pdf">on the Black Marble site&lt;/a>.&lt;/p></description></item><item><title>Busy week, off to see Typemock in Oslo</title><link>https://blogs.blackmarble.co.uk/rfennell/busy-week-off-to-see-typemock-in-oslo/</link><pubDate>Sun, 25 Apr 2010 19:47:21 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/busy-week-off-to-see-typemock-in-oslo/</guid><description>
&lt;p>I am off to Oslo, for the first time, for the &lt;a href="http://site.typemock.com/typemock-academy">Typemock Academy&lt;/a> this week. The event has managed to survive the disruption of the Icelandic volcano.&lt;/p>
&lt;p>A great chance to meet a pile of people I have only spoken toon the phone or via email in the past. Looking forward to it.&lt;/p></description></item><item><title>Mocking Sharepoint for Testing</title><link>https://blogs.blackmarble.co.uk/rfennell/mocking-sharepoint-for-testing/</link><pubDate>Thu, 22 Apr 2010 10:47:32 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/mocking-sharepoint-for-testing/</guid><description>
&lt;p>In my &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/archive/2010/04/22/mocking-sharepoint-for-design-with-typemock-isolator.aspx">previous post&lt;/a> I talked about using Isolator to mock Sharepoint to aid the speed of the development process. I find this a productive way of working, but it does not really help in the realm of automated testing. You need a way to programmatically explore a webpart, preferably outside of SharePoint to check its correctness.&lt;/p>
&lt;p>You could use the methods in my previous post and some form of automated web test, but this does mean you need to spin up a web server of some descriptions (IIS, Cassini etc. and deploy to it) An alternative is look at the &lt;a href="http://www.sm-art.biz/Ivonna.aspx">Typmock addin Ivonna&lt;/a>. This a creates a fake web server to load you page and tools to explore it.&lt;/p></description></item><item><title>Mocking Sharepoint for Design with Typemock Isolator</title><link>https://blogs.blackmarble.co.uk/rfennell/mocking-sharepoint-for-design-with-typemock-isolator/</link><pubDate>Thu, 22 Apr 2010 09:39:16 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/mocking-sharepoint-for-design-with-typemock-isolator/</guid><description>
&lt;p>I have found the most productive use of Typemock Isolator with SharePoint is to use it to reduce the time of the F5 cycle (build/deploy/use). If you are using a VPC of some type to do your SharePoint development, as many do, this process can easily take a couple minutes, and these minutes add up.&lt;/p>
&lt;p>In my experience webparts usually make fairly simple use of the underlying SharePoint site, by this I mean that they get some data from an SPList(s) or remote data source and render in some way. Or the reverse, they gather data that they drop to an SPLits(s) or remote data source.&lt;/p></description></item><item><title>Post SharePoint Evolution thoughts</title><link>https://blogs.blackmarble.co.uk/rfennell/post-sharepoint-evolution-thoughts/</link><pubDate>Wed, 21 Apr 2010 16:01:36 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/post-sharepoint-evolution-thoughts/</guid><description>
&lt;p>I am on the way home from my whistle stop visit to the &lt;a href="http://www.sharepointevolutionconference.com/">SharePoint Evolution conference&lt;/a>. I must say congratulations to the organisers for putting on such a successful event given all the problems they have had related to speakers and air travel, well done.&lt;/p>
&lt;p>My slides, on Testing Webparts with Typemock, will appear on the conference site soon, but I thought it a good idea to link here to previous posts I have done on the subject. Imaging how surprised I was to realise to find I never wrote them! If you search my blog you will find links to older versions of today's slide stack, but no coding samples.&lt;/p></description></item><item><title>Speaking at Developer Day South West</title><link>https://blogs.blackmarble.co.uk/rfennell/speaking-at-developer-day-south-west/</link><pubDate>Fri, 16 Apr 2010 14:03:22 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/speaking-at-developer-day-south-west/</guid><description>
&lt;p>I have just heard I will be speaking at Developer Day South West on June the 5th. My subject is &lt;strong>Using the new Developer and Test features of VS 2010 to track down and fix bugs,&lt;/strong> this is basically the same session as I have at our TechDays fringe event yesterday.&lt;/p>
&lt;p>Hope to see you there&lt;/p>
&lt;p>&lt;a href="http://dddsouthwest.com/">
&lt;img
loading="lazy"
decoding="async"
alt="DDDSouthWest2BadgeSmall[1]"
class="image_figure image_external image_unprocessed"
src="http://blogs.blackmarble.co.uk/blogs/rfennell/DDDSouthWest2BadgeSmall1_1F0950EA.png"
title="DDDSouthWest2BadgeSmall[1]"
/>
&lt;/a>&lt;/p></description></item><item><title>Todays #UKTechDays Leeds Fringe event</title><link>https://blogs.blackmarble.co.uk/rfennell/todays-uktechdays-leeds-fringe-event/</link><pubDate>Thu, 15 Apr 2010 13:28:30 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/todays-uktechdays-leeds-fringe-event/</guid><description>
&lt;p>Thanks to everyone who turned up for Matt Nunn’s and my sessions in Leeds today. All seemed to go well and were well received.&lt;/p>
&lt;p>As my slide stack consisted of a a welcome screen and an agenda I don’t really see the point of posting them on web. If you want to see the end to end story of VS2010 ALM I would suggest looking at the &lt;a href="http://channel9.msdn.com/shows/VS2010Launch/">video’s on Channel 9&lt;/a>.&lt;/p></description></item><item><title>Video of MVP at Microsoft Techdays events</title><link>https://blogs.blackmarble.co.uk/rfennell/video-of-mvp-at-microsoft-techdays-events/</link><pubDate>Thu, 15 Apr 2010 13:19:52 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/video-of-mvp-at-microsoft-techdays-events/</guid><description>
&lt;p>Whist at the the UK Techdays I did a video with &lt;a href="http://www.robmiles.com">Rob Miles&lt;/a>. &lt;a href="http://blogs.msdn.com/mvpawardprogram/archive/2010/04/15/watch-mvps-help-lauch-visual-studio-2010.aspx">You an see the results here, we are near the end.&lt;/a>&lt;/p>
&lt;p>A full video of my session should be available on the Microsoft UK Techdays site soon&lt;/p></description></item><item><title>Useful tool to move Reporting Services reports between servers</title><link>https://blogs.blackmarble.co.uk/rfennell/useful-tool-to-move-reporting-services-reports-between-servers/</link><pubDate>Wed, 14 Apr 2010 13:44:47 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/useful-tool-to-move-reporting-services-reports-between-servers/</guid><description>
&lt;p>When you are moving TFS contents around between servers, as many people will be doing as they implement new 2010 servers and want to make use of Team Project Collections; you often have to move Reporting Services reports. In many cases you find people have lost their customised .RDL files they uploaded in the first place, and don’t want to restore the whole Reporting Services DB.&lt;/p>
&lt;p>So how to extract an RDL file from a Reporting Services instance and moving it to a new Reporting Services instance?&lt;/p></description></item><item><title>Speaking at the Typemock Academy in Olso in a couple of weeks</title><link>https://blogs.blackmarble.co.uk/rfennell/speaking-at-the-typemock-academy-in-olso-in-a-couple-of-weeks/</link><pubDate>Wed, 14 Apr 2010 11:54:47 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/speaking-at-the-typemock-academy-in-olso-in-a-couple-of-weeks/</guid><description>
&lt;p>I am really pleased to say I will be speaking at the &lt;a href="http://site.typemock.com/typemock-academy">first Typemock Partner Academy&lt;/a> in Olso the week after next. I will be talking about using how we at Black Marble have used Isolator to improve the speed and quality of our SharePoint development.&lt;/p></description></item><item><title>Follow up on my TechDays Lab Management session about the cost.</title><link>https://blogs.blackmarble.co.uk/rfennell/follow-up-on-my-techdays-lab-management-session-about-the-cost/</link><pubDate>Tue, 13 Apr 2010 20:09:02 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/follow-up-on-my-techdays-lab-management-session-about-the-cost/</guid><description>
&lt;p>I have seen &lt;a href="http://twitter.com/#search?q=%23uktechdays%20lab">a few tweets&lt;/a> after my Techdays session on Lab Management that it sounded expensive. It is true that Lab Management is an extra license to purchase over and above Visual Studio. However under the new licensing model for VS you have to remember that as an MSDN subscriber you are already licensed for a TFS CAL and Server and if you have VS2010 Ultimate you are licensed for the Test Professional tools. With this collection of tools you can do much of the bits I showed in my session:&lt;/p></description></item><item><title>Goodbye Team System hello Visual Studio ALM</title><link>https://blogs.blackmarble.co.uk/rfennell/goodbye-team-system-hello-visual-studio-alm/</link><pubDate>Tue, 13 Apr 2010 08:44:01 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/goodbye-team-system-hello-visual-studio-alm/</guid><description>
&lt;p>Now that &lt;a href="http://weblogs.asp.net/scottgu/archive/2010/04/12/visual-studio-2010-and-net-4-released.aspx">VS2010 has launched&lt;/a> the branding of ‘Team System’ has gone; so I am no longer a MVP (Team System) but a MVP (Visual Studio ALM).&lt;/p></description></item><item><title>Down in London for TechDays</title><link>https://blogs.blackmarble.co.uk/rfennell/down-in-london-for-techdays/</link><pubDate>Mon, 12 Apr 2010 17:42:44 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/down-in-london-for-techdays/</guid><description>
&lt;p>I am down in London for the first two days of the Microsoft TechDays event. First day has been very interesting, there seems to be a good buzz over the new testing features. So it looks good for my session tomorrow when I will be presenting on Lab Manager hope to see you there.&lt;/p></description></item><item><title>Error running Ivonna tests with ASP.NET 4</title><link>https://blogs.blackmarble.co.uk/rfennell/error-running-ivonna-tests-with-asp-net-4/</link><pubDate>Mon, 12 Apr 2010 17:26:19 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/error-running-ivonna-tests-with-asp-net-4/</guid><description>
&lt;p>When I tried to run a working Ivonna test, previously targeted at .NET 3.5, against .NET 4 I found my test failing with the error&lt;/p>
&lt;p>------ Test started: Assembly: Webpart.Tests.dll ------&lt;/p>
&lt;html>&lt;body>Bad Request&lt;/body>&lt;/html>
Setup information
Physical Web path: C:ProjectsTestTypeMockSampleTestWebSite
Actual path: C:UsersfezAppDataLocalTempTemporary ASP.NET Filesroot156567f2
&lt;p>Turns out that the fix to simple, you have to use an absolute path i.e. the / in front of the BasicTest.aspx is vital&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="ln">1&lt;/span>&lt;span class="cl">\[TestMethod, Isolated\]
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;pre>&lt;code> public void LoadWebPage\_HelloWorldWebPart\_NoError()
&lt;/code>&lt;/pre>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="ln">1&lt;/span>&lt;span class="cl"> {
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;pre>&lt;code> TestSession session = new TestSession(); //Start each test with this
&lt;/code>&lt;/pre>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="ln">1&lt;/span>&lt;span class="cl"> WebRequest request = new WebRequest(&amp;#34;/BasicTest.aspx&amp;#34;); //Create a WebRequest object
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;pre>&lt;code> WebResponse response = session.ProcessRequest(request); //Process the request
&lt;/code>&lt;/pre>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="ln">1&lt;/span>&lt;span class="cl"> System.Web.UI.Page page = response.Page;
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;pre>&lt;code> //Check the page loaded
&lt;/code>&lt;/pre>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="ln">1&lt;/span>&lt;span class="cl"> Assert.IsNotNull(page);
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;pre>&lt;code> }
&lt;/code>&lt;/pre>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="ln">1&lt;/span>&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">2&lt;/span>&lt;span class="cl">So this is a temporary work around for now, for me it is not an issue having to use a absolute path. I understand from the [writer of Ivonna](http://www.sm-art.biz/Ivonna.aspx) that this issue will be further investigated now that .NET 4.0 has RTM’d
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div></description></item><item><title>Experiences upgrading to Lab Manager 2010 RC</title><link>https://blogs.blackmarble.co.uk/rfennell/experiences-upgrading-to-lab-manager-2010-rc/</link><pubDate>Thu, 01 Apr 2010 21:49:31 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/experiences-upgrading-to-lab-manager-2010-rc/</guid><description>
&lt;p>Whilst preparing for my session at &lt;a href="http://www.microsoft.com/uk/techdays/daydev.aspx">Techdays&lt;/a> I have upgraded &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/archive/2010/02/05/at-last-my-creature-it-lives.aspx">my 2010 Beta2 Lab Manager&lt;/a> to RC. I am pleased to say &lt;a href="http://blogs.msdn.com/lab_management/archive/2010/02/08/lab-management-2010-beta2-to-rc-upgrade-guide.aspx">the process&lt;/a> is far more straight forward than the initial install. Again I used the Lab Manager team blog as my guide, they have revised ‘Getting started with Lab Management 2010 RC’ Parts &lt;a href="http://blogs.msdn.com/lab_management/archive/2010/02/16/getting-started-with-lab-management-vs2010-rc-part-1.aspx">1&lt;/a>, &lt;a href="http://blogs.msdn.com/lab_management/archive/2010/02/16/getting-started-with-lab-management-vs2010-rc-part-2.aspx">2&lt;/a> ,&lt;a href="http://blogs.msdn.com/lab_management/archive/2010/02/16/getting-started-with-lab-management-vs2010-rc-part-3.aspx">3&lt;/a> and &lt;a href="http://blogs.msdn.com/lab_management/archive/2010/02/16/getting-started-with-lab-management-vs2010-rc-part-4.aspx">4&lt;/a> posts to help.&lt;/p>
&lt;p>I was able to skip through the initial OS/VMM setup as this has not altered. I chose to throw away my TestVM (with its Beta agents) and create a new one. I upgraded my TFS 2010 instance to RC. The only awkward bit was that I had to extract the RC version of the Lab Build Template from a newly created RC Team Project Collection and load it over my existing Beta2 version. I then recreated the Lab E2E build – and it just worked. My basic sample created for Beta2 build and tested OK.&lt;/p></description></item><item><title>Post AIC 2010 Thoughts</title><link>https://blogs.blackmarble.co.uk/rfennell/post-aic-2010-thoughts/</link><pubDate>Thu, 01 Apr 2010 17:52:36 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/post-aic-2010-thoughts/</guid><description>
&lt;p>I was at the &lt;a href="http://msdn.microsoft.com/en-gb/architecture/ee959240.aspx">AIC 2010 conference yesterday&lt;/a>, which I enjoyed &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/archive/2009/05/09/a-day-at-the-architect-insight-conference.aspx">more than last year&lt;/a>. The most interesting session was &lt;a href="http://en.wikipedia.org/wiki/Ivar_Jacobson">Ivar Jacobson&lt;/a>. He discussed how immature our industry is, with its disjoint between software engineers and academic computer scientists. Something &lt;a href="http://blogs.blackmarble.co.uk/blogs/bm-bloggers/pages/232.aspx">I have commented on before when discussing if our industry should be licensed.&lt;/a>&lt;/p>
&lt;p>He discussed how we need to build our industry upon commonly agreed kernel of simple best practice activities, not upon some currently fashionable process whether it be Waterfall, CMMI, Agile, Lean etc. We must identify what are the best practices from all process (and all processes have something to offer) and teach them to students at University as this kernel of activities, as well as teaching how to compose them into more complex practices and hence whole development processes. Thus providing new entries to our industry with the base of reusable techniques that the can use for their whole career, irrespective of fashion. The key idea being that any current process model can be build by composing these kernel of basic activity.&lt;/p></description></item><item><title>Running Fitnesse.NET tests using MSTest - Revisited</title><link>https://blogs.blackmarble.co.uk/rfennell/running-fitnesse-net-tests-using-mstest-revisited/</link><pubDate>Mon, 29 Mar 2010 21:35:41 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/running-fitnesse-net-tests-using-mstest-revisited/</guid><description>
&lt;p>In 2008 I wrote a post &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/archive/2008/07/18/running-fitnesse-net-tests-using-mstest.aspx">Running Fitnesse.NET tests using MSTest&lt;/a>.  Recently I had need to us this technique on a VS2010 project, and as is so often the issue the code that worked then does not seem to work now. All I can assume is that the Fitnesse API had altered, but I thought I was using the same assemblies!&lt;/p>
&lt;p>So I pulled down the code from &lt;a href="http://sourceforge.net/projects/fitnessedotnet/" title="http://sourceforge.net/projects/fitnessedotnet/">http://sourceforge.net/projects/fitnessedotnet/&lt;/a> and had a poke about. Basically I seemed to be using the command line switches wrong. The listing below shows what I found is the working usage:&lt;/p></description></item><item><title>TF30046 Error when trying to create new team project collection using an existing empty DB</title><link>https://blogs.blackmarble.co.uk/rfennell/tf30046-error-when-trying-to-create-new-team-project-collection-using-an-existing-empty-db/</link><pubDate>Mon, 29 Mar 2010 15:05:43 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/tf30046-error-when-trying-to-create-new-team-project-collection-using-an-existing-empty-db/</guid><description>
&lt;p>&lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/archive/2010/03/25/tfs-2010-database-label-not-use-for-team-project-collection-dbs.aspx">I my previous post I discussed how the DB label was not used for TPC Dbs in 2010&lt;/a>. As I was working on a setup where a central SQL box was the DT for two virtualised TFS AT instances, I therefore needed to create my TPC databases manually if I wanted TPCs of the same name on each TFS instance.&lt;/p>
&lt;p>I won’t go over the [old post again](I had to create a TPC Dbs manually ), but in essence I was trying to create a TPC with the name &lt;strong>ABC&lt;/strong> on a TFS instance with a database label of &lt;strong>RC&lt;/strong>. So I tried to create the DB &lt;strong>TFS_RC_ABC&lt;/strong> manually and pointed the TPC create process at this. It passed the verify but I then got a&lt;/p></description></item><item><title>And finally my personal domains</title><link>https://blogs.blackmarble.co.uk/rfennell/and-finally-my-personal-domains/</link><pubDate>Mon, 29 Mar 2010 14:59:10 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/and-finally-my-personal-domains/</guid><description>
&lt;p>&lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/default.aspx">When I said will our internet bits were back&lt;/a> I was not quite right. I had forgotten that I had not re-pointed m own richardfennell domains to put to my blog. These are now done, so I hope all search results to my blog should resolve OK.&lt;/p></description></item><item><title>Mixed mode assembly is built against version 'v2.0.50727' error using .NET 4 Development Web Server</title><link>https://blogs.blackmarble.co.uk/rfennell/mixed-mode-assembly-is-built-against-version-v2-0-50727-error-using-net-4-development-web-server/</link><pubDate>Sat, 27 Mar 2010 12:38:45 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/mixed-mode-assembly-is-built-against-version-v2-0-50727-error-using-net-4-development-web-server/</guid><description>
&lt;p>If your application has a dependency on an assembly built in .NET 2 you will see the error below if you try to run your application when it has been built in.NET 4.&lt;/p>
&lt;p>&lt;em>&lt;strong>Mixed mode assembly is built against version 'v2.0.50727' of the runtime and cannot be loaded in the 4.0 runtime without additional configuration information.&lt;/strong>&lt;/em>&lt;/p>
&lt;p>This can be important in VS2010 testing, as test projects must be built as .NET 4, there is no option to build with an older runtime. I suffered this problem when trying to do some development where I hosted a &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/archive/2010/03/25/a-fix-to-run-typemock-isolator-inside-the-page-load-for-an-aspx-page-on-vs2010-net4.aspx">webpart that make calls into SharePoint (that was faked out with Typemock Isolator) inside a ASP.NET 4.0 test harness&lt;/a>&lt;/p></description></item><item><title>TFS 2010 Database Label not use for Team Project Collection DBs</title><link>https://blogs.blackmarble.co.uk/rfennell/tfs-2010-database-label-not-use-for-team-project-collection-dbs/</link><pubDate>Thu, 25 Mar 2010 17:54:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/tfs-2010-database-label-not-use-for-team-project-collection-dbs/</guid><description>
&lt;p>Found out something I did not know today, the TFS 2010 database label is only used for the server’s own primary configuration databases not for the DBs for the TPC it creates.&lt;/p>
&lt;p>For example on a 2010 RC install with the database label was set to &lt;strong>RC&lt;/strong> during the installation. When I try to create a new TPC (called ABC) it tries to create a Db named &lt;strong>TFS_ABC,&lt;/strong> even though the database label for TFS server can be seen to &lt;strong>TFS_RC_&lt;/strong>  on the admin console and the instance’s primary databases are called &lt;strong>TFS_RC_Configuration, TFS_RC_Warehouse&lt;/strong> and &lt;strong>TFS_RC_Analysis&lt;/strong>.&lt;/p></description></item><item><title>Announcing Typemock TMockRunner Custom Activity for Team Build 2010</title><link>https://blogs.blackmarble.co.uk/rfennell/announcing-typemock-tmockrunner-custom-activity-for-team-build-2010/</link><pubDate>Thu, 25 Mar 2010 17:18:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/announcing-typemock-tmockrunner-custom-activity-for-team-build-2010/</guid><description>
&lt;p>My &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/archive/2010/03/08/lessons-learnt-building-a-custom-activity-to-run-typemock-isolator-in-vs2010-team-build.aspx">Team Build 2010 custom activity for Typemock Isolator&lt;/a> is now available at &lt;a href="http://site.typemock.com/add-ons/" title="http://site.typemock.com/add-ons/">http://site.typemock.com/add-ons/&lt;/a>.&lt;/p>
&lt;p>It is packaged as a &lt;a href="http://www.typemock.com/files/Addons/VS2010%20TypemockBuildActivity%201.0.0.0.zip">zip&lt;/a> which include all the source and a compiled assembly as well a document detailing usage and why the solution is constructed as it is.&lt;/p>
&lt;p>Hope you find it useful&lt;/p></description></item><item><title>A fix to run Typemock Isolator inside the Page_Load for an ASPX page on VS2010/.NET4</title><link>https://blogs.blackmarble.co.uk/rfennell/a-fix-to-run-typemock-isolator-inside-the-page_load-for-an-aspx-page-on-vs2010-net4/</link><pubDate>Thu, 25 Mar 2010 15:23:29 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/a-fix-to-run-typemock-isolator-inside-the-page_load-for-an-aspx-page-on-vs2010-net4/</guid><description>
&lt;p>I recently tried to use Typemock Isolator inside a ASP.NET page load event, to fake out some SharePoint SPLists e.g.&lt;/p>
&lt;blockquote>
&lt;p>protected void Page_Load(object sender, EventArgs e)&lt;br>
{&lt;br>
     SPSite fakeSite = Isolate.Fake.Instance&lt;SPSite>();&lt;br>
     ……..&lt;br>
}&lt;/p>&lt;/blockquote>
&lt;p>This has worked in the past but using VS2010RC and Isolator 6.0.1.0 it failed.&lt;/p>
&lt;ul>
&lt;li>If running VS2010 as Admin I got the error &lt;em>&amp;quot;Could not load file or assembly 'TypeMock, Version=0.12900.25133.13153, Culture=neutral, PublicKeyToken=37342d316331342d' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)&amp;quot;:&amp;quot;TypeMock, Version=0.12900.25133.13153, Culture=neutral, PublicKeyToken=37342d316331342d&amp;quot;}&amp;quot;&lt;/em>&lt;/li>
&lt;li>If running as a non admin user I got the error &lt;em>&amp;quot;Attempted to read or write protected memory. This is often an indication that other memory is corrupt.&amp;quot;&lt;/em>&lt;/li>
&lt;/ul>
&lt;p>Typemock Support told me that I needed to edit the Typemock Isolator’s &lt;strong>namespaces.dat&lt;/strong> file (in its programs directory), this is the file that lists valid test runners. I needed to add &lt;strong>WebDev.WebServer40.exe&lt;/strong> to this file as this is program that makes the call to Isolator to do the faking.&lt;/p></description></item><item><title>Internet problems should be over</title><link>https://blogs.blackmarble.co.uk/rfennell/internet-problems-should-be-over/</link><pubDate>Thu, 25 Mar 2010 07:10:29 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/internet-problems-should-be-over/</guid><description>
&lt;p>Our new Internet line has now been commissioned fully and hopefully any problems you may have had accessing my blog via the blackmarble.com or co.uk domains should be over.&lt;/p></description></item><item><title>TF254024 error when upgrading TFS 2010 Beta2 to RC</title><link>https://blogs.blackmarble.co.uk/rfennell/tf254024-error-when-upgrading-tfs-2010-beta2-to-rc/</link><pubDate>Wed, 24 Mar 2010 14:04:43 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/tf254024-error-when-upgrading-tfs-2010-beta2-to-rc/</guid><description>
&lt;p>Whilst upgrading a single server instance of TFS 2010 Beta2 to the RC I got a TF254024 error. This occurred at the point in the upgrade wizard where it tries to list the databases available to upgrade.&lt;/p>
&lt;p>The reason for the error was the account I was logged in as (the domain administrator in my case) did not have rights on the SQL instance to see any TFS DBs. Once this was sorted, by granting owner rights to all the TFS DBs, all was OK.&lt;/p></description></item><item><title>Speaking at NDC in Oslo in June</title><link>https://blogs.blackmarble.co.uk/rfennell/speaking-at-ndc-in-oslo-in-june/</link><pubDate>Mon, 22 Mar 2010 09:55:01 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/speaking-at-ndc-in-oslo-in-june/</guid><description>
&lt;p>&lt;em>Updated 25th Mar when I found I have three sessions&lt;/em>&lt;/p>
&lt;p>I have just heard that I had two three sessions accepted for the &lt;a href="http://www.ndc2010.no">Norwegian Developers Conference&lt;/a>. They are:&lt;/p>
&lt;ul>
&lt;li>&lt;strong>Putting Some Testing Into Your TFS Build&lt;/strong> &lt;/li>
&lt;li>&lt;strong>Making Manual Testing a Part of Your Development Process&lt;/strong>&lt;/li>
&lt;li>&lt;strong>Developing Testable Web Parts for SharePoint.&lt;/strong>&lt;/li>
&lt;/ul>
&lt;p>So off to Oslo, never been there before, looking forward to it already&lt;/p>
&lt;p>&lt;a href="http://www.ndc2010.no">
&lt;img
loading="lazy"
decoding="async"
alt="clip_image002"
class="image_figure image_external image_unprocessed"
src="http://blogs.blackmarble.co.uk/blogs/rfennell/clip_image002_46962510.gif"
title="clip_image002"
/>
&lt;/a>&lt;/p></description></item><item><title>VHD boot and c00002e2 Errors</title><link>https://blogs.blackmarble.co.uk/rfennell/vhd-boot-and-c00002e2-errors/</link><pubDate>Thu, 18 Mar 2010 19:58:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/vhd-boot-and-c00002e2-errors/</guid><description>
&lt;p>For some reason that is beyond me now I did not setup my &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/archive/2010/02/05/at-last-my-creature-it-lives.aspx">Lab Manager test system&lt;/a> to be a VHD boot. So before installing the 2010 RC version I decided to P2V this system (on the same hardware) to make backups easier whilst testing. All seemed to go well&lt;/p>
&lt;ol>
&lt;li>I used IMAGEX to create a WIM of the disk&lt;/li>
&lt;li>Created an empty VHD&lt;/li>
&lt;li>Used IMAGEX to apply the WIM to the VHD&lt;/li>
&lt;li>Formatted the PC with a default Windows 7 install&lt;/li>
&lt;li>Added a VHD boot Windows Server 2008R2 to the PC, tested this all booted OK&lt;/li>
&lt;li>Replaced the test VHD with my own and rebooted&lt;/li>
&lt;/ol>
&lt;p>…. and it just went into a reboot cycle. Pressing F8 and stopping the reboot on error I saw I had a “c00002e2 Directory Services could not start” error. I managed to get into the PC by pressing F8 and using the AD recovery mode (safe mode did not work). After much fiddling around I eventually noticed that my boot drive was drive D: not C: as I would have expected. My VHD and parent drive had reversed letter assignments. So when the AD services tried to start they look on the parent Windows 7 partition (C:) for their data and hence failed.&lt;/p></description></item><item><title>NEBytes last night</title><link>https://blogs.blackmarble.co.uk/rfennell/nebytes-last-night/</link><pubDate>Thu, 18 Mar 2010 08:24:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/nebytes-last-night/</guid><description>
&lt;p>Hope everyone enjoyed my session VS2010 at NEBytes last night. I don't now about you but I think that quick end to end demo of build, manual test and Intellitrace debug work very nicely. That was the first time I have done it as a single demo and I think it works better than three smaller ones. Truely shows the intergrated team store for VS2010&lt;/p>
&lt;p>Anyway as the session was demo lead there are no slides to download, but if you have follow up questions post a comment on this post or email me&lt;/p></description></item><item><title>Speaking at NEBytes tomorrow</title><link>https://blogs.blackmarble.co.uk/rfennell/speaking-at-nebytes-tomorrow/</link><pubDate>Tue, 16 Mar 2010 10:43:48 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/speaking-at-nebytes-tomorrow/</guid><description>
&lt;p>Just a reminder &lt;a href="http://www.nebytes.net/page/events.aspx">I am speaking at NEBytes in Newcastle&lt;/a> tomorrow on the new features of VS2010. I will be covering project management, architect, dev and test features so something there for everyone.&lt;/p></description></item><item><title>Cannot access TFS over HTTPS after upgrade from 2010 Beta 2 to RC</title><link>https://blogs.blackmarble.co.uk/rfennell/cannot-access-tfs-over-https-after-upgrade-from-2010-beta-2-to-rc/</link><pubDate>Mon, 15 Mar 2010 13:13:02 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/cannot-access-tfs-over-https-after-upgrade-from-2010-beta-2-to-rc/</guid><description>
&lt;p>I upgraded our Beta2 2010 TFS last week, and after a quick local test all appeared to be working OK, so I rushed out the office like you do. However, whilst I have been out the office it was spotted that though it was working within the office using HTTP and the NETBIOSDomain server name (&lt;strong>TFSSERVER)&lt;/strong> it could not be accessed outside the firewall or over HTTPS inside the office, so &lt;strong>&lt;a href="https://tfsserver.mydomain.com:8443/tfs">https://tfsserver.mydomain.com:8443/tfs&lt;/a>&lt;/strong> did not work&lt;/p></description></item><item><title>Post QCon thoughts</title><link>https://blogs.blackmarble.co.uk/rfennell/post-qcon-thoughts/</link><pubDate>Sat, 13 Mar 2010 12:10:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/post-qcon-thoughts/</guid><description>
&lt;p>Interesting time at &lt;a href="http://qconlondon.com/london-2010/">QCon&lt;/a> yesterday,  shame I was only there one day, I do like the events that are not limited to a single vendor or technology. The multi presenter session I was involved in on &lt;a href="http://qconlondon.com/london-2010/presentation/The&amp;#43;Interoperable&amp;#43;Platform">Microsoft interoperability&lt;/a> seemed to go well, there is talk of repeating at other events or podcasting. It is a nice format if you can get the sub-sessions linking nicely, like themed grok talks. &lt;/p>
&lt;p>Due to chatting to people (but that why you go really isn't it?), I only managed to get to one other session, but I was the one I wanted to see, &lt;a href="http://weblogs.asp.net/rosherove/">Roy Osherove’s&lt;/a> on using &lt;a href="http://www.codeplex.com/CThru">CThru to enable testing of monolithic frameworks such as Silverlight&lt;/a>. It got a few things clearer in my mind over using CThu, &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/archive/2009/06/22/logging-everything-that-is-going-on-when-an-assembly-loads-using-cthru.aspx">a tool I have tried to use in the past but not had as much success as I hoped&lt;/a>. So I think I will have another go at trying to build a SharePoint workflow testing framework, the problem has rested on the back burner too long. I think I just need to persist longer in digging to the eventing model to see why my workflows under test do not start. Roy’s comment that there is no short cut for this type of problem to avoid an archaeological excavation into the framework under test, I think is the key here.&lt;/p></description></item><item><title>Speaking at SharePoint Evolution Conference</title><link>https://blogs.blackmarble.co.uk/rfennell/speaking-at-sharepoint-evolution-conference/</link><pubDate>Tue, 09 Mar 2010 20:35:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/speaking-at-sharepoint-evolution-conference/</guid><description>
&lt;p>I am please to be able to announce that I am speaking at the &lt;a href="http://www.sharepointevolutionconference.com/Agenda.html">SharePoint 2010 Evolution Conference&lt;/a> in London on the 21st of April.&lt;/p>
&lt;p>I will be talking about my experiences during the [Prontaprint project](&lt;a href="http://www.blackmarble.co.uk/CaseStudy.aspx?study=Prontaprint%27s">http://www.blackmarble.co.uk/CaseStudy.aspx?study=Prontaprint's&lt;/a> Website with SharePoint 2007) developing testable components for SharePoint using TypeMock Isolator and other techniques to speed development and improve quality.&lt;/p>
&lt;p>&lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/SP2010EvoBanner_Square_6D408626.png">
&lt;img
loading="lazy"
decoding="async"
alt="SP2010EvoBanner_Square"
class="image_figure image_external image_unprocessed"
src="http://blogs.blackmarble.co.uk/blogs/rfennell/SP2010EvoBanner_Square_thumb_662149AE.png"
title="SP2010EvoBanner_Square"
/>
&lt;/a>&lt;/p></description></item><item><title>Agile Yorkshire Martin Fowler event is full</title><link>https://blogs.blackmarble.co.uk/rfennell/agile-yorkshire-martin-fowler-event-is-full/</link><pubDate>Mon, 08 Mar 2010 11:57:26 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/agile-yorkshire-martin-fowler-event-is-full/</guid><description>
&lt;p>&lt;a href="http://www.agileyorkshire.org/event-announcements/17Mar2010">Next weeks Agile Yorkshire meeting&lt;/a> with Martin Fowler is now full (and the venue is twice the size of our usual one!). I said it would be popular.&lt;/p>
&lt;p>There is a reserve list but I would not hold out too much hope.&lt;/p></description></item><item><title>Lessons learnt building a custom activity to run Typemock Isolator in VS2010 Team Build</title><link>https://blogs.blackmarble.co.uk/rfennell/lessons-learnt-building-a-custom-activity-to-run-typemock-isolator-in-vs2010-team-build/</link><pubDate>Mon, 08 Mar 2010 09:46:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/lessons-learnt-building-a-custom-activity-to-run-typemock-isolator-in-vs2010-team-build/</guid><description>
&lt;p>Updated 25th March 2010 - All the source is now available at the &lt;a href="http://www.typemock.com/files/Addons/VS2010%20TypemockBuildActivity%201.0.0.0.zip">Typemock Add-in site&lt;/a> &lt;br>
Updated 2nd July 2010 - &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/archive/2010/07/01/using-my-typemock-tmockrunner-custom-activity-for-team-build-2010.aspx">Some usage notes posted&lt;/a>&lt;br>
Updated 26th July 2011 - &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/archive/2011/07/26/more-tips-and-tricks-using-my-typemock-custom-build-activity-with-tfs-2010-build.aspx">More usage notes&lt;/a>&lt;br>
Updated 21st Nov 2011 - Typemock Isolator now has direct support for TFS 2010 Build, &lt;a href="http://docs.typemock.com/Isolator/#%23typemock.chm/Documentation/TFSBuild.html">see usage notes&lt;/a> &lt;/p>
&lt;p>I have previously &lt;a href="https://blogs.blackmarble.co.uk/blogs/rfennell/archive/2010/01/22/running-typemock-isolator-based-tests-in-tfs-2010-team-build.aspx">posted on how you can run Typemock Isolator based tests within a VS2010 using the InvokeMethod activity&lt;/a>. After this post &lt;a href="http://www.nablasoft.com/alkampfer">Gian Maria Ricci, a fellow Team System MVP&lt;/a> suggested it would be better to put this functionality in a custom code activity, and provided the basis of the solution. I have taken this base sample and worked it up to be a functional activity, and boy have I learnt a few things doing it.&lt;/p></description></item><item><title>Getting sick of seeing the Vodafone error “HTTP Error 403: The service you requested is restricted”</title><link>https://blogs.blackmarble.co.uk/rfennell/getting-sick-of-seeing-the-vodafone-error-http-error-403-the-service-you-requested-is-restricted/</link><pubDate>Mon, 08 Mar 2010 09:26:08 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/getting-sick-of-seeing-the-vodafone-error-http-error-403-the-service-you-requested-is-restricted/</guid><description>
&lt;p>Of late I keep getting ‘HTTP Error 403: The service you requested is restricted’ when I try to use my HTC Diamond2 mobile phone on Vodafone. I see the problem whether browsing the internet with mobile IE or Opera and also when using the phone as a 3G modem  from my Windows 7 laptop. Seems to happen every other day of late.&lt;/p>
&lt;p>&lt;a href="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_7D184995.png">&lt;img
loading="lazy"
decoding="async"
alt="image"
class="image_figure image_internal image_unprocessed"
src="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_thumb_7CAC16A0.png"
title="image"
/>
&lt;/a>&lt;/p>
&lt;p>Interestingly, when I got the error shown above whilst trying to browse to Bing, a connection, on the same 3G link, from my PC to our Exchange server was working fine.&lt;/p></description></item><item><title>The Teamprise Eclipse plug in for TFS gets a new name</title><link>https://blogs.blackmarble.co.uk/rfennell/the-teamprise-eclipse-plug-in-for-tfs-gets-a-new-name/</link><pubDate>Mon, 08 Mar 2010 09:22:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/the-teamprise-eclipse-plug-in-for-tfs-gets-a-new-name/</guid><description>
&lt;p>As I am sure you remember a &lt;a href="http://blogs.msdn.com/bharry/archive/2009/11/09/microsoft-has-acquired-the-teamprise-client-suite.aspx">few months ago Microsoft bought Teamprise&lt;/a> and their Java clients for TFS. Well the team has got out their first Microsoft branded release, details can be found on &lt;a href="http://www.woodwardweb.com/teamprise/whats_in_a_name.html">Martin Woodward’s&lt;/a> and &lt;a href="http://blogs.msdn.com/bharry/archive/2010/03/04/microsoft-visual-studio-team-explorer-2010.aspx">Brian Harry’s&lt;/a> blogs. &lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=3c9454e0-523a-4ee1-b436-5c6fc2110b34">This beta provides the first support for TFS2010&lt;/a>&lt;/p>
&lt;p>This release is very timely as I will be talking on the Java integration via the Eclipse plug-in at &lt;a href="http://qconlondon.com/london-2010/presentation/The&amp;#43;Interoperable&amp;#43;Platform">QCON next week&lt;/a> and at the &lt;a href="http://msdn.microsoft.com/en-gb/architecture/ee959240.aspx">Architect Insight Conference&lt;/a> at the end of the month. This  “Eaglestone” release means I can hopefully do my demos against TFS2010.&lt;/p></description></item><item><title>Martin Fowler is speaking at Agile Yorkshire this month</title><link>https://blogs.blackmarble.co.uk/rfennell/martin-fowler-is-speaking-at-agile-yorkshire-this-month/</link><pubDate>Tue, 02 Mar 2010 12:56:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/martin-fowler-is-speaking-at-agile-yorkshire-this-month/</guid><description>
&lt;p>A slight change to the usually arrangement this month at Agile Yorkshire. The speaker will &lt;a href="http://martinfowler.com/">Martin Fowler&lt;/a> who will be talking on “Software Design in the 21st Century”, but the meeting will be on the 17th March (which is a week later than usual) and at a new venue &lt;a href="http://theadelphi.co.uk/">The Adelphi in Leeds&lt;/a>.&lt;/p>
&lt;p>This promises to be a very interesting session. I saw Martin speak at a JavaOne conference, a good few years ago now, and it is still one of the best presentations I have seen at any conference. He is an engaging speaker with much to say about our industry.&lt;/p></description></item><item><title>DDD Community Events News</title><link>https://blogs.blackmarble.co.uk/rfennell/ddd-community-events-news/</link><pubDate>Tue, 02 Mar 2010 11:33:56 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/ddd-community-events-news/</guid><description>
&lt;p>Some DDD event news&lt;/p>
&lt;ul>
&lt;li>&lt;a href="http://www.developerdeveloperdeveloper.com/scotland2010">Registration has opened for DDD Scotland&lt;/a>&lt;/li>
&lt;li>There is a &lt;a href="http://dddsouthwest.com/Home/tabid/36/Default.aspx">call for speakers at DDD South West&lt;/a>&lt;/li>
&lt;li>There is a &lt;a href="http://www.sqlbits.com/information/SessionSubmission.aspx.">call for speakers at SQLBits&lt;/a>&lt;/li>
&lt;/ul>
&lt;p>If you have never been to a DDD style event before why not give it a try; they are free and you are sure to learn something. Unlike the DDD events in Reading these ones don’t fill up so fast that you cannot register because you stupidly went to make a up of tea just before they opened registration and it was full before you got back.&lt;/p></description></item><item><title>The importance of using parameters in vs2010 build workflows</title><link>https://blogs.blackmarble.co.uk/rfennell/the-importance-of-using-parameters-in-vs2010-build-workflows/</link><pubDate>Tue, 02 Mar 2010 11:13:19 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/the-importance-of-using-parameters-in-vs2010-build-workflows/</guid><description>
&lt;p>I have been doing some more work &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/archive/2010/01/22/running-typemock-isolator-based-tests-in-tfs-2010-team-build.aspx">integrating Typemock and VS 2010 Team Build&lt;/a>. I have just wasted a good few hours wondering why my test results are not being published.&lt;/p>
&lt;p>If I looked at the build log I saw my tests ran (and pass or failed as expected) and then were published without error.&lt;/p>
&lt;p>&lt;a href="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_71013D7B.png">&lt;img
loading="lazy"
decoding="async"
alt="image"
class="image_figure image_internal image_unprocessed"
src="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_thumb_5079FDC9.png"
title="image"
/>
&lt;/a>&lt;/p>
&lt;p>But when I checked the build summary it said there were no tests associated with the build, it reporting “No Test Results”&lt;/p></description></item><item><title>Do you use a Symbol Server?</title><link>https://blogs.blackmarble.co.uk/rfennell/do-you-use-a-symbol-server/</link><pubDate>Mon, 01 Mar 2010 11:56:01 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/do-you-use-a-symbol-server/</guid><description>
&lt;p>I find one of the most often overlooked new features of 2010 is the Symbol Server. This is a file share where the .PDB symbol files are stored for any given build (generated by a build server, &lt;a href="http://blogs.msdn.com/jimlamb/archive/2009/06/15/enabling-symbol-and-source-server-support-in-tfs-build-2010-beta-1.aspx">see Jim Lamb’s post on the setup&lt;/a>). If you look on the symbol server share you will see directories for each built assembly with a GUID named subdirectory containing the PDB files for each unique build.&lt;/p></description></item><item><title>This year’s DDD South West announced</title><link>https://blogs.blackmarble.co.uk/rfennell/this-years-ddd-south-west-announced/</link><pubDate>Mon, 01 Mar 2010 09:34:06 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/this-years-ddd-south-west-announced/</guid><description>
&lt;p>This year’s DDD South West has been announced for the 5th of June in Bristol, for details see the &lt;a href="http://dddsouthwest.com/Home/tabid/36/Default.aspx">dddsouthwest.com site&lt;/a>&lt;/p>
&lt;p>&lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/DDDSouthWest2BadgeSmall1_790B523F.png">
&lt;img
loading="lazy"
decoding="async"
alt="DDDSouthWest2BadgeSmall[1]"
class="image_figure image_external image_unprocessed"
src="http://blogs.blackmarble.co.uk/blogs/rfennell/DDDSouthWest2BadgeSmall1_thumb_79EFC9F7.png"
title="DDDSouthWest2BadgeSmall[1]"
/>
&lt;/a>&lt;/p></description></item><item><title>Speaking at QCon on TFS and Java Integration</title><link>https://blogs.blackmarble.co.uk/rfennell/speaking-at-qcon-on-tfs-and-java-integration/</link><pubDate>Fri, 26 Feb 2010 17:11:12 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/speaking-at-qcon-on-tfs-and-java-integration/</guid><description>
&lt;p>Week after next I will be speaking at &lt;a href="http://qconlondon.com/">QCon London&lt;/a> with &lt;a href="http://qconlondon.com/london-2010/presentation/The&amp;#43;Interoperable&amp;#43;Platform">Simon Thurman of Microsoft on “The Interoperable Platform”&lt;/a>.&lt;/p>
&lt;p>So what does that title mean? Well for me, for this session, it will be about how you can use the ALM features of TFS even when using Eclipse for Java development. So it will be a demo led session on the &lt;a href="http://www.teamprise.com/products/plugin/">Teamprise tools for Eclipse&lt;/a> and how they can allow you to build a unified development team that works in both .NET and Java.&lt;/p></description></item><item><title>Logging results from InvokeProcess in a VS2010 Team Build</title><link>https://blogs.blackmarble.co.uk/rfennell/logging-results-from-invokeprocess-in-a-vs2010-team-build/</link><pubDate>Tue, 23 Feb 2010 09:48:43 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/logging-results-from-invokeprocess-in-a-vs2010-team-build/</guid><description>
&lt;p>When you use the InvokeProcess activity, &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/archive/2010/01/22/running-typemock-isolator-based-tests-in-tfs-2010-team-build.aspx">as I did in my Typemock post&lt;/a>, you really need to setup the logging. This is because by default nothing will be logged other than the command line invoked, not usually the best option. There are a couple of gotta’s here that initially caused me a problem and I suspect could cause a new user of the 2010 build process a problem too.&lt;/p>
&lt;p>The first is that you need to declare the variable names for the InvokeProcess to drop the output and errors into. This is done in the workflow designer putting the variable names in the relevant textboxes (there is no need to declare the variable names anywhere else) as shown below. Use any name you fancy, I used &lt;em>stdOutput&lt;/em> and &lt;em>stdError&lt;/em>.&lt;/p></description></item><item><title>MTLM becomes MTM</title><link>https://blogs.blackmarble.co.uk/rfennell/mtlm-becomes-mtm/</link><pubDate>Mon, 22 Feb 2010 15:00:47 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/mtlm-becomes-mtm/</guid><description>
&lt;p>You may have noticed that Microsoft have had another burst of renaming. The tester’s tool in VS2010 started with the codename of Camaro during the CTP phase, this became Microsoft Test &amp;amp; Lab Manager (MTLM) in the Beta 1 and 2 and now in the RC it is call Microsoft Test Manager (MTM).&lt;/p>
&lt;p>Other than me constantly referring to things by the wrong name, the main effect of this is to make searching on the Internet a bit awkward, you have to try all three names to get good coverage. In my small corner of the Internet, I will try to help by updating my existing MTLM tag to MTM and update the description appropriately.&lt;/p></description></item><item><title>So where have I been all week?</title><link>https://blogs.blackmarble.co.uk/rfennell/so-where-have-i-been-all-week/</link><pubDate>Mon, 22 Feb 2010 10:28:39 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/so-where-have-i-been-all-week/</guid><description>
&lt;p>A bit a a double question here, physically I have been at the the MVP Summit in Redmond, having a great time with my fellow “Team System” MVPs and the Microsoft product group members.&lt;/p>
&lt;p>&lt;a href="http://www.flickr.com/photos/bgervin/4368620611/">
&lt;img
loading="lazy"
decoding="async"
alt="4368620611_d1ce34e06a"
class="image_figure image_external image_unprocessed"
src="http://blogs.blackmarble.co.uk/blogs/rfennell/4368620611_d1ce34e06a_06C7D0C1.jpg"
title="4368620611_d1ce34e06a"
/>
&lt;/a>&lt;/p>
&lt;p>But my blog has also been on and off all week, so I guess you could say my online presence has been away. This is because [Black Marble has moved office](&lt;a href="http://www.blackmarble.co.uk/SectionDisplay.aspx?name=News&amp;amp;title=Black">http://www.blackmarble.co.uk/SectionDisplay.aspx?name=News&amp;title=Black&lt;/a> Marble has relocated to Woodland Park) and our blog server has had intermittent connectivity, which hopefully should be resolved soon.&lt;/p></description></item><item><title>Speaking in Edinburgh on VS2010 and ALM</title><link>https://blogs.blackmarble.co.uk/rfennell/speaking-in-edinburgh-on-vs2010-and-alm/</link><pubDate>Mon, 22 Feb 2010 10:27:26 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/speaking-in-edinburgh-on-vs2010-and-alm/</guid><description>
&lt;p>I will be joining &lt;a href="http://blogs.blackmarble.co.uk/blogs/iangus/default.aspx">Iain Angus (Black Marble)&lt;/a> and &lt;a href="http://blogs.msdn.com/ukvsts/">Giles Davies (Microsoft)&lt;/a> this week at &lt;a href="http://www.bing.com/maps/?v=2&amp;amp;cid=164AD0BC4754740A!148">Microsoft’s Offices in Edinburgh&lt;/a> to [present on Application Life Cycle Management](&lt;a href="http://www.blackmarble.co.uk/events.aspx?event=Microsoft">http://www.blackmarble.co.uk/events.aspx?event=Microsoft&lt;/a> and Black Marble present Visual Studio 2010 and Managing the Application Lifecycle with Team Foundation Server). We will be looking at how VS2010 can help project managers, architects, developers and testers to build better solutions.&lt;/p>
&lt;p>There are [still a few places left](&lt;a href="http://www.blackmarble.co.uk/events.aspx?event=Microsoft">http://www.blackmarble.co.uk/events.aspx?event=Microsoft&lt;/a> and Black Marble present Visual Studio 2010 and Managing the Application Lifecycle with Team Foundation Server),I hope to see you there if you are in the area.&lt;/p></description></item><item><title>New ‘ALTdotNet Beers North’ group starting</title><link>https://blogs.blackmarble.co.uk/rfennell/new-altdotnet-beers-north-group-starting/</link><pubDate>Thu, 11 Feb 2010 16:24:55 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/new-altdotnet-beers-north-group-starting/</guid><description>
&lt;p>If you look on &lt;a href="http://groups.google.com/group/altnet-beers-north?hl=en">Google Groups&lt;/a> you will find the start of a thread trying to organise some &lt;a href="http://www.altnetpedia.com/Default.aspx?Page=AltNetBeers&amp;amp;AspxAutoDetectCookieSupport=1">AltNet Beers session&lt;/a> in Leeds, only the same lines as the London, Bristol etc. events. There appears to be no date set as yet, but keep an eye open, they are a great way to meet like minded people.&lt;/p></description></item><item><title>Tonight is Agile Yorkshire</title><link>https://blogs.blackmarble.co.uk/rfennell/tonight-is-agile-yorkshire/</link><pubDate>Wed, 10 Feb 2010 16:39:19 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/tonight-is-agile-yorkshire/</guid><description>
&lt;p>A late reminder but tonight is the &lt;a href="http://www.agileyorkshire.org/event-announcements/10Feb2010">monthly Agile Yorkshire meeting&lt;/a>. This month is an open floor meeting with short presentations from members. Currently the planned subjects are:&lt;/p>
&lt;ul>
&lt;li>REST and OpenRasta&lt;/li>
&lt;li>Silverlight&lt;/li>
&lt;li>F#&lt;/li>
&lt;li>Thoughts on Test Driven Development practices&lt;/li>
&lt;li>Behaviour Driven Development&lt;/li>
&lt;/ul>
&lt;p>Hope to see you there, usual place usual time (Victoria Hotel, 28 Great George St, Leeds. See &lt;a href="http://maps.google.co.uk/maps?q=28%20Great%20George%20St%2C%20Leeds">here&lt;/a> for directions, 7pm)&lt;/p></description></item><item><title>Is Pex and Moles the answer to Sharepoint testing?</title><link>https://blogs.blackmarble.co.uk/rfennell/is-pex-and-moles-the-answer-to-sharepoint-testing/</link><pubDate>Tue, 09 Feb 2010 23:08:42 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/is-pex-and-moles-the-answer-to-sharepoint-testing/</guid><description>
&lt;p>I have got round to watching &lt;a href="http://channel9.msdn.com/tags/Peli-de-Halleux/">Peli de Halleux&lt;/a>’s presentation &lt;a href="http://channel9.msdn.com/posts/matthijs/Pex-Unit-Testing-of-SharePoint-Services-that-Rocks/">on testing SharePoint with moles&lt;/a> from the &lt;a href="http://www.devconnections.com/shows/NED2010SP/default.asp?s=149">SharePoint Connections 2010 event in Amsterdam&lt;/a>, very interesting. This brings a whole new set of tools to the testing of Sharepoint. I think it is best to view the subject of this presentation in two parts &lt;a href="http://research.microsoft.com/en-us/projects/pex/default.aspx">Pex and Moles, even though they are from the same stable&lt;/a>; Moles being produced to enable Pex. But rather than me explaining how it all works just watch the video.&lt;/p></description></item><item><title>Errors Faking Sharepoint with Typemock due to assembly versions</title><link>https://blogs.blackmarble.co.uk/rfennell/errors-faking-sharepoint-with-typemock-due-to-assembly-versions/</link><pubDate>Tue, 09 Feb 2010 11:43:31 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/errors-faking-sharepoint-with-typemock-due-to-assembly-versions/</guid><description>
&lt;p>I was doing some work today where I needed to fake out a SPWeb object. No problem you think, I am using Typemock Isolator so I just use the line&lt;/p>
&lt;p>&lt;em>var fakeWeb = Isolate.Fake.Instance&lt;SPWeb>();&lt;/em>&lt;/p>
&lt;p>But I got the error&lt;/p>
&lt;p>&lt;em>Microsoft.SharePoint.SPWeb.SPWebConstructor(SPSite site, String url, Boolean bExactWebUrl, SPRequest request)&lt;br>
Microsoft.SharePoint.SPWeb..ctor(SPSite, site, String url)&lt;br>
eo.CreateFakeInstance[T](Members behavior, Constructor constructorFlag, Constructor baseConstructorFlag, Type baseType, Object[] ctorArgs)&lt;br>
eo.Instance[T](Members behavior)&lt;br>
(Points to the SPWeb web line as source of error)&lt;br>
TypeMock.MockManager.a(String A_0, String A_1, Object A_2, Object A_3, Boolean A_4, Object[] A_5)&lt;br>
TypeMock.InternalMockManager.getReturn(Object that, String typeName, String methodNAme, Object methodParameters, Boolean isInjected)&lt;br>
(Points to line 0 of my test class)&lt;/em>&lt;/p></description></item><item><title>At last, my creature it lives……..</title><link>https://blogs.blackmarble.co.uk/rfennell/at-last-my-creature-it-lives/</link><pubDate>Fri, 05 Feb 2010 11:32:09 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/at-last-my-creature-it-lives/</guid><description>
&lt;p>I have at last worked all the way through setting up my portable end to end demo of  &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/archive/2010/01/27/so-you-want-to-demo-vs2010-lab-manager.aspx">testing using Windows Test and Lab Manager&lt;/a>. The last error I had to resolve was the tests not running in the lab environment (though working locally on the development PC). My the Lab Workflow build was recorded as a partial success i.e. it built, it deployed but all the tests failed.&lt;/p>
&lt;p>I have not found a way to see the detail of why the tests failed in VS2010 Build Explorer. However, if you:&lt;/p></description></item><item><title>ASPNETCOMPILER: error 1003 with TFS2010 Team build</title><link>https://blogs.blackmarble.co.uk/rfennell/aspnetcompiler-error-1003-with-tfs2010-team-build/</link><pubDate>Thu, 04 Feb 2010 14:56:54 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/aspnetcompiler-error-1003-with-tfs2010-team-build/</guid><description>
&lt;p>I have been looking at &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/archive/2010/01/27/so-you-want-to-demo-vs2010-lab-manager.aspx">TFS 2010 Lab Manager recently&lt;/a>. One problem I had was that using the &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/archive/2010/01/27/so-you-want-to-demo-vs2010-lab-manager.aspx">sample code from the Lab Manager Blog Walkthru&lt;/a> the building of the CALC ASP.NET web site failed on the build server, I got an error&lt;/p>
&lt;p>&lt;em>ASPNETCOMPILER: error 1003 The directory ‘c:build1LabWalkthruCalculator –BuildCalc’ does not exist.&lt;/em>&lt;/p>
&lt;p>and the build service was right it didn’t exist; it should have been ‘c:build1LabWalkthruCalculator –BuildSourceCalc’.&lt;/p>
&lt;p>This was due to a &lt;a href="http://msdn.microsoft.com/en-us/library/ms400810%28VS.80%29.aspx">problem detailed here&lt;/a>. The Solution file had the wrong path in the Debug.AspNetCompiler.PhysicalPath property. It was set to “..Calc” when it should have been “.Calc”. Once this was altered the build could find the files.&lt;/p></description></item><item><title>Problem creating workitems on TFS2010 in the morning</title><link>https://blogs.blackmarble.co.uk/rfennell/problem-creating-workitems-on-tfs2010-in-the-morning/</link><pubDate>Tue, 02 Feb 2010 21:15:13 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/problem-creating-workitems-on-tfs2010-in-the-morning/</guid><description>
&lt;p>I recently been working with a client who has been seeing strange problems when they try to create new workitems via a SharePoint portal site on a TFS2010 Beta2 installation. They appeared to have a fully working TFS2010 installation, but when they came in on a morning they found that even though they could login to the TFS created SharePoint team site they could not create a new workitems, they got an “Error 403 Access Forbidden”.&lt;/p></description></item><item><title>The Barry Dorrans’ farewell DDD performance</title><link>https://blogs.blackmarble.co.uk/rfennell/the-barry-dorrans-farewell-ddd-performance/</link><pubDate>Sun, 31 Jan 2010 09:06:31 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/the-barry-dorrans-farewell-ddd-performance/</guid><description>
&lt;p>Seems I missed an interesting  at session at DDD8, &lt;a href="http://idunno.org/archive/2010/01/30/a-developers-guide-to-encryption.aspx">Barry Dorrans’ final DDD performance, with assistance with of other speakers.&lt;/a>&lt;/p>
&lt;p>Barry you will be missed&lt;/p>
&lt;p>Update 5 Feb, links to the interruptions&lt;/p>
&lt;p>&lt;a href="http://vimeo.com/9205053">Plip's Book Advert&lt;/a>.&lt;br>
&lt;a href="http://vimeo.com/9205726">Liam's Eulogy&lt;/a>.&lt;br>
&lt;a href="http://vimeo.com/9205478">Colin Mackay's new source of presentations&lt;/a>.&lt;br>
&lt;a href="http://vimeo.com/9205839">Craig Murphy insulting not one but two ex-UK community folks&lt;/a>.&lt;/p></description></item><item><title>A call for speaker at next month Agile Yorkshire meeting</title><link>https://blogs.blackmarble.co.uk/rfennell/a-call-for-speaker-at-next-month-agile-yorkshire-meeting/</link><pubDate>Fri, 29 Jan 2010 10:11:46 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/a-call-for-speaker-at-next-month-agile-yorkshire-meeting/</guid><description>
&lt;p>Next months Agile Yorkshire meeting (10th Feb) is an open floor meeting - any subject, any format, 10 minute maximum.&lt;/p>
&lt;p>If you fancy doing something in one of the 10 minute slots - whether it is a presentation, a demonstration, a discussion around a problem area - then visit&lt;/p>
&lt;p>&lt;a href="http://www.agileyorkshire.org/event-announcements/10Feb2010">http://www.agileyorkshire.org/event-announcements/10Feb2010&lt;/a> to register your idea.&lt;/p>
&lt;p>Presentations can be marked as provisional if you like the idea but are unsure until later whether you will be ready, available, etc.&lt;/p></description></item><item><title>Empty page being show for Silverlight application running out of browser</title><link>https://blogs.blackmarble.co.uk/rfennell/empty-page-being-show-for-silverlight-application-running-out-of-browser/</link><pubDate>Fri, 29 Jan 2010 10:10:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/empty-page-being-show-for-silverlight-application-running-out-of-browser/</guid><description>
&lt;p>Whilst preparing demo’s for [our design event next week](&lt;a href="http://www.blackmarble.co.uk/events.aspx?event=Understanding">http://www.blackmarble.co.uk/events.aspx?event=Understanding&lt;/a> the Microsoft Design and Digital Agency Proposition) I hit a problem with the out of browser experience in Silverlight 3. I had decided to add the out of browser settings to our &lt;a href="http://www.blackmarble.co.uk/Xmas09/default.aspx">2009 Christmas Card&lt;/a> Silverlight application. To do this all you need to do is check a box on the project settings&lt;/p>
&lt;p>&lt;a href="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_797C9F08.png">&lt;img
loading="lazy"
decoding="async"
alt="image"
class="image_figure image_internal image_unprocessed"
src="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_thumb_3946858E.png"
title="image"
/>
&lt;/a>&lt;/p>
&lt;p>I ran the application in the browser and all was OK, I right clicked to installed it to the desktop and it ran OK but I got an empty white screen&lt;/p></description></item><item><title>Giving Twitter Notify a try</title><link>https://blogs.blackmarble.co.uk/rfennell/giving-twitter-notify-a-try/</link><pubDate>Thu, 28 Jan 2010 15:08:28 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/giving-twitter-notify-a-try/</guid><description>
&lt;p>After attending &lt;a href="http://eileenbrown.wordpress.com/">Eileen Brown&lt;/a>’s session on [Social networking last night](&lt;a href="http://www.blackmarble.co.uk/events.aspx?event=Using">http://www.blackmarble.co.uk/events.aspx?event=Using&lt;/a> Digital Marketing and Social Media to Build and Maintain your Online Brand&amp;amp;Code=), I though I should make more of an effort. So I am giving &lt;a href="http://gallery.live.com/liveItemDetail.aspx?li=6b2b5ffe-936a-4cb3-869c-c01de29de176&amp;amp;bt=9&amp;amp;pl=8">Twitter Notify&lt;/a> a try, so at least there is some activity on &lt;a href="http://twitter.com/richardfennell">my Twitter account&lt;/a> when I blog.&lt;/p></description></item><item><title>So you want to demo VS2010 Lab Manager…….</title><link>https://blogs.blackmarble.co.uk/rfennell/so-you-want-to-demo-vs2010-lab-manager/</link><pubDate>Wed, 27 Jan 2010 14:50:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/so-you-want-to-demo-vs2010-lab-manager/</guid><description>
&lt;p>I recently decided to build a demo system for VS2010 Lab Manager. This was for a number of reasons, not least I just wanted to have a proper play with it, but also that I was hoping to do a session on Microsoft Test and Lab Manager at &lt;a href="http://www.developerdeveloperdeveloper.com/ddd8/Schedule.aspx">DDD8&lt;/a> (as it turns out my session did not get voted for, maybe better luck for &lt;a href="http://www.developerdeveloperdeveloper.com/scotland2010/Users/VoteForSessions.aspx">DDS&lt;/a>, you can still vote for that conference’s sessions).&lt;/p></description></item><item><title>The uptake of Agile and Alt.Net practices in places a bit away from the major development hotspots</title><link>https://blogs.blackmarble.co.uk/rfennell/the-uptake-of-agile-and-alt-net-practices-in-places-a-bit-away-from-the-major-development-hotspots/</link><pubDate>Mon, 25 Jan 2010 14:03:23 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/the-uptake-of-agile-and-alt-net-practices-in-places-a-bit-away-from-the-major-development-hotspots/</guid><description>
&lt;p>Last week I got into an interesting discussion via email with Nieve a developer from Lille, France.The chat was on the uptake of Agile and Alt.Net practices in places a bit away from the major development hotspots. We both thought it could make an interesting post so, here goes, starting with Nieve’s first post…..&lt;/p>
&lt;p>&lt;em>Hello there,I've stumbled upon your blog while googling for the terms alt.net yorkshire.I'm a .NET developer working in Paris and living in the north of France (Lille area). Now, the reason I'm writing is that we're having an alt.net lunch next month, and I would like to talk a bit about the differences between the (alt).net communities in france and england. Now since I did my studies in Leeds, the fact that yorkshire and la région du nord are (surprise surprise) in the north (plus a shared history of mines) brought me to google for alt.net and yorkshire.Over here in Lille/the north of France the situation is rather grim. job offers that entail agile practices and or tools in .NET environment are as rare as an eclipse, managers and developers alike are literally afraid of any framework/tool that isn't microsoft yet somehow miraculously written in a .net language. I suppose you get the picture. I was wondering if you would mind sharing with me (and/or others, on your blog) your thoughts on the situation in yorkshire.&lt;/em>&lt;/p></description></item><item><title>Running Typemock Isolator based tests in TFS 2010 Team Build</title><link>https://blogs.blackmarble.co.uk/rfennell/running-typemock-isolator-based-tests-in-tfs-2010-team-build/</link><pubDate>Fri, 22 Jan 2010 14:29:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/running-typemock-isolator-based-tests-in-tfs-2010-team-build/</guid><description>
&lt;p>&lt;strong>Updated 2nd March 2010:&lt;/strong> Altered the sample arguments see this &lt;a href="https://blogs.blackmarble.co.uk/blogs/rfennell/archive/2010/03/02/the-importance-of-using-parameters-in-vs2010-build-workflows.aspx">post for more details&lt;/a>&lt;/p>
&lt;p>&lt;strong>Updated 27th Jan 2010:&lt;/strong> &lt;a href="http://www.nablasoft.com/alkampfer">Gian Maria Ricci, another Team System MVP&lt;/a> has done some more work on this problems and posted on how to create a custom &lt;a href="http://www.codewrecks.com/blog/index.php/2010/01/27/run-test-with-typemockisolator-during-a-tfs2010-build/">activity to address the problem&lt;/a>.&lt;/p>
&lt;p>I have been looking at getting automated builds running on TFS2010 that make use of &lt;a href="http://www.typemock.com/">Typemock Isolator&lt;/a>. This is not as straight forward as you would expect.&lt;/p>
&lt;p>The issue is that you have start Isolator’s mocking interceptor before you run any tests that use Typemock (and stop it afterwards). If you are running in the VS IDE this is all done automatically, but is not done as part of an MSBuild Team Build Process by default.&lt;/p></description></item><item><title>Time to exercise your prerogative again</title><link>https://blogs.blackmarble.co.uk/rfennell/time-to-exercise-your-prerogative-again/</link><pubDate>Thu, 21 Jan 2010 12:55:26 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/time-to-exercise-your-prerogative-again/</guid><description>
&lt;p>The &lt;a href="http://www.developerdeveloperdeveloper.com/scotland2010/Users/VoteForSessions.aspx">voting has opened for DDS&lt;/a>, time to make your voice heard as what sessions you would like to see&lt;/p></description></item><item><title>Problems installing TFS Proxy</title><link>https://blogs.blackmarble.co.uk/rfennell/problems-installing-tfs-proxy/</link><pubDate>Mon, 18 Jan 2010 21:25:50 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/problems-installing-tfs-proxy/</guid><description>
&lt;p>I recently saw an interesting problem install a TFS proxy (in my case it was on an existing TFS 2005 system using Window Server 2003 for the proxy host, but the problem could be seen on any version f TFS). The installation appeared to go fine, and when a Visual Studio client requested files, via the proxy, files appeared in the cache directory, however the client reported it was not using the proxy.&lt;/p></description></item><item><title>Typemock Isolator 2010 released</title><link>https://blogs.blackmarble.co.uk/rfennell/typemock-isolator-2010-released/</link><pubDate>Mon, 18 Jan 2010 21:08:20 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/typemock-isolator-2010-released/</guid><description>
&lt;p>Today Typemock released their Isolator 6.0 version with full support for VS2010. &lt;a href="http://blog.typemock.com/2010/01/typemock-isolator-2010-released.html?utm_source=feedburner&amp;amp;utm_medium=feed&amp;amp;utm_campaign=Feed%3A&amp;#43;Typemock&amp;#43;%28The&amp;#43;Typemock&amp;#43;Insider%29">Check out the full announcement at their site,&lt;/a> there some nice new features there.&lt;/p></description></item><item><title>DDD8 is full</title><link>https://blogs.blackmarble.co.uk/rfennell/ddd8-is-full/</link><pubDate>Fri, 15 Jan 2010 21:54:13 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/ddd8-is-full/</guid><description>
&lt;p>I have been on a customer site today, locked in a machine room, and so have managed to miss the opening and closing of registration for DDD8. So, as neither of my session’s got enough votes (too test based I guess for the developer mainstream) to be on &lt;a href="http://www.developerdeveloperdeveloper.com/ddd8/Schedule.aspx">the schedule&lt;/a> I guess I will not be attending.&lt;/p>
&lt;p>Maybe I will have more luck on both the vote and registration fronts and see some of you a &lt;a href="http://www.developerdeveloperdeveloper.com/scotland2010/Default.aspx">DDS&lt;/a>&lt;/p></description></item><item><title>TFS 2010 Build Service Configuration Wizard fails with TF255425 error</title><link>https://blogs.blackmarble.co.uk/rfennell/tfs-2010-build-service-configuration-wizard-fails-with-tf255425-error/</link><pubDate>Thu, 14 Jan 2010 13:25:33 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/tfs-2010-build-service-configuration-wizard-fails-with-tf255425-error/</guid><description>
&lt;p>I have at last got round to setting up a full installation &lt;a href="http://blogs.msdn.com/lab_management/archive/2009/05/18/vsts-2010-lab-management-basic-concepts.aspx">VS 2010 Test and Lab Manager&lt;/a> &lt;a href="http://blogs.msdn.com/lab_management/archive/2009/11/18/Getting-started-with-Lab-Management-_2800_Part-1_2900_.aspx">using the excellent notes from the Lab Management Team&lt;/a>. Whist installing the build server portion I got a strange set of errors.&lt;/p>
&lt;p>&lt;em>TF255425: An error occurred while installing the following Windows service: TFSBuildServiceHost.exe. For more information, open Event Viewer and review the application log.&lt;/em>&lt;/p>
&lt;p>&lt;em>Error&lt;/em>&lt;/p>
&lt;p>&lt;em>TF255070: Configuring services for Team Foundation Build failed with the following exception: TF255425: An error occurred while installing the following Windows service: TFSBuildServiceHost.exe. For more information, open Event Viewer and review the application log..&lt;/em>&lt;/p></description></item><item><title>New UK ALM User Group Formed</title><link>https://blogs.blackmarble.co.uk/rfennell/new-uk-alm-user-group-formed/</link><pubDate>Thu, 14 Jan 2010 12:14:42 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/new-uk-alm-user-group-formed/</guid><description>
&lt;p>&lt;a href="http://stuartpreston.net/blog/">Stuart Preston&lt;/a> has just started an new &lt;a href="http://ukalmug.ning.com/">UK ALM User Group,&lt;/a> to quotes its blurb…&lt;/p>
&lt;p>&lt;em>The UK ALM User Group is for practitioners of Application Lifecycle Management (ALM) and Software Development Lifecycle (SDLC) in the UK to get together and discuss and share ideas tools and techniques, as well as to socialise somewhere other than Agile and Software Development conferences!&lt;/em>&lt;/p>
&lt;p>&lt;em>Practitioners and enthusiasts from all disciplines are welcome. Membership is free. Please feel free to invite your UK based ALM network.&lt;/em>&lt;/p></description></item><item><title>Voting has opened for DDD8</title><link>https://blogs.blackmarble.co.uk/rfennell/voting-has-opened-for-ddd8/</link><pubDate>Tue, 12 Jan 2010 11:21:02 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/voting-has-opened-for-ddd8/</guid><description>
&lt;p>You can now &lt;a href="http://developerdeveloperdeveloper.com/ddd8/Users/VoteForSessions.aspx">vote for the proposed sessions at the upcoming DDD8&lt;/a> conference, and what a good selection there is to choose from this time.&lt;/p>
&lt;p>&lt;a href="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_401849FF.png">&lt;img
loading="lazy"
decoding="async"
alt="image"
class="image_figure image_internal image_unprocessed"
src="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_thumb_0DB47680.png"
title="image"
/>
&lt;/a>&lt;/p></description></item><item><title>Why don’t I love my phone?</title><link>https://blogs.blackmarble.co.uk/rfennell/why-dont-i-love-my-phone/</link><pubDate>Mon, 11 Jan 2010 21:26:32 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/why-dont-i-love-my-phone/</guid><description>
&lt;p>There seams to be loads of coverage at present over mobile platforms. Maybe I am just noticing it due to coverage of the &lt;a href="http://www.cesweb.org/">CES show&lt;/a> and the launch of the &lt;a href="http://www.google.com/phone">Nexus One&lt;/a>, but the more mainstream media does seems to be taking a good deal of interest in the future of smartphones (or superphone as Google are calling their new one).&lt;/p>
&lt;p>All the articles seems to Apple Vs. Android (and moving rapidly towards Apple Vs. Google). There is also usually a passing mention of Blackberry, then a ‘wonder where Nokia are?’ but usually very little on Microsoft. The article in this months &lt;a href="http://www.wired.co.uk/wired-magazine/archive/2010/02/features/the-app-explosion.aspx">UK edition of Wired is a classic example&lt;/a>.&lt;/p></description></item><item><title>The Agile Yorkshire AGM is this week</title><link>https://blogs.blackmarble.co.uk/rfennell/the-agile-yorkshire-agm-is-this-week/</link><pubDate>Mon, 11 Jan 2010 12:23:51 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/the-agile-yorkshire-agm-is-this-week/</guid><description>
&lt;p>The AGM is on the 14th Jan at the Victoria Hotel, 28 Great George St, Leeds. See &lt;a href="http://maps.google.co.uk/maps?q=28%20Great%20George%20St%2C%20Leeds">here&lt;/a> for directions. Come along and let us know the direction you would like the user group to follow.&lt;/p>
&lt;p>&lt;a href="http://www.agileyorkshire.org/">
&lt;img
loading="lazy"
decoding="async"
alt="Logo"
class="image_figure image_external image_unprocessed"
src="http://www.agileyorkshire.org/_/rsrc/1256391502292/config/app/images/customLogo/customLogo.gif?revision=11"
/>
&lt;/a>&lt;/p></description></item><item><title>A new user group - North East Bytes</title><link>https://blogs.blackmarble.co.uk/rfennell/a-new-user-group-north-east-bytes/</link><pubDate>Fri, 08 Jan 2010 20:51:40 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/a-new-user-group-north-east-bytes/</guid><description>
&lt;p>There is a new user group starting up in the North East. It is taking an interestingly route of having meetings with two one hour sessions, one targeted at developers and the other for IT pros. The user group is free and there will be food and giveaways,&lt;/p>
&lt;p>I like this idea, the danger with too many user groups is that they focus too much on their own little area; getting in some cross fertilisation between people with different views on problems is a great way to learn more.&lt;/p></description></item><item><title>My Christmas Message to the world</title><link>https://blogs.blackmarble.co.uk/rfennell/my-christmas-message-to-the-world/</link><pubDate>Wed, 23 Dec 2009 10:35:34 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/my-christmas-message-to-the-world/</guid><description>
&lt;p>Like the &lt;a href="http://en.wikipedia.org/wiki/Royal_Christmas_Message">Queen, I have recorded a Christmas message&lt;/a> this year. Now I have no prior knowledge of what her Majesty will speak about this year, but I will lay good odds it is not about using Typemock Isolator.&lt;/p>
&lt;p>On the &lt;a href="http://site.typemock.com/black-marble-using-typemock-is/2009/12/22/black-marble-using-typemock-isolator.html">Typemock site you will find a short video&lt;/a> on how we at Black Marble make use of Isolator to tackle testing problems that do no lean themselves to traditional mocking patterns.&lt;/p></description></item><item><title>Making a TFS2010 Beta2 server use SSL Ports</title><link>https://blogs.blackmarble.co.uk/rfennell/making-a-tfs2010-beta2-server-use-ssl-ports/</link><pubDate>Fri, 18 Dec 2009 16:34:18 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/making-a-tfs2010-beta2-server-use-ssl-ports/</guid><description>
&lt;p>There any many good document on how to migrate a TFS server from it’s default ports of 8080 (tfs) and 80 (Sharepoint/Reports) to 8443 and 443, usuall to allow Internet access. A good place to start &lt;a href="http://blogs.msdn.com/ablock/archive/2009/08/24/exposing-tfs-2010-beta-2-to-the-internet.aspx">is Aaron Block’s post on the subject&lt;/a>&lt;/p>
&lt;p>I did find a problem whist sorting this on a system today, this was that although we had modified all the services to operate on the SSL secured ports the vaious TFS team project WSS sites were still trying to access reports on &lt;a href="http://servername/reports">http://servername/reports&lt;/a> not the new &lt;a href="https://tfs.mydoman.com/reports">https://tfs.mydoman.com/reports&lt;/a> url. The reason for this was that the tfsredirect.aspx cache needed to be cleared, WSS did not know we had updated the server.&lt;/p></description></item><item><title>Upcoming Community Conferences</title><link>https://blogs.blackmarble.co.uk/rfennell/upcoming-community-conferences/</link><pubDate>Fri, 11 Dec 2009 20:16:21 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/upcoming-community-conferences/</guid><description>
&lt;p>I am a bit behind the curve here but if you have not noticed &lt;a href="http://developerdeveloperdeveloper.com/ddd8/">DDD8&lt;/a> is planed for January in Reading and &lt;a href="http://www.developerdeveloperdeveloper.com/scotland2010/Default.aspx">DDD Scotland&lt;/a> in Glasgow for May.&lt;/p>
&lt;p>Both conferences have open calls for speakers, so get your sessions in quick.&lt;/p></description></item><item><title>Agile Yorkshire meeting - Kaban For Software Engineering</title><link>https://blogs.blackmarble.co.uk/rfennell/agile-yorkshire-meeting-kaban-for-software-engineering/</link><pubDate>Tue, 08 Dec 2009 22:33:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/agile-yorkshire-meeting-kaban-for-software-engineering/</guid><description>
&lt;p>It is time again for Agile Yorkshire. This month the meeting is a usual the second wednesday in the month, but at a different venue - Old Broadcasting House (&lt;a href="http://www.ntileeds.co.uk/old-broadcasting-house/">http://www.ntileeds.co.uk/old-broadcasting-house/&lt;/a>)&lt;/p>
&lt;p>The session is on &lt;a href="http://www.agileyorkshire.org/2009-event-announcements/09Dec2009">Kaban For Software Engineering by David Joyce and Peter Camfield from BBC Worldwide&lt;/a>, as lean seems all the rage at present this should be very interesting. Hope to see you there&lt;/p></description></item><item><title>A busy week of presenting</title><link>https://blogs.blackmarble.co.uk/rfennell/a-busy-week-of-presenting/</link><pubDate>Tue, 01 Dec 2009 12:02:48 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/a-busy-week-of-presenting/</guid><description>
&lt;p>The interest in Visual Studio 2010 is growing, I am presenting at two events this week and have another day of less formal meetings on the subject.&lt;/p>
&lt;p>The event on Thursday is the [Architecture Forum in the North](Architecture Forum in the North) we are hosting with Microsoft, there are still a few spaces available is if you are interested in the learning more about new techniques and tools why not come along. You even get to hear me talking about using &lt;a href="http://www.teamprise.com/products/plugin/">TFS as a Java developers via Teamprise&lt;/a>.&lt;/p></description></item><item><title>Post PDC Thoughts</title><link>https://blogs.blackmarble.co.uk/rfennell/post-pdc-thoughts/</link><pubDate>Tue, 01 Dec 2009 10:43:23 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/post-pdc-thoughts/</guid><description>
&lt;p>I realised I never did another post after my first at the PDC, now what does that tell you?&lt;/p>
&lt;p>One thing it tells me is that blogs are not they primary news form for events now, it has moved onto [Twitter](RefName – Enter a unique Identifier for the field in TFS. The identifier must have at least one period in the name; for example, Test.Test1.). Though as yet I am still lagging behind on this one, I have an &lt;a href="http://twitter.com/richardfennell">account but no tweets&lt;/a> as yet. I find there is too much noise most of the on Twitter, it is useful when at an event like PDC to get the buzz, but for me not day to day (though I know I am missing stuff because of this view)&lt;/p></description></item><item><title>PDC Keynote Day 1 thoughts</title><link>https://blogs.blackmarble.co.uk/rfennell/pdc-keynote-day-1-thoughts/</link><pubDate>Tue, 17 Nov 2009 19:39:06 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/pdc-keynote-day-1-thoughts/</guid><description>
&lt;p>So the PDC2009 day 1 keynote is over and what was the story? Well it is more of a vision thing, but then again this is a PDC not a TechEd so what do you expect. For me the two major themes were&lt;/p>
&lt;ul>
&lt;li>Dallas – a centralised data service that allows unified access to both public and private via subscriptions. Thus allowing core data being used for any purpose the user requires within the EULA of the data in question. It will be interesting what will be published in this manner, is there a market for a centralised data clearing house? only time will tell.&lt;/li>
&lt;li>AppFabric – Basically taking the operating model for the Azure services and allow a company to have a similar model in their own IT system. Thus allowing code to be written that can work on the corporate system or Azure cloud without alteration. This I see as being big.,&lt;/li>
&lt;/ul>
&lt;p>So what was not mentioned, well it was mobile. The only comment was a ‘come to Mix in the spring for stuff about the next mobile offering. Whatever is shown there is going to have to very good to address the momentum of the iPhone. I think a good bet is that leveraging the Azure fabric might be important for the mobile offering&lt;/p></description></item><item><title>November Agile Yorkshire Meeting</title><link>https://blogs.blackmarble.co.uk/rfennell/november-agile-yorkshire-meeting/</link><pubDate>Mon, 09 Nov 2009 15:00:06 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/november-agile-yorkshire-meeting/</guid><description>
&lt;p>Time for the usual reminder for the next Agile Yorkshire meeting. This month it is by &lt;a href="http://www.agileyorkshire.org/2009-event-announcements/%E2%80%8E11thnov-techniquesfordealingwithdifficultconversationsandnegotiationsinsoftwaredevelopment">Mark Stringer on ‘Techniques for dealing with difficult conversations &amp;amp; negotiations in software development&lt;/a>’. Usual time, usual place, usual free beer.&lt;/p>
&lt;p>….and just a heads up for the December meeting, as this is at a different venue, Old Broadcasting House (&lt;a href="http://www.ntileeds.co.uk/old-broadcasting-house/">http://www.ntileeds.co.uk/old-broadcasting-house/&lt;/a>), it is going to be by &lt;a href="http://www.agileyorkshire.org/2009-event-announcements/09Dec2009">David Joyce of the BBC on ‘Kanban for Software Engineering’&lt;/a>&lt;/p></description></item><item><title>Notes on TFS2010 Beta1 to Beta 2 Upgrade</title><link>https://blogs.blackmarble.co.uk/rfennell/notes-on-tfs2010-beta1-to-beta-2-upgrade/</link><pubDate>Tue, 03 Nov 2009 21:54:47 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/notes-on-tfs2010-beta1-to-beta-2-upgrade/</guid><description>
&lt;p>I have recently upgraded my dual tier TFS 2010 Beta1 instance to Beta2. This is not an officially supported migration but it is certainly possible. The basic process of the update is straight forward:&lt;/p>
&lt;ul>
&lt;li>
&lt;p>Remove Beta1 from the AT&lt;/p>
&lt;/li>
&lt;li>
&lt;p>Install Beta2&lt;/p>
&lt;/li>
&lt;li>
&lt;p>Run the configuration wizard in upgrade mode (this took a few hours for DB upgrades)&lt;/p>
&lt;/li>
&lt;/ul>
&lt;p>Once this was complete I had what I thought was a working Beta2 server (I saw no errors), but there were problems.&lt;/p></description></item><item><title>TF53010 error and no TFS Warehouse updates after a SQL migrate</title><link>https://blogs.blackmarble.co.uk/rfennell/tf53010-error-and-no-tfs-warehouse-updates-after-a-sql-migrate/</link><pubDate>Wed, 21 Oct 2009 10:53:14 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/tf53010-error-and-no-tfs-warehouse-updates-after-a-sql-migrate/</guid><description>
&lt;p>We recently moved our central SQL server to new SAN hardware and at the same time upgraded from SQL2005 to SQL2008. Once this was done we noticed that our TFS Reports were running against old Warehouse data.&lt;/p>
&lt;p>Checking the TFS Application Tier event log we saw:&lt;/p>
&lt;blockquote>
&lt;p>TF53010: The following error has occurred in a Team Foundation component or extension:&lt;br>
Date (UTC): 21/10/2009 10:27:25&lt;br>
Machine: TFSAT&lt;br>
Application Domain: /LM/W3SVC/287244640/Root/Warehouse-2-129005451884971104&lt;br>
Assembly: Microsoft.TeamFoundation.Warehouse, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a; v2.0.50727&lt;br>
Process Details:&lt;br>
Process Name: w3wp&lt;br>
Process Id: 2716&lt;br>
Thread Id: 2848&lt;br>
Account name: MYDOMAINTFSSERVICE&lt;/p></description></item><item><title>A video on Access 2010</title><link>https://blogs.blackmarble.co.uk/rfennell/a-video-on-access-2010/</link><pubDate>Wed, 21 Oct 2009 07:04:02 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/a-video-on-access-2010/</guid><description>
&lt;p>I recently posted on &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/archive/2009/10/19/access-services-in-sharepoint-2010-or-how-i-learned-to-stop-worrying-and-love-access-2010.aspx">my experiences of Access 2010&lt;/a>, well if you want to know more have a look at the &lt;a href="http://channel9.msdn.com/shows/Access/Microsoft-Access-2010-Demo/">video by Clint Covington and Ryan McMinn on Channel 9&lt;/a>&lt;/p></description></item><item><title>Visual Studio 2010 Beta 2 release and a new licensing model</title><link>https://blogs.blackmarble.co.uk/rfennell/visual-studio-2010-beta-2-release-and-a-new-licensing-model/</link><pubDate>Mon, 19 Oct 2009 19:34:14 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/visual-studio-2010-beta-2-release-and-a-new-licensing-model/</guid><description>
&lt;p>About 2 hours ago &lt;a href="http://blogs.msdn.com/bharry/archive/2009/10/19/vs-2010-beta-2-is-now-available-for-msdn-subscriber-download.aspx">Visual Studio 2010 Beta 2 was released to MSDN subscribers&lt;/a>, the usual wait for the download now start!&lt;/p>
&lt;p>Also the &lt;a href="http://blogs.msdn.com/bharry/archive/2009/10/19/vs-2010-licensing-changes.aspx">revised SKU and licensing model for 2010&lt;/a> was made public by Brian Harry. This is meant to be simplification, but still remains fairly complex with the usually questions over ‘is that in this SKU or that?’&lt;/p>
&lt;p>The key point for me is that the cost of entry for TFS is going to drop significantly, as the TFS server and a client CAL is included in the MSDN subscriptions with the VS Pro, Premium and Ultimate SKUs. Should break down a few barriers&lt;/p></description></item><item><title>Access Services in SharePoint 2010 or: How I Learned to Stop Worrying and Love Access 2010</title><link>https://blogs.blackmarble.co.uk/rfennell/access-services-in-sharepoint-2010-or-how-i-learned-to-stop-worrying-and-love-access-2010/</link><pubDate>Mon, 19 Oct 2009 18:52:44 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/access-services-in-sharepoint-2010-or-how-i-learned-to-stop-worrying-and-love-access-2010/</guid><description>
&lt;p>So what I have I been doing of late? The blog has been a bit quiet. Well I have been having a good look at Access Services in SharePoint 2010. This has been an interesting experience, as I am not historically what you might call an avid Access developer.&lt;/p>
&lt;p>Like most .NET developers I had looked as Access as more of a file format than an application, something from the past. Something that I might use for a small data store, maybe in a web application hosted on a cheaper ISP that does not provide ‘a real’ SQL DB, or where an XML data files don’t seem right, often because I just can’t be bothered to work out the XPATH. When using Access as a data format it seems easier to get at my data using basic hand crafted SQL commands or maybe at most via a OLEDB Data Adaptor/DataSet. All very old old school. Thinking about Access in this way just seems an easy way out, playing it safe with the knowledge I have. I don’t for a second propose that this a good idea, you should not be looking at using any technology just because it is there and you already know it. There are obvious downsides, using Access in this manner meant that from the ADO.NET developer side I could not:&lt;/p></description></item><item><title>I'm off to Ireland this week</title><link>https://blogs.blackmarble.co.uk/rfennell/im-off-to-ireland-this-week/</link><pubDate>Sun, 18 Oct 2009 17:22:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/im-off-to-ireland-this-week/</guid><description>
&lt;p>I am off to present in Ireland this week in a double header with another of Black Marble's test team, Robert Hancock. We will be appearing at the Microsoft Ireland Visual Studio Academy. Our subject is &lt;a href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032428280&amp;amp;Culture=en-IE">Improved efficiency throughout the test cycle&lt;/a>. As registration is still open I guess there are still spaces, so if it is of interest to you why not sign up (and who is not interested in testing?)&lt;/p></description></item><item><title>Local events reminder</title><link>https://blogs.blackmarble.co.uk/rfennell/local-events-reminder/</link><pubDate>Mon, 12 Oct 2009 21:27:07 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/local-events-reminder/</guid><description>
&lt;p>Wednesday this week is the next Agile Yorkshire meeting, there are 2 presentations and a discussion planned:&lt;/p>
&lt;ul>
&lt;li>Agile War Stories: A Project Managers Perspective. Ian Carroll&lt;/li>
&lt;li>User Story Estimation: Alan Williams&lt;/li>
&lt;li>An open discussion about Lean and Kanban in software development.&lt;/li>
&lt;/ul>
&lt;p>As usual the meeting is  at The Victoria Hotel, Leeds from 6:30 onwards for a 7:00 start. See &lt;a href="http://www.agileyorkshire.org">www.agileyorkshire.org&lt;/a> for more details.&lt;/p>
&lt;p>On Tuesday next week there is the &lt;a href="http://www.westyorkshire.bcs.org/2009/08/14/the-world-of-ubuntu-and-open-source/">West Yorkshire BCS meeting&lt;/a> on ‘The World of Ubuntu and Open Source’ by Matthew Barker of Canonical Ltd. As usual the venue is the The Met, King Street, Leeds, LS1 2HQ&lt;/p></description></item><item><title>TF252005 Error when creating new collections on TFS 2010 Beta1</title><link>https://blogs.blackmarble.co.uk/rfennell/tf252005-error-when-creating-new-collections-on-tfs-2010-beta1/</link><pubDate>Wed, 07 Oct 2009 19:26:21 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/tf252005-error-when-creating-new-collections-on-tfs-2010-beta1/</guid><description>
&lt;p>This week I tried to add a new project collection to our TFS 2010 Beta1 test system. All seemed to be going OK, the settings verified without issue but I got the error TF252005 when it tried to create the associated SharePoint site (on the WSS 3.0 instance on the TFS application tier).&lt;/p>
&lt;p>Now unlike TFS 2008 this was not a blocking problem. On 2008 if any team project step failed, such as the team WSS site creation, then the team project was rolled back. It is a really nice feature of 2010 that if there is an error it does try to do as much as it can. So in my case, I ended up with TFS collection with no associated SharePoint site collections, not what I wanted but usable.&lt;/p></description></item><item><title>TFS for the small team</title><link>https://blogs.blackmarble.co.uk/rfennell/tfs-for-the-small-team/</link><pubDate>Sun, 04 Oct 2009 17:56:44 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/tfs-for-the-small-team/</guid><description>
&lt;p>Over the weekend &lt;a href="http://blogs.msdn.com/bharry/archive/2009/10/01/tfs-2010-for-sourcesafe-users.aspx">Brian Harry posted on this blog about a new ‘Basic’ edition of TFS.&lt;/a> This is aimed squarely small team currently using Visual SourceSafe. It will provide version control with work item tracking and can be run on SQLExpress. The key difference for the ‘Standard ‘ edition is that it will not have SharePoint or Reporting Services integration. For far fuller details check the &lt;a href="http://blogs.msdn.com/bharry/archive/2009/10/01/tfs-2010-for-sourcesafe-users.aspx">blog post&lt;/a>.&lt;/p>
&lt;p>I think this is going to be a really interesting addition to TFS. This announcement answers a question I was repeated asked at our [TFS2010 event last week](&lt;a href="http://www.blackmarble.co.uk/events.aspx?event=Managing">http://www.blackmarble.co.uk/events.aspx?event=Managing&lt;/a> the Application Lifecycle&amp;amp;Code=), ‘we are a small team with VSS, I want something simple to move us forward, what should I use? TFS seems a bit complex and expensive’ So for me it is well timed and well placed within the marketplace.&lt;/p></description></item><item><title>Some good new for Bletchley Park</title><link>https://blogs.blackmarble.co.uk/rfennell/some-good-new-for-bletchley-park/</link><pubDate>Tue, 29 Sep 2009 10:36:43 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/some-good-new-for-bletchley-park/</guid><description>
&lt;p>&lt;a href="http://news.bbc.co.uk/1/hi/england/beds/bucks/herts/8279926.stm">Bletchley Park have announced&lt;/a> that they have got some Lottery Grant funding, which is great news. Again I you urge you to &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/archive/2009/09/07/your-support-can-keep-our-industries-history-alive.aspx">visit if you are interested in the history of our trade&lt;/a>.&lt;/p></description></item><item><title>Agile Yorkshire Twitter feeds</title><link>https://blogs.blackmarble.co.uk/rfennell/agile-yorkshire-twitter-feeds/</link><pubDate>Sat, 26 Sep 2009 18:02:04 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/agile-yorkshire-twitter-feeds/</guid><description>
&lt;p>You can now get updates on Agile Yorkshire events via twitter &lt;a href="http://twitter.com/search#search?q=%40agileyorkshire%20" title="http://twitter.com/search#search?q=%40agileyorkshire%20">@agileyorkshire&lt;/a>&lt;/p></description></item><item><title>Licensing kicks off again</title><link>https://blogs.blackmarble.co.uk/rfennell/licensing-kicks-off-again/</link><pubDate>Tue, 22 Sep 2009 12:55:54 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/licensing-kicks-off-again/</guid><description>
&lt;p>Must be that time of year, I see we are looking at an &lt;a href="http://www.scrumalliance.org/resources/1059">exam for Scrum Masters&lt;/a>&lt;/p>
&lt;p>I don’t see any point in my &lt;a href="http://blogs.blackmarble.co.uk/blogs/bm-bloggers/pages/232.aspx">repeating myself&lt;/a>, especially when &lt;a href="http://gojko.net/2009/09/22/joe-the-developer-doesnt-need-a-certificate/">Gojko has covered essence of the subject so well&lt;/a>&lt;/p></description></item><item><title>TF21508 Error, cannot see build server after moving a Hyper-V image</title><link>https://blogs.blackmarble.co.uk/rfennell/tf21508-error-cannot-see-build-server-after-moving-a-hyper-v-image/</link><pubDate>Thu, 17 Sep 2009 12:18:47 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/tf21508-error-cannot-see-build-server-after-moving-a-hyper-v-image/</guid><description>
&lt;p>We have been consolidating our Hyper-V system of late, moving various older systems onto a new SAN based cluster. This has meant we have just moved our virtual TFS2008 build machines. After the move I started seeing the following error on all the builds using that server, re-enabling the build machine had no effect.&lt;/p>
&lt;p>&lt;a href="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_5991C24B.png">&lt;img
loading="lazy"
decoding="async"
alt="image"
class="image_figure image_internal image_unprocessed"
src="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_thumb_5FD898D9.png"
title="image"
/>
&lt;/a>&lt;/p>
&lt;p>I restarted the build VM but this did not fix the problem; I had to also restart the TFS2008 AT, once this was done all was fine. I guess that there was a cached IP/ARP table somewhere routing packets the wrong way.&lt;/p></description></item><item><title>Windows 7 Boot from VHD</title><link>https://blogs.blackmarble.co.uk/rfennell/windows-7-boot-from-vhd/</link><pubDate>Thu, 17 Sep 2009 10:47:12 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/windows-7-boot-from-vhd/</guid><description>
&lt;p>I have been having a play with the boot from VHD functions in Windows 7, it seems like a really useful feature when you need the raw power of your PC, but would like the ease of management of Virtual PCs (i.e. can copy them around and archive them), There are many posts on the steps that are required to add a boot from VHD partition  to an existing standard install (remember the VHD must be for a Windows 7 or Windows 2008 R2 operating system), I followed notes on &lt;a href="http://blogs.msdn.com/knom/archive/2009/04/07/windows-7-vhd-boot-setup-guideline.aspx">knom’s developer corner&lt;/a>. Just a couple of things that got me:&lt;/p></description></item><item><title>New free tools to help manager or TFS based projects from Telerik</title><link>https://blogs.blackmarble.co.uk/rfennell/new-free-tools-to-help-manager-or-tfs-based-projects-from-telerik/</link><pubDate>Wed, 09 Sep 2009 15:51:02 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/new-free-tools-to-help-manager-or-tfs-based-projects-from-telerik/</guid><description>
&lt;p>Telerik have just release a new work item manager and dashboard application for TFS, first impressions are very good. &lt;a href="http://www.telerik.com/products/tfsmanager-and-tfsdashboard.aspx">Why not download your copy and have a look?&lt;/a>&lt;/p></description></item><item><title>Your support can keep our industry's history alive</title><link>https://blogs.blackmarble.co.uk/rfennell/your-support-can-keep-our-industrys-history-alive/</link><pubDate>Mon, 07 Sep 2009 10:38:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/your-support-can-keep-our-industrys-history-alive/</guid><description>
&lt;p>We had a company outing at the weekend to &lt;a href="http://www.bletchleypark.org.uk/">Bletchley Park&lt;/a> for their Annual Enigma Reunion event. A great chance to see the place where &lt;a href="http://www.bletchleypark.org.uk/content/hist/wartime.rhtm">Enigma was cracked&lt;/a> and some of the equipment they used to do it, such as the working  &lt;a href="http://www.jharper.demon.co.uk/bombe1.htm">rebuild of a Turing Bombe&lt;/a>&lt;/p>
&lt;p>&lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/Bombe_Front1_600DE4FD.jpg">
&lt;img
loading="lazy"
decoding="async"
alt="Turing Bombe rebuild"
class="image_figure image_external image_unprocessed"
src="http://blogs.blackmarble.co.uk/blogs/rfennell/Bombe_Front1_thumb_31B45F50.jpg"
title="Turing Bombe rebuild"
/>
&lt;/a>&lt;/p>
&lt;p>Whilst down there we also took the chance to have a good look around the &lt;a href="http://www.tnmoc.org/home.aspx">National Museum of Computing&lt;/a>, which shares the site; you know are are getting old when a &lt;a href="http://www.tnmoc.org/hands-on.aspx">third of a museum is devoted to equipment&lt;/a> you have worked on!&lt;/p></description></item><item><title>September’s Agile Yorkshire meeting</title><link>https://blogs.blackmarble.co.uk/rfennell/septembers-agile-yorkshire-meeting/</link><pubDate>Mon, 07 Sep 2009 10:09:36 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/septembers-agile-yorkshire-meeting/</guid><description>
&lt;p>This Wednesday is the night for the regular &lt;a href="http://www.agileyorkshire.org/">Agile Yorkshire&lt;/a> meeting, It was meant to be on &lt;a href="http://research.microsoft.com/en-us/projects/Pex/">Pex&lt;/a> but the speaker has had to cancel (&lt;a href="http://blog.benhall.me.uk/2009/02/ddd7-session-video-microsoft-pex-future.html">but you can see a video he did on the subject at DDD online&lt;/a>).&lt;/p>
&lt;p>So in Ben’s place we are doing some &lt;a href="http://www.agileyorkshire.org/2009-event-announcements/09Sept09">Grok Talks, short ad hoc open mike talks.&lt;/a> It should make for lively discussions, and is that not the &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/archive/2009/08/25/welcome-to-the-past-of-software-development.aspx">key purpose of any user group&lt;/a>?&lt;/p>
&lt;p>So, free beer usual place, Wednesday night, hope to see you there&lt;/p></description></item><item><title>TF250020 error creating new Team Projects</title><link>https://blogs.blackmarble.co.uk/rfennell/tf250020-error-creating-new-team-projects/</link><pubDate>Wed, 02 Sep 2009 20:00:27 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/tf250020-error-creating-new-team-projects/</guid><description>
&lt;p>Whilst working on our TFS2010 Beta 1 test server today I got the following error when I tried to create a new team project&lt;/p>
&lt;p>&lt;em>TF250020: The following SharePoint Web application is not valid:&lt;/em> &lt;a href="http://vs2010.mydomain.com">&lt;em>http://vs2010.mydomain.com&lt;/em>&lt;/a>&lt;em>. Verify that you have the correct URL.&lt;/em>&lt;/p>
&lt;p>I thought this strange, as I was doing nothing I had not done before, creating a MSF Agile team project with default settings. What I did notice was that in the new project wizard I had the server URL as &lt;a href="http://vs2010">http://vs2010&lt;/a> but the error message said &lt;a href="http://vs2010.mydomain.com">&lt;em>http://vs2010.mydomain.com&lt;/em>&lt;/a>. So I checked the alternate access mappings in the WSS central admin, only vs2010 was listed, so I added vs2010.mydomain.com as the Internet alias and it all leapt into life when I tried the wizard again.&lt;/p></description></item><item><title>And another nice feature for Windows 7</title><link>https://blogs.blackmarble.co.uk/rfennell/and-another-nice-feature-for-windows-7/</link><pubDate>Mon, 31 Aug 2009 11:17:17 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/and-another-nice-feature-for-windows-7/</guid><description>
&lt;p>&lt;a href="http://windows.microsoft.com/en-US/windows7/products/features/homegroup">Homegroup&lt;/a> certainly make home networking easier, especially when the PC is part of a domain as well, it just works. No more fiddling with rights between home accounts and domain users.&lt;/p></description></item><item><title>Update on Media Center on Windows 7</title><link>https://blogs.blackmarble.co.uk/rfennell/update-on-media-center-on-windows-7/</link><pubDate>Mon, 31 Aug 2009 10:36:51 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/update-on-media-center-on-windows-7/</guid><description>
&lt;p>Since the &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/archive/2009/08/14/upgrading-my-media-center-to-windows-7.aspx">upgrade of my Media Center PC&lt;/a> to Windows 7 I have had a few problems with fast forward on recorded TV and DVDs (which I had not seen on Vista). It was as if the fast forward button on my remote got jammed on and I could not go back to standard playback easily, it took a few seconds for the message to get through, then you ended up back where you started.&lt;/p></description></item><item><title>Recording of my SQLBits Session on Visual Studio 2008</title><link>https://blogs.blackmarble.co.uk/rfennell/recording-of-my-sqlbits-session-on-visual-studio-2008/</link><pubDate>Mon, 31 Aug 2009 10:16:46 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/recording-of-my-sqlbits-session-on-visual-studio-2008/</guid><description>
&lt;p>A webcast recording of &lt;a href="http://sqlbits.com/Agenda/event4/Making_the_SQL_developer_one_of_the_family_with_Visual_Studio_Team_System/default.aspx">SQLBits IV session ‘Making the SQL developer one of the family with Visual Studio Team System’&lt;/a> is now available on the SQLBits site. This discusses the features of the VS2008 Database GDR Edition.&lt;/p>
&lt;p>Unfortunately I will not be proposing a session for this years &lt;a href="http://sqlbits.com/">SQLBits community event on the 21st of November 2009 at Celtic Manor in Newport&lt;/a>, as I will be travelling back from the &lt;a href="http://microsoftpdc.com/">Microsoft PDC in LA&lt;/a>&lt;/p></description></item><item><title>Epicenter follow up</title><link>https://blogs.blackmarble.co.uk/rfennell/epicenter-follow-up/</link><pubDate>Fri, 28 Aug 2009 09:45:03 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/epicenter-follow-up/</guid><description>
&lt;p>Thanks to those people who attended my sessions at &lt;a href="http://epicenter.ie/">Epicenter&lt;/a> yesterday in Dublin. For hose who asked you can find [copies of the presentation at the Black Marble web site](&lt;a href="http://www.blackmarble.co.uk/SectionDisplay.aspx?name=Publications&amp;amp;subsection=Conference">http://www.blackmarble.co.uk/SectionDisplay.aspx?name=Publications&amp;subsection=Conference&lt;/a> Papers).&lt;/p></description></item><item><title>Welcome to the past of software development</title><link>https://blogs.blackmarble.co.uk/rfennell/welcome-to-the-past-of-software-development/</link><pubDate>Tue, 25 Aug 2009 21:56:17 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/welcome-to-the-past-of-software-development/</guid><description>
&lt;p>I was at an interesting meeting at my local &lt;a href="http://www.westyorkshire.bcs.org/">BCS branch&lt;/a> tonight &lt;a href="http://www.westyorkshire.bcs.org/2009/08/opening-the-black-box-an-introduction-to-quality-driven-development/">‘Opening The Black Box: An Introduction to Quality Driven Development’&lt;/a>  by &lt;a href="http://www.bcs.org/server.php?show=ConBlog.21">Tim Hunter&lt;/a>. I had heard of &lt;a href="http://en.wikipedia.org/wiki/Test-driven_development">TDD&lt;/a> and &lt;a href="http://en.wikipedia.org/wiki/Domain-driven_design">DDD&lt;/a> etal. but QDD was new to me.&lt;/p>
&lt;p>What we got was a hour framed by the basic premise that ‘&lt;a href="http://en.wikipedia.org/wiki/Waterfall_model">Waterfall&lt;/a> is good - &lt;a href="http://en.wikipedia.org/wiki/Agile_software_development">Agile&lt;/a> is bad’ (or progressive methods as the speaker called anything that was not waterfall). As another attendee pointed out in the Q&amp;amp;A, this tone in the presentation tended to cloud the more balanced points, managing to get the backs up of a good few attendees by the speaker’s seeming lack of understanding of god agile practices. He seemed to see agile as developers messing around, no documentation, testing or general engineering discipline. He argued that without waterfall, and specifically quality gates, we could not write quality systems. This is not the Agile I know.&lt;/p></description></item><item><title>Webcast on ASP.NET testing</title><link>https://blogs.blackmarble.co.uk/rfennell/webcast-on-asp-net-testing/</link><pubDate>Tue, 25 Aug 2009 10:02:57 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/webcast-on-asp-net-testing/</guid><description>
&lt;p>I have just attended an excellent free webinar session on &lt;a href="http://blog.typemock.com/2009/08/unit-testing-aspnet-live-webinar.html">ASP.NET testing with Ivonna and Typemock&lt;/a> by &lt;a href="http://gil-zilberfeld.blogspot.com/">Gil Zilberfeld&lt;/a> of Typemock and &lt;a href="http://sm-art.biz/Ivonna/Blog.aspx">Artem Smirnov&lt;/a> creator of &lt;a href="http://sm-art.biz/Ivonna.aspx">Ivonna&lt;/a> a Typemock add-on for &lt;a href="http://www.typemock.com/ASP.NET_unit_testing_page.php">unit testing ASP.NET&lt;/a>&lt;/p>
&lt;p>The session is being repeated today at 2pm GMT and I understand a recording will appear on the Typemock site in due course.&lt;/p>
&lt;p>So if you get a chance this afternoon have look, it is well worth your time if you work in the ASP.NET space. Personally I have also found &lt;a href="http://www.blackmarble.co.uk/ConferencePapers/2009/Developer%20Testing%20SharePoint%20using%20Typemock%20Isolator.pdf">Ivonna useful for Sharepoint testing&lt;/a> too, watch the session it might give you some ideas.&lt;/p></description></item><item><title>Nice explanation of using Kanban for support</title><link>https://blogs.blackmarble.co.uk/rfennell/nice-explanation-of-using-kanban-for-support/</link><pubDate>Fri, 21 Aug 2009 08:45:50 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/nice-explanation-of-using-kanban-for-support/</guid><description>
&lt;p>Doron at Typemock has posted a nice description of how they use &lt;a href="http://blog.typemock.com/2009/08/utilizing-kanban-to-manage-support-at.html">Kanban for managing support&lt;/a>. A good introduction for those unfamiliar with lean&lt;/p></description></item><item><title>This past week’s Nxtgen events</title><link>https://blogs.blackmarble.co.uk/rfennell/this-past-weeks-nxtgen-events/</link><pubDate>Thu, 20 Aug 2009 12:21:38 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/this-past-weeks-nxtgen-events/</guid><description>
&lt;p>Thanks to everyone who attended my two &lt;a href="http://www.nxtgenug.net">Nxtgen&lt;/a> session on Sharepoint and Typemock in Birmingham and Manchester. You can find &lt;a href="http://www.blackmarble.co.uk/ConferencePapers/2009/Developer%20Testing%20SharePoint%20using%20Typemock%20Isolator.pdf">copies of the slide on the Black Marble site.&lt;/a>&lt;/p>
&lt;p>There was a good deal of chat in how Typemock could be used for more general ASP.NET testing; if this is of interest to you I would strongly recommended &lt;a href="http://blog.typemock.com/2009/08/unit-testing-aspnet-live-webinar.html">Typemock’s next webinar on the 25th of August on Unit testing ASP.NET with Isolator and Ivonna&lt;/a>&lt;/p></description></item><item><title>Red button works in the BBC Interactive</title><link>https://blogs.blackmarble.co.uk/rfennell/red-button-works-in-the-bbc-interactive/</link><pubDate>Sat, 15 Aug 2009 15:28:20 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/red-button-works-in-the-bbc-interactive/</guid><description>
&lt;p>Cool, I just noticed that on Windows 7 Media Center with a Hauppauge Nova 500 T Tuner card the &lt;a href="http://www.bbc.co.uk/digital/tv/tv_interactive.shtml">red button&lt;/a> works; so at last I can get Digital Teletext and interactive channels on the BBC without having to know their actual channel numbers (and as I remember they were actually ignored by previous versions of Media Center without a registry hack anyway).&lt;/p>
&lt;p>This makes using MCE just like a standard Digital TV – should help general acceptance. This has certainly improved since the &lt;a href="http://blogs.blackmarble.co.uk/blogs/bm-bloggers/archive/2006/06/25/5266.aspx">older versions&lt;/a>.&lt;/p></description></item><item><title>Nxtgen UK tour reminder</title><link>https://blogs.blackmarble.co.uk/rfennell/nxtgen-uk-tour-reminder/</link><pubDate>Sat, 15 Aug 2009 09:21:42 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/nxtgen-uk-tour-reminder/</guid><description>
&lt;p>A reminder that next week I will be speaking on ‘Developer testing of SharePoint projects using Typemock’ at two Nxtgen user groups:&lt;/p>
&lt;ul>
&lt;li>&lt;a href="http://www.nxtgenug.net/ViewEvent.aspx?EventID=217">Birmingham on the 18th Aug 2009&lt;/a>&lt;/li>
&lt;li>&lt;a href="http://www.nxtgenug.net/ViewEvent.aspx?EventID=216">Manchester on the 19th Aug 2009&lt;/a>&lt;/li>
&lt;/ul>
&lt;p>Hope to see you there.&lt;/p></description></item><item><title>Speaking at Epicenter 2009, the Irish Software Show</title><link>https://blogs.blackmarble.co.uk/rfennell/speaking-at-epicenter-2009-the-irish-software-show/</link><pubDate>Sat, 15 Aug 2009 09:17:21 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/speaking-at-epicenter-2009-the-irish-software-show/</guid><description>
&lt;p>I am speaking at &lt;a href="http://epicenter.ie/">Epicenter 2009, the Irish Software Show&lt;/a> at the end of the month. The conference runs from the Wednesday the 26th to Friday the 28th. My sessions on TFS 2010 are both on the Thursday the 27th as part of the ‘Microsoft zone’&lt;/p>
&lt;ul>
&lt;li>Application Lifecycle Management - Moving beyond source control&lt;/li>
&lt;li>Making Testers Part of the Development Team&lt;/li>
&lt;/ul>
&lt;p>This is an interesting conference as it aims to address a wide variety of technologies i.e. not just Microsoft or Open Source. I find this type of conference a great way to catch up on technology I am not usually that exposed to; just the same &lt;a href="http://www.agileyorkshire.org/">ethos as Agile Yorkshire&lt;/a> where Java and .Net developers can constructively compare their worlds.&lt;/p></description></item><item><title>Upgrading my Media Center to Windows 7</title><link>https://blogs.blackmarble.co.uk/rfennell/upgrading-my-media-center-to-windows-7/</link><pubDate>Fri, 14 Aug 2009 22:29:11 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/upgrading-my-media-center-to-windows-7/</guid><description>
&lt;p>Over the past couple of days I have upgraded my Vista based Media Center to Windows 7. After my previous experiences upgrading from XP &lt;a href="http://blogs.blackmarble.co.uk/blogs/bm-bloggers/archive/2006/12/09/Feel-my-Vista-pain_2E002E002E002E002E002E002E00_.aspx">here&lt;/a>,  &lt;a href="http://blogs.blackmarble.co.uk/blogs/bm-bloggers/archive/2006/12/19/Vista-media-center-update.aspx">here&lt;/a>  and &lt;a href="http://blogs.blackmarble.co.uk/blogs/bm-bloggers/archive/2007/01/13/Coming-out-of-sleep-mode-in-Vista.aspx">here&lt;/a> I decided to do a new install onto a new 1Tb disk as opposed to an in place upgrade. This all went OK, there was nothing major to note, Windows 7 shipped with a driver for everything in my 3 year old AMD/ASUS based PC bar the sound card built into my motherboard, but that was easily downloaded. It is worth commenting that my Hauppauge Nova 500 T digital TV turner was found OK, but I had to get it to scan for channels three times before it got a signal. Why it worked the third time I don’t know as I did not change anything.&lt;/p></description></item><item><title>Slides from yesterdays presentation at VBUG</title><link>https://blogs.blackmarble.co.uk/rfennell/slides-from-yesterdays-presentation-at-vbug/</link><pubDate>Wed, 12 Aug 2009 22:28:37 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/slides-from-yesterdays-presentation-at-vbug/</guid><description>
&lt;p>Thanks to everyone who attended my VBUG session yesterday on ‘Enabling agile development with Visual Studio Team System 2010’. I have just posted the &lt;a href="http://www.blackmarble.co.uk/ConferencePapers/2009/Using%20Visual%20Studio%20Team%20System%202010%20to%20enable%20Agile%20Development.pdf">slides on Black Marble’s web site&lt;/a>&lt;/p></description></item><item><title>Expression Suite Version 3 and Source Control</title><link>https://blogs.blackmarble.co.uk/rfennell/expression-suite-version-3-and-source-control/</link><pubDate>Tue, 04 Aug 2009 14:08:54 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/expression-suite-version-3-and-source-control/</guid><description>
&lt;p>It is good to see that at last &lt;a href="http://www.microsoft.com/expression/">Expression Web and Blend&lt;/a> have got source control integrated into their IDEs. This is a vital feature if developers and designers are to work together effectively on the same code. It is a shame that the integration is just for TFS, it would be nice to support other source repositories to get an even wider reach, but TFS is enough for me now.&lt;/p></description></item><item><title>Isn’t the new Paste preview in Office 2010 cools</title><link>https://blogs.blackmarble.co.uk/rfennell/isnt-the-new-paste-preview-in-office-2010-cools/</link><pubDate>Sun, 02 Aug 2009 20:54:22 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/isnt-the-new-paste-preview-in-office-2010-cools/</guid><description>
&lt;p>I love the new paste preview selection in Word 2010&lt;/p>
&lt;p>&lt;a href="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_4A1B5ECD.png">&lt;img
loading="lazy"
decoding="async"
alt="image"
class="image_figure image_internal image_unprocessed"
src="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_thumb_174B5859.png"
title="image"
/>
&lt;/a>&lt;/p>
&lt;p>This really is cutting down the number of paste, undo, paste special, damn undo again that failed so paste into paint or notepad, reselect and copy try again sequences I am going through.&lt;/p></description></item><item><title>Outlook 2010 email searching</title><link>https://blogs.blackmarble.co.uk/rfennell/outlook-2010-email-searching/</link><pubDate>Sat, 25 Jul 2009 07:28:10 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/outlook-2010-email-searching/</guid><description>
&lt;p>Since I installed Outlook 2010 technical preview I have not been able to search emails using the ‘search mail’ boxes in Outlook (which links into Windows desktop search). I had not realised how much I used the feature until it did not work. When I tried a search I was shown a dialog saying there was 40000+ items waiting to be indexed, and this number was not changing. It seemed that the indexing of Outlook contents had stopped.&lt;/p></description></item><item><title>Visual Studio 2008 connecting to TFS 2010</title><link>https://blogs.blackmarble.co.uk/rfennell/visual-studio-2008-connecting-to-tfs-2010/</link><pubDate>Tue, 21 Jul 2009 15:54:44 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/visual-studio-2008-connecting-to-tfs-2010/</guid><description>
&lt;p>You can connect a Visual Studio 2008 IDE instance to a TFS 2010 server, as &lt;a href="http://geekswithblogs.net/hinshelm/archive/2009/05/26/connecting-vs2008-to-any-tfs2010-project-collection.aspx">detailed in Martin Hinshelwood’s blog&lt;/a>, but I cannot stress enough you have to have &lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=FBEE1648-7106-44A7-9649-6D9F6D58056E&amp;amp;displaylang=en">VS2008 SP1 installed&lt;/a>. If you don’t, you get an error dialog when you enter the URL for the TFS server saying the URL contains invalid characters.&lt;/p>
&lt;p>This seems a simple rule, but as I found today it is easy to not realise your PC is not patched. You look in the about dialog for Visual Studio and it says SP1 installed, but the Team Foundation Client has not been. This was because the following installation order was followed:&lt;/p></description></item><item><title>A major day in history</title><link>https://blogs.blackmarble.co.uk/rfennell/a-major-day-in-history/</link><pubDate>Tue, 21 Jul 2009 13:27:50 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/a-major-day-in-history/</guid><description>
&lt;p>With all this coverage of the moon landings I am surprised that the other major news item of 40 years ago today has not been covered – the Fennell family moved house. I ask you just what are the priorities of the news media?&lt;/p></description></item><item><title>Outlook 2010 crashing after in place upgrade</title><link>https://blogs.blackmarble.co.uk/rfennell/outlook-2010-crashing-after-in-place-upgrade/</link><pubDate>Fri, 17 Jul 2009 14:51:27 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/outlook-2010-crashing-after-in-place-upgrade/</guid><description>
&lt;p>I downloaded and installed the Office 2010 technical preview today. All seemed to go OK (after I realised  I could only do an in place upgrade from 32bit Office 2007 –&amp;gt; 32bit Office 2010), once the upgrade was done I could load Word and using our VSTO based document templates all seemed to work fine. However when I tried Outlook I got a problem.&lt;/p>
&lt;p>On the first loading it took a while, telling me it was doing something to  40K+ items, presumably checking the local OST file, but then seemed to load OK. However after about 30 seconds it crashed, and continued to do this every time I rebooted Outlook even when I was tried safe mode, add-ins switched off and/or offline working. It all had no effect. Checking the event log I saw I had the error:&lt;/p></description></item><item><title>My Glasgow presentation last night.</title><link>https://blogs.blackmarble.co.uk/rfennell/my-glasgow-presentation-last-night/</link><pubDate>Thu, 16 Jul 2009 16:04:17 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/my-glasgow-presentation-last-night/</guid><description>
&lt;p>Thanks to everyone who turned up for my presentation on Typemock and Sharepoint in Glasgow last night. I have just upload &lt;a href="http://www.blackmarble.co.uk/ConferencePapers/2009/Developer%20Testing%20SharePoint%20using%20Typemock%20Isolator.pdf">my slides onto the Black Marble site&lt;/a>. As the session was quite demo driven the slides don’t offer the best code samples. If you want to experiment yourselves I would suggest you look at my &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/archive/tags/Typemock/default.aspx">related posts on this blog&lt;/a> and remember if you don’t have Typemock you can download trial versions of all the products I used from &lt;a href="http://www.typemock.com">www.typemock.com&lt;/a>&lt;/p></description></item><item><title>Speaking at Scottish Developers on Typemock</title><link>https://blogs.blackmarble.co.uk/rfennell/speaking-at-scottish-developers-on-typemock/</link><pubDate>Mon, 13 Jul 2009 12:19:06 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/speaking-at-scottish-developers-on-typemock/</guid><description>
&lt;p>On Wednesday the 15th this week I will be speaking at &lt;a href="http://www.eventbrite.com/event/359662761/newsletter">Scottish Developers on developer testing of SharePoint&lt;/a>. This is a free event so please come along if you are interested and in the area.&lt;/p>
&lt;p>If you are not able to make it to Glasgow but are interested in the subject then why not check out &lt;a href="http://blog.typemock.com/2009/07/typemock-webinar-on-jul-15-unit-testing.html">Typemock’s free live webinars also on the 15th&lt;/a>.&lt;/p>
&lt;p>&lt;a href="http://www.typemock.com/proxy/redirect.php?id=0423">
&lt;img
loading="lazy"
decoding="async"
alt="Proud to be a Typemock MVP"
class="image_figure image_external image_unprocessed"
src="http://www.typemock.com/images/mvp_button.jpg"
/>
&lt;/a>.&lt;/p></description></item><item><title>Video recording gotta for VS2010 Test Runner</title><link>https://blogs.blackmarble.co.uk/rfennell/video-recording-gotta-for-vs2010-test-runner/</link><pubDate>Sun, 12 Jul 2009 11:00:40 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/video-recording-gotta-for-vs2010-test-runner/</guid><description>
&lt;p>&lt;a href="http://channel9.msdn.com/shows/10-4/10-4-Episode-23-An-Introduction-to-Manual-Testing/">VS2010 has excellent new features to assist the tester in general, and specifically in the area of manual testing&lt;/a>. One of these is the ability to video a manual test run; to get this to work you have to have the &lt;a href="http://www.microsoft.com/windows/windowsmedia/forpros/encoder/default.mspx">Windows Media Encoder 9&lt;/a> installed as well as the VS2010 Test Runner . If you don’t have it installed and try to use the video feature you get a dialog that warns you this component is missing and would you like to either download it or disable video recording feature for this test run.&lt;/p></description></item><item><title>Grow your own testing framework</title><link>https://blogs.blackmarble.co.uk/rfennell/grow-your-own-testing-framework/</link><pubDate>Thu, 09 Jul 2009 10:48:34 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/grow-your-own-testing-framework/</guid><description>
&lt;p>&lt;a href="http://blog.benhall.me.uk/2009/07/mefunit-prototype-of-mef-unit-testing.html">Ben Hall has written an interesting post&lt;/a> on creating a testing framework with &lt;a href="http://www.codeplex.com/MEF">MEF.&lt;/a> As Ben said it is more a learning exercise for MEF than a useful product but it certainly show show the ease you can add meta data and reflection like functionality to your codebase. Wish it had been about when I wrote &lt;a href="http://guitester.codeplex.com/">GUITeste&lt;/a>r&lt;/p></description></item><item><title>And eScrum is no more</title><link>https://blogs.blackmarble.co.uk/rfennell/and-escrum-is-no-more/</link><pubDate>Tue, 07 Jul 2009 09:05:46 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/and-escrum-is-no-more/</guid><description>
&lt;p>I have &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/archive/tags/eScrum/default.aspx">posted in the past about the TFS 2005 and 2008 Process Template eScrum&lt;/a> from Microsoft; a template we use internally for a number of Agile projects. Well today it has been removed from the Microsoft download sites.&lt;/p>
&lt;p>&lt;a href="http://blogs.msdn.com/bharry/archive/2009/06/10/the-future-of-escrum.aspx">It was decided a while ago&lt;/a> that it would not be updated to support TFS2010 and has been removed to avoid any confusion over whether it is support or not by Microsoft (FYI it was never officially supported anyway as it did not originate inside the TFS team)&lt;/p></description></item><item><title>Fun with a SQLExpress 2005 upgrade 2008</title><link>https://blogs.blackmarble.co.uk/rfennell/fun-with-a-sqlexpress-2005-upgrade-2008/</link><pubDate>Mon, 06 Jul 2009 12:33:33 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/fun-with-a-sqlexpress-2005-upgrade-2008/</guid><description>
&lt;p>On my development PC I had a 2005 instance of SQLExpress that was installed as part of the VS2008 setup. I thought I had upgraded it when I put on the SQL 2008 Management tools and/or VS2010 beta, but it seems I didn’t. I thought I would try the new &lt;a href="http://www.microsoft.com/web/downloads/platform.aspx">Microsoft Web Platform Installer&lt;/a>, but this also thought I had done the upgrade to 2008, I suspect due to the fact I had the 2008 management tools.&lt;/p></description></item><item><title>July Agile Yorkshire meeting</title><link>https://blogs.blackmarble.co.uk/rfennell/july-agile-yorkshire-meeting/</link><pubDate>Mon, 06 Jul 2009 10:12:42 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/july-agile-yorkshire-meeting/</guid><description>
&lt;p>Don’t forget this month’s Agile Yorkshire meeting is this Wednesday at the Victoria Hotel in Leeds. It is the usual mix of free beer, great conversation and an excellent speaker (note: you can assign your own ranking order as these factors, using a suitable Agile planning model).&lt;/p>
&lt;p>This month the speaker is &lt;a href="http://www.agileyorkshire.org/2009-event-announcements/8thjulynancyvanschooenderwoert-pleasevoteforyourchoiceofsubject">Nancy Van Schooenderwoert on ‘Seven Paradoxes of Agile Software Development&lt;/a>’.&lt;/p>
&lt;p>Hope to see you there.&lt;/p></description></item><item><title>Remember the new URL format for the TFS2010 web services have changed</title><link>https://blogs.blackmarble.co.uk/rfennell/remember-the-new-url-format-for-the-tfs2010-web-services-have-changed/</link><pubDate>Fri, 03 Jul 2009 14:25:37 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/remember-the-new-url-format-for-the-tfs2010-web-services-have-changed/</guid><description>
&lt;p>To have a good look at TFS2010 I have migrated some existing VS2008 projects to VS2010. This has meant they are now being built using a new TFS 2010 build server. Now I wanted to make sure everyone still knew what was building and what was not, so I updated the configuration on &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/archive/2008/12/22/update-in-using-stylecop-in-tfs-team-build.aspx">our build wallboard&lt;/a> to get the status from both the older 2008 and the new 2010 server – and it did not work. I fiddled around, upgraded the build wallboard to use the TFS2010 assemblies, all to no avail, the application just exited when I tried to get a reference to the build service.&lt;/p></description></item><item><title>Visual Studio 2010 project upgrade bug; test assemblies being copied to release folders in error</title><link>https://blogs.blackmarble.co.uk/rfennell/visual-studio-2010-project-upgrade-bug-test-assemblies-being-copied-to-release-folders-in-error/</link><pubDate>Fri, 03 Jul 2009 13:08:21 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/visual-studio-2010-project-upgrade-bug-test-assemblies-being-copied-to-release-folders-in-error/</guid><description>
&lt;p>After I upgraded an ASP.NET Web Application VS2008 solution to VS2010 I found a strange problem. When I build either the whole solution or the test project in the solution the test assembly gets copies to Web Applications bin directory. However if I build the solution from the command line with MSBUILD they are not copied (so MSBUILD behaves as VS2008 used to).&lt;/p>
&lt;p>Turns out it is easy to repeat, the process is as follows:&lt;/p></description></item><item><title>Re-awarded MVP</title><link>https://blogs.blackmarble.co.uk/rfennell/re-awarded-mvp/</link><pubDate>Thu, 02 Jul 2009 12:32:13 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/re-awarded-mvp/</guid><description>
&lt;p>I am really happy to say that I have had my &lt;a href="http://mvp.support.microsoft.com/">MVP for Team System Re-awarded&lt;/a>, it is a privilege to get to work with such a great group of people as a have met via the MVP programme.&lt;/p></description></item><item><title>Problems with uplink on an 8 port Netgear Gigabit switch</title><link>https://blogs.blackmarble.co.uk/rfennell/problems-with-uplink-on-an-8-port-netgear-gigabit-switch/</link><pubDate>Tue, 30 Jun 2009 09:39:06 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/problems-with-uplink-on-an-8-port-netgear-gigabit-switch/</guid><description>
&lt;p>All the ports on the &lt;a href="http://www.netgear.com/Products/Switches/DesktopSwitches/GS608.aspx">Netgear GS608&lt;/a> I think are meant to be auto speed and uplink sensing, I have found this not to be true. I had the 1Gb uplink to our central switches in Port 8 and a 100Mb Ethernet workstation in port 2 could not get an IP address via DHCP. When I moved the uplink to Port 1 it all leapt into life. Interestingly other 1Gb PCs in other ports had no problem with the uplink in either port 1 or 8.&lt;/p></description></item><item><title>.NET Framework 3.5 SP1 issue on Windows SharePoint Services v2.0</title><link>https://blogs.blackmarble.co.uk/rfennell/net-framework-3-5-sp1-issue-on-windows-sharepoint-services-v2-0/</link><pubDate>Mon, 29 Jun 2009 10:02:52 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/net-framework-3-5-sp1-issue-on-windows-sharepoint-services-v2-0/</guid><description>
&lt;p>If you apply the TFS2008 SP1 to a system that has been upgraded from TFS 2005, but the WSS was not upgraded from 2.0 to 3.0 you can get a problem that you cannot access the SharePoint portal sites due to WebPart load errors (you get an Event ID: 1000 error in the Windows event logs). This is because the TFS 2008 SP1 installs .NET framework 3.5 SP1 which causes some &lt;a href="http://blogs.msdn.com/sharepoint/archive/2008/08/27/net-framework-3-5-sp1-issue-on-windows-sharepoint-services-v2-0.aspx">problems for WSS 2.0&lt;/a>. Note this is not usually a problem for new installs of TFS 2008 as these use WSS 3.0 by default, but the upgrade of TFS from 2005 to 2008 does not force the upgrade of WSS 2.0 to 3.0 so sites that upgraded are susceptible.&lt;/p></description></item><item><title>Logging everything that is going on when an assembly loads using CThru</title><link>https://blogs.blackmarble.co.uk/rfennell/logging-everything-that-is-going-on-when-an-assembly-loads-using-cthru/</link><pubDate>Mon, 22 Jun 2009 11:33:01 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/logging-everything-that-is-going-on-when-an-assembly-loads-using-cthru/</guid><description>
&lt;p>Whist trying to work out if there is any way to get around the problem I am &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/archive/2009/04/07/testing-sharepoint-workflows-using-typemock-isolator-part-3.aspx">suffering with Sharepoint workflows idling inside a Typemock Isolator&lt;/a> test harness I have been having a good look at &lt;a href="http://cthru.codeplex.com/">CThru&lt;/a>; a set if libraries for Typemock that, and I quote Codeplex here, ‘… allows creating interception and isolation frameworks for logging, testing and many other things very simply’. This is the framework is used to create the Silverlight mocking frame work on the same Codeplex site.&lt;/p></description></item><item><title>0x800106ba Windows Defender error in Windows Vista</title><link>https://blogs.blackmarble.co.uk/rfennell/0x800106ba-windows-defender-error-in-windows-vista/</link><pubDate>Sun, 21 Jun 2009 12:24:03 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/0x800106ba-windows-defender-error-in-windows-vista/</guid><description>
&lt;p>I was installing a new PC for a friend yesterday; after using the &lt;a href="http://www.microsoft.com/windows/windows-vista/get/easy-transfer.aspx">Easy Transfer Wizard&lt;/a> (first time I used this and I can heartily recommend) to move their settings from their old XP system to their new Vista one I got the 0x800106ba Windows Defender error on start-up. Now there is a lot of frankly useless comments on this error on various forums, strange as the solution is simple. I suspect this is down to this issue being predominantly a problem that hits home user who are not a familiar with the internal workings of services etc. in Windows.&lt;/p></description></item><item><title>29109 error when installing the quiescence GDR patch for TFS 2005</title><link>https://blogs.blackmarble.co.uk/rfennell/29109-error-when-installing-the-quiescence-gdr-patch-for-tfs-2005/</link><pubDate>Fri, 12 Jun 2009 11:03:54 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/29109-error-when-installing-the-quiescence-gdr-patch-for-tfs-2005/</guid><description>
&lt;p>Whilst upgrading a single server TFS 2005 to a dual server 2008 install I hit a problem. I had installed the new 2005 Data Tier (DT) and patched it without issue. However then I tried to apply the patch VS80-KB19156-v2-x86, the Quiescence GDR patch, on the Application Tier (AT) I got the 29109 error: SQL Reporting Services configuration encountered an unknown problem. A search on the web found this is a &lt;a href="http://msdn.microsoft.com/en-us/library/dd266793.aspx">common issue&lt;/a> usually fixed by repeated retries! This did not work for me.&lt;/p></description></item><item><title>TFS Sharepoint Extensions on a Load Balanced Sharepoint farm</title><link>https://blogs.blackmarble.co.uk/rfennell/tfs-sharepoint-extensions-on-a-load-balanced-sharepoint-farm/</link><pubDate>Wed, 10 Jun 2009 12:51:39 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/tfs-sharepoint-extensions-on-a-load-balanced-sharepoint-farm/</guid><description>
&lt;p>I &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/archive/2009/06/09/tf30227-error-when-creating-team-projects-on-tfs-2008.aspx">posted yesterday&lt;/a> about problem creating a new team project if you had missing templates on your Sharepoint server. This problem could of course be avoided if you had installed the TFS Sharepoint Extensions onto your Sharepoint server as your are meant to. However, as I have discovered it is not that easy to do if your chosen  Sharepoint system has network load balanced front ends.&lt;/p>
&lt;p>The problem is that Sharepoint will replicate your MSFAGILE30.STP template between the various servers, but it will not move other TFS artefacts such as the TFSREDIRECT.ASPX in the 12 hive or setting to point to the reporting service instance in the registry. To add these other items you need to install the extensions an then run the TFSConfigwss.exe tool to edit the registry. The problem is the Extensions MSI will not complete if it detects the STP already in place (which as I said will that have been replicated by Sharepoint). The only solution I found was to cheat a bit:&lt;/p></description></item><item><title>TF30227 error when creating team projects on TFS 2008</title><link>https://blogs.blackmarble.co.uk/rfennell/tf30227-error-when-creating-team-projects-on-tfs-2008/</link><pubDate>Tue, 09 Jun 2009 21:25:27 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/tf30227-error-when-creating-team-projects-on-tfs-2008/</guid><description>
&lt;p>Historically we have used the eScrum process template for our TFS team projects. However, with a view to the TFS 2010 future we have decided to moved back to the MSF Agile template. We used eScrum to provide an easy to use web based project dashboard; we now think that we can achieve the same or better in TFS 2010 using Excel’s enhanced links to TFS and Excel Services in Sharepoint.&lt;/p></description></item><item><title>Addressing binding issues with with Ivonna 2.0.0 using &amp;lt;dependentAssembly&amp;gt; in web.config</title><link>https://blogs.blackmarble.co.uk/rfennell/addressing-binding-issues-with-with-ivonna-2-0-0-using-dependentassembly-in-web-config/</link><pubDate>Fri, 29 May 2009 15:28:09 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/addressing-binding-issues-with-with-ivonna-2-0-0-using-dependentassembly-in-web-config/</guid><description>
&lt;p>I have been having some binding problems when trying to use &lt;a href="http://www.sm-art.biz/Ivonna/Download.aspx">Ivonna 2.0.0&lt;/a> against a version of &lt;a href="http://www.typemock.com/Buy.php">Typemock Isolator&lt;/a> other than the 5.3.0 build it was built to run against. This is a know issue, if your version of Ivonna and Typemock don’t match then you have to use &lt;a href="http://msdn.microsoft.com/en-us/library/eftw1fys.aspx">.Net Binding redirection&lt;/a> to get around the problem.&lt;/p>
&lt;p>So to track down the exact problem I used the &lt;a href="http://msdn.microsoft.com/en-us/library/e74a18c4%28vs.71%29.aspx">Fusion logger shipped with the .NET SDK (via fuslogvw.exe).&lt;/a> This in itself has been an interesting experience. A few points are worth noting:&lt;/p></description></item><item><title>The setup story for TFS 2010</title><link>https://blogs.blackmarble.co.uk/rfennell/the-setup-story-for-tfs-2010/</link><pubDate>Wed, 27 May 2009 20:09:59 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/the-setup-story-for-tfs-2010/</guid><description>
&lt;p>I have been looking at the various install and upgrade stories for the TFS 2010 Beta. I have to say they are very nice compared to the older TFS versions. You now have a SharePoint like model where you install the product then use a separate configuration tool to upgrade or setup the features required. There are plenty of places to verify your setting as you go along to greatly reducing the potential mistakes.&lt;/p></description></item><item><title>Everytime I have to use Typemock I need to ask does my code stinks?</title><link>https://blogs.blackmarble.co.uk/rfennell/everytime-i-have-to-use-typemock-i-need-to-ask-does-my-code-stinks/</link><pubDate>Sun, 24 May 2009 09:06:01 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/everytime-i-have-to-use-typemock-i-need-to-ask-does-my-code-stinks/</guid><description>
&lt;p>Ok a bit sweeping but I think there is truth in this, if you have to resort to a mocking framework (such as Typemock the one I use) I think it is vital to ask ‘why am I using this tool?’ I think there are three possible answers:&lt;/p>
&lt;ol>
&lt;li>I have to mock some back box that is huge and messy that if I don’t mock it will mean any isolated testing is impossible e.g. SharePoint&lt;/li>
&lt;li>I have to mock a complex object, I could write it all by hand, but it is quicker to use an auto-mocking framework. Why do loads of typing when a tool can generate it for me? (the same argument as to why using Refactoring tools are good, they are faster than me typing and make less mistakes)&lt;/li>
&lt;li>My own code is badly designed and the only way to test it is to use a mocking framework to swap out functional units via ‘magic’ at runtime.&lt;/li>
&lt;/ol>
&lt;p>If the bit of code I am testing fails into either of the first two categories it is OK, but if it is in third I know must seriously consider some refactoring. Ok this is not always possible for technical or budgetary reasons, but I should at least consider it. Actually you could consider category 1 as a special case of category 3, a better testable design may be possible, but it is out of your control.&lt;/p></description></item><item><title>Post Developer Day South West thoughts</title><link>https://blogs.blackmarble.co.uk/rfennell/post-developer-day-south-west-thoughts/</link><pubDate>Sun, 24 May 2009 08:47:08 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/post-developer-day-south-west-thoughts/</guid><description>
&lt;p>&lt;a href="http://www.dddsouthwest.com/">DD-SW in Taunton&lt;/a> seems to go well, a big thank you to &lt;a href="http://www.dotnetdevnet.com/">Guy and the rest of the Bristol .NET user group&lt;/a> for all their work getting this event up and running. Also it was nice to see new faces, it is certainly a good idea to get the DDD family events out to places beyond Reading, spreading the good works of the community across the country.&lt;/p>
&lt;p>Thank you to those who attended my session on Scrum, I hope you all found it useful. You can find a virtually &lt;a href="http://www.blackmarble.co.uk/ConferencePapers/2007/DDD6%20Presentation%20-%20An%20Introduction%20to%20Scrum.ppt">identical set the slides on the Black Marble web site&lt;/a> and the actual stack I used will be up on the DD-SW site soon.&lt;/p></description></item><item><title>Developer Day South West is this weekend</title><link>https://blogs.blackmarble.co.uk/rfennell/developer-day-south-west-is-this-weekend/</link><pubDate>Thu, 21 May 2009 09:58:35 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/developer-day-south-west-is-this-weekend/</guid><description>
&lt;p>It is &lt;a href="http://www.dddsouthwest.com/Home/tabid/36/Default.aspx">Developer Day South West&lt;/a> this weekend where I will be &lt;a href="http://www.dddsouthwest.com/Agenda/tabid/55/Default.aspx">speaking on Scrum&lt;/a>. I may also do a lunch time grok talk on SharePoint and Typemock Isolator as I did at &lt;a href="http://www.developerdayscotland.com/">Developer Day Scotland&lt;/a>.&lt;/p>
&lt;p>I think there are still spaces at this event, so if you can make your way down to Taunton on Saturday I think it will be well worth the trip.&lt;/p></description></item><item><title>Timeouts on Bitlocker to go</title><link>https://blogs.blackmarble.co.uk/rfennell/timeouts-on-bitlocker-to-go/</link><pubDate>Thu, 21 May 2009 09:51:16 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/timeouts-on-bitlocker-to-go/</guid><description>
&lt;p>Since moving to Windows 7 I have encrypted all my USB pen drives and external USB disk drives with &lt;a href="http://www.microsoft.com/windows/enterprise/products/windows-7-bitlocker.aspx">Bitlocker to go&lt;/a>. This has been working great for me, I have noticed no performance problems and it give nice piece of mind. The only irritation is when you plug the encrypted drive into an XP or Vista PC you can’t read it, but this is &lt;a href="http://news.softpedia.com/news/Windows-7-BitLocker-To-Go-Backwards-Compatible-with-XP-and-Vista-110080.shtml">meant to be being addressed&lt;/a>.&lt;/p>
&lt;p>However, I have seen one issue, this is that there seems to be a timeout if the bitlockered to go device is not accessed for a while (well over an hour is my guess, I have not timed it) it relocks itself and the password has to be re-entered. I can’t find any setting anywhere to control this timeout. I suppose the workaround is to set the bitlockered device to always automatically unlock on my PC, but I do like the security of having to enter the key manually.&lt;/p></description></item><item><title>TF255048 Error when installing TFS 2010 beta 1</title><link>https://blogs.blackmarble.co.uk/rfennell/tf255048-error-when-installing-tfs-2010-beta-1/</link><pubDate>Thu, 21 May 2009 08:38:09 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/tf255048-error-when-installing-tfs-2010-beta-1/</guid><description>
&lt;p>When you setup a dual or multi server TFS installation you need to specify the location of the OLAP Analysis service instance that will be used for the reporting warehouse. As with much of the TFS installation and configuration process there is a test button to confirm your setting will work, these are always worth pressing. If there is a problem you could get a TF255048 error, as the text says this hints the server cannot be found or you have no rights to access it, which may well be the case.&lt;/p></description></item><item><title>Microsoft.AnalysisServices Assemblies missing when configuring Reporting Services on multiple server TFS 2010 Beta1</title><link>https://blogs.blackmarble.co.uk/rfennell/microsoft-analysisservices-assemblies-missing-when-configuring-reporting-services-on-multiple-server-tfs-2010-beta1/</link><pubDate>Wed, 20 May 2009 15:23:50 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/microsoft-analysisservices-assemblies-missing-when-configuring-reporting-services-on-multiple-server-tfs-2010-beta1/</guid><description>
&lt;p>TFS 2010 provides far more options for the configuration of your server than the previous versions. You now can easily make use of any existing server resources you have such as SharePoint farms or Enterprise SQL installations. Today I was looking at one of these ‘less standard’ setups using some of our test lab equipment (hence the somewhat strange mix of 32bit and 64bit hardware) and hit a problem with the TFS beta 1 release configuration tool.&lt;/p></description></item><item><title>Getting &amp;quot;failed to start&amp;quot; with a SharePoint workflow</title><link>https://blogs.blackmarble.co.uk/rfennell/getting-failed-to-start-with-a-sharepoint-workflow/</link><pubDate>Wed, 20 May 2009 10:00:48 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/getting-failed-to-start-with-a-sharepoint-workflow/</guid><description>
&lt;p>I have been playing around with some workflow code for a demo I am doing. This has meant creating and deleting a workflow project as I refine the demo. Whilst going through the process of a delete and recreate of the workflow (using the same name for the project/workflow but creating a new project from the VS file menu) I hit the problem that when the new version of the workflow was run I got a “failed to start” error.&lt;/p></description></item><item><title>Visual Studio Team System 2010 Beta 1 has shipped</title><link>https://blogs.blackmarble.co.uk/rfennell/visual-studio-team-system-2010-beta-1-has-shipped/</link><pubDate>Mon, 18 May 2009 20:52:11 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/visual-studio-team-system-2010-beta-1-has-shipped/</guid><description>
&lt;p>Today the &lt;a href="http://www.microsoft.com/visualstudio/en-gb/products/2010/default.mspx">Visual Studio 2010 Team Suite Beta 1&lt;/a> and &lt;a href="http://www.microsoft.com/visualstudio/en-gb/products/2010/default.mspx">Visual Studio 2010 Team Foundation Server Beta 1&lt;/a> became available to download for MSDN subscribers and will be available to the general public on Wednesday.&lt;/p></description></item><item><title>London Alt.Net Conference is now full</title><link>https://blogs.blackmarble.co.uk/rfennell/london-alt-net-conference-is-now-full/</link><pubDate>Mon, 18 May 2009 17:12:20 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/london-alt-net-conference-is-now-full/</guid><description>
&lt;p>Wow, the &lt;a href="http://www.altnetuk.com/2009.en.html">Alt.Net conference in London&lt;/a> in August certainly filled up fast. On Friday I went into a meeting before registration opened, and by the time I came out the first wave was full. I now see that the second wave of registration is also full.&lt;/p>
&lt;p>Unfortunately I can’t make this one, but I am sure it will be a success. I really like the format that is being tried, a bit for everyone.&lt;/p></description></item><item><title>New bundle from Typemock</title><link>https://blogs.blackmarble.co.uk/rfennell/new-bundle-from-typemock/</link><pubDate>Mon, 18 May 2009 10:22:41 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/new-bundle-from-typemock/</guid><description>
&lt;p>I have been blogging for a while now on using Tyepmock &amp;amp; Ivonna for various forms of testing, well you can bow buy both packages as a bundle and here is the blog/press viral marketing release…..&lt;/p>
&lt;p>&lt;a href="http://www.typemock.com/">&lt;em>Unit Testing&lt;/em>&lt;/a> &lt;em>ASP.NET?&lt;/em> &lt;a href="http://www.typemock.com/ASP.NET_unit_testing_page.php">&lt;em>ASP.NET unit testing&lt;/em>&lt;/a> &lt;em>has never been this easy.&lt;/em>&lt;/p>
&lt;p>&lt;em>Typemock is launching a new product for ASP.NET developers – the &lt;strong>ASP.NET Bundle&lt;/strong> - and for the launch will be giving out &lt;strong>FREE licenses&lt;/strong> to bloggers and their readers.&lt;/em>&lt;/p></description></item><item><title>Last nights Agile Yorkshire meeting on Exploratory Testing</title><link>https://blogs.blackmarble.co.uk/rfennell/last-nights-agile-yorkshire-meeting-on-exploratory-testing/</link><pubDate>Thu, 14 May 2009 22:18:10 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/last-nights-agile-yorkshire-meeting-on-exploratory-testing/</guid><description>
&lt;p>I was unable to attend the last Agile Yorkshire meeting, shame it sounds like it was a good one. The slides are up and give a really nice overview of the theory behind exploratory testing, worth a look at &lt;a href="http://www.agileyorkshire.org/2009-event-announcements/may13th-exploratorytesting/ExploratoryTesting.ppt">http://www.agileyorkshire.org/2009-event-announcements/may13th-exploratorytesting/ExploratoryTesting.ppt&lt;/a>&lt;/p></description></item><item><title>Misleading error message adding a user on Windows 2008</title><link>https://blogs.blackmarble.co.uk/rfennell/misleading-error-message-adding-a-user-on-windows-2008/</link><pubDate>Wed, 13 May 2009 11:11:12 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/misleading-error-message-adding-a-user-on-windows-2008/</guid><description>
&lt;p>Today I was setting up a new development VPC for SharePoint. When I tried to add a new user via the AD tools wizard I got the error&lt;/p>
&lt;p>&lt;em>&amp;quot;Windows cannot set the password for [new user], network path was not found&amp;quot;&lt;/em>&lt;/p>
&lt;p>Forums suggest the issue is DNS resolution related, but for me it turned out to be the simple fact the password I was using did not meet the domains minimum requirements.&lt;/p></description></item><item><title>Alt.Net UK Conference 2009</title><link>https://blogs.blackmarble.co.uk/rfennell/alt-net-uk-conference-2009/</link><pubDate>Tue, 12 May 2009 21:15:25 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/alt-net-uk-conference-2009/</guid><description>
&lt;p>Good news, there will be an Alt.Net UK Conference in London over the first weekend of August. Bit of a different format this time:&lt;/p>
&lt;p>&lt;a href="http://www.altnetuk.com/2009-07-31">Alt.Net Beers&lt;/a> _A social opportunity to discuss Alt.Net over a few beers.&lt;br>
__Friday, July 31, 2009 from 6:00 PM until 9:00 PM&lt;br>
_&lt;a href="http://maps.google.co.uk/maps?q=82&amp;#43;Dean&amp;#43;Street%2c&amp;#43;London%2c&amp;#43;W1D&amp;#43;3HA%2c&amp;#43;United&amp;#43;Kingdom">82 Dean Street, London, W1D 3HA, United Kingdom&lt;/a>&lt;/p>
&lt;p>&lt;a href="http://www.altnetuk.com/2009-08-01">Open Space Coding Day&lt;/a> _A day of hands-on coding where the attendees choose the subjects.&lt;br>
__Saturday, August 01, 2009 from 9:00 AM until 5:00 PM&lt;br>
_&lt;a href="http://maps.google.co.uk/maps?q=36&amp;#43;Southwark&amp;#43;Bridge&amp;#43;Road%2c&amp;#43;London%2c&amp;#43;SE1&amp;#43;9EU%2c&amp;#43;United&amp;#43;Kingdom">36 Southwark Bridge Road, London, SE1 9EU, United Kingdom&lt;/a>&lt;/p></description></item><item><title>A day at the Architect Insight Conference</title><link>https://blogs.blackmarble.co.uk/rfennell/a-day-at-the-architect-insight-conference/</link><pubDate>Sat, 09 May 2009 16:00:21 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/a-day-at-the-architect-insight-conference/</guid><description>
&lt;p>I was at the &lt;a href="http://msdn.microsoft.com/en-gb/architecture/dd135209.aspx">Architect Insight Conference&lt;/a> yesterday, so the big question is do I better know the role of the architect in the development process – I have to say no. Don’t get me wrong the event was interesting, I especially enjoyed the interactive group discussion sessions, one of which I chaired if that is the right term. As I have said about other conference I tend to find I get more from the discussions with other delegates than the more tradition presentation sessions.&lt;/p></description></item><item><title>Another speaking engagement – Vbug Newcastle on SharePoint Testing</title><link>https://blogs.blackmarble.co.uk/rfennell/another-speaking-engagement-vbug-newcastle-on-sharepoint-testing/</link><pubDate>Sat, 09 May 2009 15:13:43 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/another-speaking-engagement-vbug-newcastle-on-sharepoint-testing/</guid><description>
&lt;p>&lt;strong>Update 15 May&lt;/strong> – Date changed due to unexpected overseas trip&lt;/p>
&lt;p>I will be doing a session on Testing SharePoint using Typemock Isolator on the 3rd June 17th June in Newcastle. &lt;a href="http://www.vbug.co.uk/events/default.aspx">Check the Vbug site&lt;/a> for more details.&lt;/p></description></item><item><title>Virtual PC on Windows 7</title><link>https://blogs.blackmarble.co.uk/rfennell/virtual-pc-on-windows-7/</link><pubDate>Sat, 09 May 2009 14:58:54 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/virtual-pc-on-windows-7/</guid><description>
&lt;p>You can &lt;a href="http://blogs.msdn.com/virtual_pc_guy/archive/2009/01/13/windows-7-on-virtual-pc-on-windows-7.aspx">run Virtual PC 2007 on Windows 7&lt;/a>, but Windows 7 does include a new &lt;a href="http://blogs.msdn.com/virtual_pc_guy/archive/2009/05/06/windows-7-rc-windows-virtual-pc-beta-now-available.aspx">version of Virtual PC as part of the operating system&lt;/a>, which is good.&lt;/p>
&lt;p>The problem I have, and as will many others, is though my 64Bit Acer 8210’s Intel process has hardware virtualization support, Acer for some bizarre reason chose to disable it in the BIOS; thought it was enabled in the 32bit 8200 series, and is enable in the later Travelmate equivalents. Acer are not alone in this choice. This means that many people with fairly recent PCs will not be able to run the newer version of Virtual PC.&lt;/p></description></item><item><title>Next weeks Agile Yorkshire meeting</title><link>https://blogs.blackmarble.co.uk/rfennell/next-weeks-agile-yorkshire-meeting/</link><pubDate>Wed, 06 May 2009 21:23:57 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/next-weeks-agile-yorkshire-meeting/</guid><description>
&lt;p>Don’t forget the next Agile Yorkshire meeting on the 13th of May about &lt;a href="http://www.agileyorkshire.org/2009-event-announcements/may13th-exploratorytesting">Exploratory testing&lt;/a>. Usual time, usual place, usual free pint for everyone thanks to our sponsors.&lt;/p></description></item><item><title>Updating Windows 7 Beta to RC</title><link>https://blogs.blackmarble.co.uk/rfennell/updating-windows-7-beta-to-rc/</link><pubDate>Wed, 06 May 2009 15:24:24 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/updating-windows-7-beta-to-rc/</guid><description>
&lt;p>The upgrade took about 2 hours following the ‘&lt;a href="http://windows7news.com/2009/04/09/windows-7-beta-to-rc-upgrade-instructions/comment-page-59/">enable in-place upgrade&lt;/a>’ notes. There was a lot of no progress bar movement &amp;amp; percentages not changing whilst the disk light flashed, but we got there in the end.&lt;/p>
&lt;p>Thus far all seems OK. so the summary a bit slow but smooth&lt;/p></description></item><item><title>My grok talk on Sharepoint testing with Typemock Isolator and Ivonna at DD Scotland</title><link>https://blogs.blackmarble.co.uk/rfennell/my-grok-talk-on-sharepoint-testing-with-typemock-isolator-and-ivonna-at-dd-scotland/</link><pubDate>Sun, 03 May 2009 20:50:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/my-grok-talk-on-sharepoint-testing-with-typemock-isolator-and-ivonna-at-dd-scotland/</guid><description>
&lt;p>I had an enjoyable day at Developer Day Scotland in Glasgow yesterday; a big thank you to the organisers and speakers.&lt;/p>
&lt;p>I did a short grok talk on ‘Testing Sharepoint using Typemock Isolator and Ivonna’, a few people asked me for more details. Well the session was based on &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/archive/2008/12/04/developer-testing-of-sharepoint-webparts-using-typemock-isolator-and-ivonna.aspx">a post&lt;/a> I did a while ago. I have updated that post to tidy a couple of issue I found whilst preparing the session. If you need more details of the potential pitfalls in using these tools I suggest you also look at the &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/archive/2009/05/01/testing-access-attributes-on-the-microsoft-mvc-framework.aspx">MVC post&lt;/a> I did a few days ago as this details the setup you need to get it going.&lt;/p></description></item><item><title>Testing access attributes on the Microsoft MVC framework</title><link>https://blogs.blackmarble.co.uk/rfennell/testing-access-attributes-on-the-microsoft-mvc-framework/</link><pubDate>Fri, 01 May 2009 08:56:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/testing-access-attributes-on-the-microsoft-mvc-framework/</guid><description>
&lt;p>The MVC framework provides an excellent way to create a testable web site. In fact when you create a new MVC project you are given the option to create an associated test project that contains MSTEST unit tests for all the sample methods in the MVC Controller class; which you can add to as you go along.&lt;/p>
&lt;p>Recently whilst working on an MVC project I noticed that the one area that this model does not let you test is that of access control. MVC uses attributes on Controller methods to limit who can access what e.g.&lt;/p></description></item><item><title>My NxtGen tour in August</title><link>https://blogs.blackmarble.co.uk/rfennell/my-nxtgen-tour-in-august/</link><pubDate>Wed, 29 Apr 2009 15:06:04 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/my-nxtgen-tour-in-august/</guid><description>
&lt;p>I will be speaking on developer testing of SharePoint projects using Typemock at both the Birmingham and Manchester NXtGen user groups in August.&lt;/p>
&lt;p>For more details check the &lt;a href="http://www.nxtgenug.net/events.aspx">NxtGen site&lt;/a>.&lt;/p></description></item><item><title>Licensing exception with Ivonna the Typemock add-in (and any other add-ins I suspect)</title><link>https://blogs.blackmarble.co.uk/rfennell/licensing-exception-with-ivonna-the-typemock-add-in-and-any-other-add-ins-i-suspect/</link><pubDate>Sat, 25 Apr 2009 18:51:37 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/licensing-exception-with-ivonna-the-typemock-add-in-and-any-other-add-ins-i-suspect/</guid><description>
&lt;p>Like a good developer I have been trying to run Visual Studio with least privilege; with Windows 7 this seems to work well. My main account is not an administrator, but Windows prompts me for elevated rights when needed. I have been developing happily with Visual Studio and &lt;a href="http://typemock.com/Typemock_software_development_tools.php">Typemock&lt;/a> without any need for extra rights.&lt;/p>
&lt;p>However, when I have been doing some testing using &lt;a href="http://www.sm-art.biz/Ivonna.aspx">Ivonna&lt;/a>, the Typemock add-in, I hit a problem. When I tried to create an &lt;em>Ivonna.Framework.TestSession()&lt;/em> I got a &lt;em>Licensing.LicenseException: This copy has expired.&lt;/em> Which it hadn’t as I have a fully licensed product.&lt;/p></description></item><item><title>System.Web.Abstractions missing on a ASP.NET web site</title><link>https://blogs.blackmarble.co.uk/rfennell/system-web-abstractions-missing-on-a-asp-net-web-site/</link><pubDate>Fri, 24 Apr 2009 08:55:41 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/system-web-abstractions-missing-on-a-asp-net-web-site/</guid><description>
&lt;p>I recently re-enabled feature on a ASP.NET site. This feature (a set of pages) had been running OK about six months ago for an initial pilot project but was disabled until now until a decision was made to develop the feature fully. In intervening time the web site had other modification and had been rebuilt (it was targeted at .NET 3.5) without issue.&lt;/p>
&lt;p>When I re-enabled the feature (renamed a .ASPX file) I got the error&lt;/p></description></item><item><title>Follow up to my session yesterday at VBug Newcatsle on DataDude GDR</title><link>https://blogs.blackmarble.co.uk/rfennell/follow-up-to-my-session-yesterday-at-vbug-newcatsle-on-datadude-gdr/</link><pubDate>Thu, 23 Apr 2009 09:30:59 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/follow-up-to-my-session-yesterday-at-vbug-newcatsle-on-datadude-gdr/</guid><description>
&lt;p>Thanks to everyone who attended my session at VBug Newcastle last night, hope you enjoyed.&lt;/p>
&lt;p>As I mentioned in my session, to celebrate my talking at VBug, Microsoft chose to release the &lt;a href="https://www.microsoft.com/downloads/details.aspx?FamilyID=bb3ad767-5f69-4db9-b1c9-8f55759846ed&amp;amp;displaylang=en">Visual Studio Team System 2008 Database Edition GDR R2&lt;/a> yesterday. If you are using DataDude you do need to get this installed, it addresses many know issues.&lt;/p>
&lt;p>Slides virtually identical to yesterdays, as used at SQLBits, are on the &lt;a href="http://www.blackmarble.co.uk/ConferencePapers/2009/SQLBits%20IV%20-%20%27Making%20the%20SQL%20developer%20one%20of%20the%20family%20with%20Visual%20Studio%20Team%20System%27.ppt">Black Marble site&lt;/a>&lt;/p></description></item><item><title>Speaking in Newcastle tomorrow</title><link>https://blogs.blackmarble.co.uk/rfennell/speaking-in-newcastle-tomorrow/</link><pubDate>Tue, 21 Apr 2009 13:30:09 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/speaking-in-newcastle-tomorrow/</guid><description>
&lt;p>If you are in Newcastle on the evening of the 22nd I will be speaking at &lt;a href="http://www.vbug.co.uk/Events/April-2009/VBUG-Newcastle-Making-the-SQL-developer-one-of-the-family-with-VSTS.aspx">Vbug on Visual Studio 2008 Database Edition&lt;/a>.&lt;/p>
&lt;p>Hope to see you there.&lt;/p></description></item><item><title>Next Agile Yorkshire Meeting – Exploratory Testing</title><link>https://blogs.blackmarble.co.uk/rfennell/next-agile-yorkshire-meeting-exploratory-testing/</link><pubDate>Sat, 18 Apr 2009 21:34:43 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/next-agile-yorkshire-meeting-exploratory-testing/</guid><description>
&lt;p>Next months Agile Yorkshire meeting is on the &lt;a href="http://www.agileyorkshire.org/2009-event-announcements/may13th-exploratorytesting">13th May where Ralph Williams will be talking about Exploratory Testing&lt;/a>, the session outline sound interesting.&lt;/p></description></item><item><title>Alt.Net ‘In the north’ – wrapping it all up</title><link>https://blogs.blackmarble.co.uk/rfennell/alt-net-in-the-north-wrapping-it-all-up/</link><pubDate>Sat, 18 Apr 2009 21:10:46 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/alt-net-in-the-north-wrapping-it-all-up/</guid><description>
&lt;p>Thanks to everyone who was able to attend the &lt;a href="http://www.altdotnetuknorth.info/">Alt.net ‘In the North’&lt;/a> conference today; and also to our sponsors. The event could not happened without you all.&lt;/p>
&lt;p>As promised here is the list of blogs, books etc. we had on the whiteboard.&lt;/p>
&lt;p>**Books&lt;br>
**&lt;a href="%20Specification%20by%20Example%20and%20Agile%20Acceptance%20Testing">Bridging the Communication Gap: Specification by Example and Agile Acceptance Testing&lt;/a> Gojko Adzic&lt;br>
&lt;a href="http://www.amazon.co.uk/User-Stories-Applied-Development-Signature/dp/0321205685/ref=sr_1_1?ie=UTF8&amp;amp;s=books&amp;amp;qid=1240086737&amp;amp;sr=8-1">User Stories Applied: For Agile Software Development (Addison Wesley Signature Series)&lt;/a> by Mike Cohn&lt;br>
&lt;a href="http://www.amazon.co.uk/Agile-Estimating-Planning-Robert-Martin/dp/0131479415/ref=sr_1_2?ie=UTF8&amp;amp;s=books&amp;amp;qid=1240086737&amp;amp;sr=8-2">Agile Estimating and Planning&lt;/a> by Mike Cohn&lt;br>
&lt;a href="http://www.amazon.co.uk/Crystal-Clear-Human-Powered-Methodology-Small/dp/0201699478/ref=sr_1_1?ie=UTF8&amp;amp;s=books&amp;amp;qid=1240086945&amp;amp;sr=8-1">Crystal Clear: A Human-Powered Methodology for Small Teams&lt;/a> by Alistair Cockburn&lt;br>
&lt;a href="http://www.amazon.co.uk/Domain-driven-Design-Tackling-Complexity-Software/dp/0321125215/ref=sr_1_1?ie=UTF8&amp;amp;s=books&amp;amp;qid=1240086975&amp;amp;sr=8-1">Domain-driven Design: Tackling Complexity in the Heart of Software&lt;/a> by Eric Evans&lt;br>
&lt;a href="http://www.amazon.co.uk/Sketching-User-Experiences-Interactive-Technologies/dp/0123740371/ref=sr_1_1?ie=UTF8&amp;amp;s=books&amp;amp;qid=1240087047&amp;amp;sr=1-1">Sketching User Experiences: Getting the Design Right and the Right Design&lt;/a> by Bill Buxton&lt;/p></description></item><item><title>Alt.net ‘In the North’ starts tonight</title><link>https://blogs.blackmarble.co.uk/rfennell/alt-net-in-the-north-starts-tonight/</link><pubDate>Fri, 17 Apr 2009 11:49:02 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/alt-net-in-the-north-starts-tonight/</guid><description>
&lt;p>Looking forward to seeing everyone at &lt;a href="http://www.altdotnetuknorth.info/">Alt.Net ‘in the North&lt;/a>’ over the next two days.&lt;/p>
&lt;p>If you cannot make the planning session tonight, but are in Bradford later, we will be in the &lt;a href="http://www.jdwetherspoon.co.uk/pubs/pub-details.php?PubNumber=1389">Titus Salt Pub&lt;/a> for a few drinks sponsored by &lt;a href="http://www.seedsoftware.co.uk/">SEED software&lt;/a>. We will probably be upstairs from about 8:30pm&lt;/p>
&lt;p>Technorati Tags: &lt;a href="http://technorati.com/tags/altnetuk">altnetuk&lt;/a>&lt;/p></description></item><item><title>Team Build, Code Coverage and MVC</title><link>https://blogs.blackmarble.co.uk/rfennell/team-build-code-coverage-and-mvc/</link><pubDate>Wed, 15 Apr 2009 17:12:09 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/team-build-code-coverage-and-mvc/</guid><description>
&lt;p>I have been working on some automated build and testing for a project based on the Microsoft MVC framework. The build was working fine, and test were being run, but I was not seeing any code coverage data in the build summary in Visual Studio for the builds done by the Team Build box. However if I ran the test suite locally on a development PC the coverage data was there. Looking on the Team Build drop location I could find the &lt;strong>data.coverage&lt;/strong> file in the &lt;strong>TestResults&lt;guid>In&lt;build user>&lt;/strong> folder, but it was 84Kb in size, which I learnt means ‘contains no data’.&lt;/p></description></item><item><title>Holiday is when you catch up…..</title><link>https://blogs.blackmarble.co.uk/rfennell/holiday-is-when-you-catch-up/</link><pubDate>Fri, 10 Apr 2009 14:22:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/holiday-is-when-you-catch-up/</guid><description>
&lt;p>I got round to listening to the latest Radio TFS podcast today whist out for a run, &lt;a href="http://www.radiotfs.com/2009/03/25/AdoptingTeamSystemWithStevenBorg.aspx">Adopting Team System with Steve Borg&lt;/a>. If you are looking at adopting TFS or even just critically looking at your development life cycle with a view to improving (irrespective of the tools you use), then this podcast is well worth the time to listen to. It actually covers a lot of the points I was discussing at the Agile Yorkshire user group this week in &lt;a href="http://www.agileyorkshire.org/2009-event-announcements/8thapril-richardfennellcrystalclearmethodology">my session of Crystal Clear&lt;/a>. By now I would usually have put my slide stack up for all to download, but in this case, as my session was a book review in essence I would like you to read the original &lt;a href="http://www.amazon.co.uk/Crystal-Clear-Human-Powered-Methodology-Small/dp/0201699478/ref=sr_1_1?ie=UTF8&amp;amp;s=books&amp;amp;qid=1239372246&amp;amp;sr=1-1">Crystal Clear by Alistair Cockburn&lt;/a>.&lt;/p></description></item><item><title>Testing SharePoint Workflows using TypeMock Isolator (Part 3)</title><link>https://blogs.blackmarble.co.uk/rfennell/testing-sharepoint-workflows-using-typemock-isolator-part-3/</link><pubDate>Tue, 07 Apr 2009 15:42:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/testing-sharepoint-workflows-using-typemock-isolator-part-3/</guid><description>
&lt;p>&lt;strong>Updated 12 June 2009&lt;/strong> - I have been having problems using this technique of Typemock with Sharepoint Workflows, the workflows keep unexpectedly idling as opposed to activating. If you suffer similar problem please check for later posts as to any solutions I find. &lt;/p>
&lt;p>&lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/archive/2009/04/06/testing-sharepoint-workflows-using-typemock-isolator-part-2.aspx">Now I can test a basic workflow&lt;/a> it soon becomes obvious that you could end up with many tests for a single workflow, as a workflow can have any number of criteria that could cause branching to occur. Maybe a sensible way to write the tests is using &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/archive/2008/10/04/running-fitness-net-tests-in-unit-test-some-tips.aspx">Fit/Fitness&lt;/a> to provide the test cases in tabular form?&lt;/p></description></item><item><title>Visual Studio 2008 DBPRO GDR QFE (wow loads of TLAs there)</title><link>https://blogs.blackmarble.co.uk/rfennell/visual-studio-2008-dbpro-gdr-qfe-wow-loads-of-tlas-there/</link><pubDate>Tue, 07 Apr 2009 09:48:29 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/visual-studio-2008-dbpro-gdr-qfe-wow-loads-of-tlas-there/</guid><description>
&lt;p>At my session at &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/archive/2009/03/31/sqlbits-iv-slides.aspx">SQLBits IV on Visual Studio 2008 DBPro GDR&lt;/a> it was mentioned that there was a major patch just about to be released to address some known issues. Well &lt;a href="http://blogs.msdn.com/bharry/archive/2009/04/06/update-to-the-dbpro-gdr.aspx">Brian Harry has provided links to the release&lt;/a> of the release candidate of the &lt;a href="http://blogs.msdn.com/gertd/archive/2009/03/26/release-candidate-of-gdr-qfe.aspx">GDR QFE&lt;/a>&lt;/p></description></item><item><title>Testing SharePoint Workflows using TypeMock Isolator (Part 2)</title><link>https://blogs.blackmarble.co.uk/rfennell/testing-sharepoint-workflows-using-typemock-isolator-part-2/</link><pubDate>Mon, 06 Apr 2009 21:48:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/testing-sharepoint-workflows-using-typemock-isolator-part-2/</guid><description>
&lt;p>&lt;strong>Updated 12 June 2009&lt;/strong> - I have been having problems using this technique of Typemock with Sharepoint Workflows, the workflows keep unexpectedly idling as opposed to activating. If you suffer similar problem please check for later posts as to any solutions I find. &lt;/p>
&lt;p>After reading &lt;a href="http://blog.typemock.com/2009/04/writing-shorter-tests-don-build-tree.html">Gil’s blog on writing simpler tests&lt;/a> I have done some tidying of the code from my &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/archive/2009/04/03/testing-sharepoint-workflows-using-typemock-isolator.aspx?CommentPosted=true#commentmessage">previous post&lt;/a>. In this version I have extracted the boiler plate code to run the workflow to a static helper method and modified my tests to incorporate Gil’s comments, they are certainly more readable.&lt;/p></description></item><item><title>Speaking next week at Agile Yorkshire</title><link>https://blogs.blackmarble.co.uk/rfennell/speaking-next-week-at-agile-yorkshire/</link><pubDate>Sat, 04 Apr 2009 09:45:02 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/speaking-next-week-at-agile-yorkshire/</guid><description>
&lt;p>I am speaking in Wednesday the 8th at &lt;a href="http://www.agileyorkshire.org/">Agile Yorkshire&lt;/a>, on &lt;a href="http://www.agileyorkshire.org/2009-event-announcements/8thapril-richardfennellcrystalclearmethodology">Crystal Clear and lessons learnt in Agile projects&lt;/a>. The user group is meeting at the Victoria Hotel in Leeds as usual, and thanks to our sponsors there is a free drink for all attendees.&lt;/p>
&lt;p>Hope to see you there.&lt;/p></description></item><item><title>Live Writer crashing when adding hyperlinks</title><link>https://blogs.blackmarble.co.uk/rfennell/live-writer-crashing-when-adding-hyperlinks/</link><pubDate>Fri, 03 Apr 2009 21:52:25 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/live-writer-crashing-when-adding-hyperlinks/</guid><description>
&lt;p>For a while I have had a problem that when I tried to add a hyperlink via the toolbar in Live Writer I get a dialog that Live Writer has stopped working, it doesn’t exit, it just des not open the modal window for adding a hyperlink. It was irritating, but as I could edit the HTML source and put in the link by hand I could not be bothered to work out how to fix it.&lt;/p></description></item><item><title>Testing SharePoint Workflows using TypeMock Isolator</title><link>https://blogs.blackmarble.co.uk/rfennell/testing-sharepoint-workflows-using-typemock-isolator/</link><pubDate>Fri, 03 Apr 2009 16:28:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/testing-sharepoint-workflows-using-typemock-isolator/</guid><description>
&lt;p>&lt;strong>Updated 12 June 2009&lt;/strong> - I have been having problems using this technique of Typemock with Sharepoint Workflows, the workflows keep unexpectedly idling as opposed to activating. If you suffer similar problem please check for later posts as to any solutions I find. &lt;/p>
&lt;p>&lt;strong>Updated 6 April 2009&lt;/strong> – Also see &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/archive/2009/04/06/testing-sharepoint-workflows-using-typemock-isolator-part-2.aspx">Testing SharePoint Workflows using TypeMock Isolator (Part 2)&lt;/a>&lt;/p>
&lt;p>I have for a while been trying to test SharePoint workflows using TypeMock Isolator to mock out the SharePoint fixtures, I want to remove the dependency of having SharePoint on any test boxes where possible. I have at last got this working after getting a new version of TypeMock Isolator 5.3.0 + a fix from the very helpful team at TypeMock&lt;/p></description></item><item><title>Book Review 'Software Testing with Visual Studio Team System 2008'</title><link>https://blogs.blackmarble.co.uk/rfennell/book-review-software-testing-with-visual-studio-team-system-2008/</link><pubDate>Thu, 02 Apr 2009 16:08:38 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/book-review-software-testing-with-visual-studio-team-system-2008/</guid><description>
&lt;p>A book arrived recently on my desk &lt;a href="http://www.packtpub.com/software-testing-with-visual-studio-team-system-2008/book">'Software Testing with Visual Studio Team System 2008' by Subashni. S and N Satheesh Kumar&lt;/a>. On reading the book it provides a workmanlike coverage of the testing features of Visual Studio 2008 including some of the API options in the testing namespace, but I can't see what it adds to the subject beyond what a user already has access to in the general introductions on MSDN/Help files.&lt;/p></description></item><item><title>SQLBits IV Slides</title><link>https://blogs.blackmarble.co.uk/rfennell/sqlbits-iv-slides/</link><pubDate>Tue, 31 Mar 2009 11:54:10 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/sqlbits-iv-slides/</guid><description>
&lt;p>Thanks to everyone who attended my session at SQLBits IV. &lt;a href="http://www.blackmarble.co.uk/ConferencePapers/2009/SQLBits%20IV%20-%20">My slides on Visual Studio 2008 Database edition GDR release  can be downloaded from the Black Marble website&lt;/a>.&lt;/p>
&lt;p>Also a bit thank you to the organiser for putting on such as successful event, it is really good to not have to travel to the London or Reading for IT events.&lt;/p></description></item><item><title>Alt.net 'in the north' still has some spaces</title><link>https://blogs.blackmarble.co.uk/rfennell/alt-net-in-the-north-still-has-some-spaces/</link><pubDate>Tue, 31 Mar 2009 11:43:32 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/alt-net-in-the-north-still-has-some-spaces/</guid><description>
&lt;p>As I am sure you noticed there was an unfortunate clash of dates between &lt;a href="http://www.altdotnetuknorth.info">Alt.net 'in the North&lt;/a>' in Bradford and &lt;a href="http://developerdeveloperdeveloper.com/webdd09">WebDD&lt;/a> in Reading on the 18th of April. Well I see that WebDD over the weekend has published it's agenda, opened registrations and is now full.&lt;/p>
&lt;p>So if you are disappointed that you can't get a place for the WebDD event have you thought of trying an &lt;a href="http://en.wikipedia.org/wiki/Open-space_meeting">Open Spaces event&lt;/a> like Alt.net? We still have some spaces left. The key difference of this type of event, as opposed to the more traditional lecture format of WebDD, is that the attendees decide the agenda when they arrive and most sessions take the format of an open discussion of peoples real work experiences and opinions.&lt;/p></description></item><item><title>Speaking on Visual Studio Team System Database Edition GDR</title><link>https://blogs.blackmarble.co.uk/rfennell/speaking-on-visual-studio-team-system-database-edition-gdr/</link><pubDate>Wed, 25 Mar 2009 16:22:07 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/speaking-on-visual-studio-team-system-database-edition-gdr/</guid><description>
&lt;p>As well as speaking on the GDR release of VSTS Database Edition at &lt;a href="http://www.sqlbits.com/">SQLbits&lt;/a> this weekend I will also be at &lt;a href="http://www.vbug.co.uk/events/default.aspx">VBug Newcastle on the 22nd April.&lt;/a>&lt;/p></description></item><item><title>Visual Studio 2008 Database Edition GDR release - Createdeployment</title><link>https://blogs.blackmarble.co.uk/rfennell/visual-studio-2008-database-edition-gdr-release-createdeployment/</link><pubDate>Sun, 22 Mar 2009 22:28:37 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/visual-studio-2008-database-edition-gdr-release-createdeployment/</guid><description>
&lt;p>Whilst preparing for my session at &lt;a href="http://www.sqlbits.com/">SQLBits&lt;/a> next weekend I was re-watched &lt;a href="http://channel9.msdn.com/pdc2008/TL45/Default.aspx">Gert Drapers' PDC session (TL45) where he used a command tool to deploy a database via a USB pen drive (about 30 minutes into the session)&lt;/a>. Now it seems that the &lt;strong>createdeployment&lt;/strong> command line tool he used is not currently available outside Microsoft, but the same effect can be achieved use the &lt;a href="http://msdn.microsoft.com/en-us/library/dd193258.aspx">VSDBCMD&lt;/a> command.&lt;/p>
&lt;p>&lt;strong>Step 1&lt;/strong> - get the files onto the distribution device&lt;/p></description></item><item><title>Free hotel internet - if you dare touch it</title><link>https://blogs.blackmarble.co.uk/rfennell/free-hotel-internet-if-you-dare-touch-it/</link><pubDate>Fri, 20 Mar 2009 10:39:22 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/free-hotel-internet-if-you-dare-touch-it/</guid><description>
&lt;p>I have been away at the MVP summit and then on holiday for a couple of weeks. On this trip every hotel I stayed in had free internet, though often only wired. Seem many hotels have Wifi contracts with mobile phone companies and they are still charging for.&lt;/p>
&lt;p>So top tip make sure you have UTP cable in your bag.&lt;/p>
&lt;p>The 'most interesting' system I had was at a hotel in Whistler.&lt;/p></description></item><item><title>Do you need work item hierarchy in TFS? (Part 2)</title><link>https://blogs.blackmarble.co.uk/rfennell/do-you-need-work-item-hierarchy-in-tfs-part-2/</link><pubDate>Fri, 20 Mar 2009 10:33:49 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/do-you-need-work-item-hierarchy-in-tfs-part-2/</guid><description>
&lt;p>I did a post before going to the MVC summit called &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/archive/2009/02/25/do-you-need-work-item-hierarchy-in-tfs.aspx">Do you need work item hierarchy in TFS?&lt;/a> which mentioned the new tools from Notion for TFS.&lt;/p>
&lt;p>Well there are many ways to skin a cat, and also to produce a hierarchy of TFS work items. Also have a look at &lt;a href="http://www.alm-tools.de/#Page=10">Artiso Workitem Manager&lt;/a>. This product is interesting as it provides tools that work outside of Visual Studio to manage hierarchies of work items. This might be just what you need for people such as project manager who do not live in a development environment. The nicest feature for me is that allows the import and export of work items into Word document, thus allowing production of specification documents from TFS with the click of a button.&lt;/p></description></item><item><title>Error 1722 when installing MVC 1.0</title><link>https://blogs.blackmarble.co.uk/rfennell/error-1722-when-installing-mvc-1-0/</link><pubDate>Thu, 19 Mar 2009 17:09:53 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/error-1722-when-installing-mvc-1-0/</guid><description>
&lt;p>As I am sure you will have heard the &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=53289097-73ce-43bf-b6a6-35e00103cb4b&amp;amp;displaylang=en">MVC 1.0&lt;/a> has been released. I downloaded this on my Windows 7 and tried to install it but got an Error 1722, the MSI then rolled back.&lt;/p>
&lt;p>Turns out the problem was simply that I had Visual Studio open at the time I installed, it needs to be closed. It seems the MSI does not check for this before it attempts the copy.&lt;/p></description></item><item><title>Request for help with PhD Research</title><link>https://blogs.blackmarble.co.uk/rfennell/request-for-help-with-phd-research/</link><pubDate>Thu, 26 Feb 2009 21:34:54 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/request-for-help-with-phd-research/</guid><description>
&lt;p>Whilst at SC2009 today a request was made by Emad Ghoshen for attendees, and any other developers they knew, to assist him in his PhD research into maintainability of web applications.&lt;/p>
&lt;p>He asked if people could download some Java/JSP code and answer a few questions on it, don't worry if this is not your usual languages this is one of the questions he is researching.&lt;/p>
&lt;p>All the details can be found at &lt;a href="http://www.sueblack.co.uk/clarosexp.html" title="http://www.sueblack.co.uk/clarosexp.html">http://www.sueblack.co.uk/clarosexp.html&lt;/a>,&lt;/p></description></item><item><title>Intent is the key - thoughts on the way home form Software Craftsmanship 2009</title><link>https://blogs.blackmarble.co.uk/rfennell/intent-is-the-key-thoughts-on-the-way-home-form-software-craftsmanship-2009/</link><pubDate>Thu, 26 Feb 2009 21:33:55 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/intent-is-the-key-thoughts-on-the-way-home-form-software-craftsmanship-2009/</guid><description>
&lt;p>Today has been interesting, I have been to conferences where you sit and listen, such as DDD, TechEd etc. I have been to conferences where everyone is encouraged to talk open spaces style such as Alt.Net, but today has fallen between the two styles.&lt;/p>
&lt;p>The Software Craftsmanship 2009 conference has been in more of a workshop style; most sessions have started with a short presentation to set the scene then the attendees split to forms small groups to do some exercise or chat, reporting back later in the session. A sort of lead open spaces feel if you want.&lt;/p></description></item><item><title>Do you need work item hierarchy in TFS?</title><link>https://blogs.blackmarble.co.uk/rfennell/do-you-need-work-item-hierarchy-in-tfs/</link><pubDate>Wed, 25 Feb 2009 16:14:36 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/do-you-need-work-item-hierarchy-in-tfs/</guid><description>
&lt;p>Is so have a look at &lt;a href="http://www.notionsolutions.com/Products/Pages/default.aspx">Notion Tools from Team System&lt;/a>. This set of tools provides&lt;/p>
&lt;ul>
&lt;li>A timesheet based on works items that you access inside Visual Studio&lt;/li>
&lt;li>A work organizer  to manage work items and documents allowing creation of hierarchies&lt;/li>
&lt;li>A work planner to help schedule resources for future iterations.&lt;/li>
&lt;/ul>
&lt;p>Well worth a look as a means to extend the reach of TFS into your Agile projects.&lt;/p></description></item><item><title>SLExtensions HTMLEditor</title><link>https://blogs.blackmarble.co.uk/rfennell/slextensions-htmleditor/</link><pubDate>Wed, 25 Feb 2009 14:32:37 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/slextensions-htmleditor/</guid><description>
&lt;p>I have been looking at porting a old content editor I wrote from WinForm to SilverLight and hit the problem there was no HTML editor control available in the standard Silverlight 2 control set. Roll in the excellent &lt;a href="http://www.codeplex.com/SLExtensions">SLExtensions controls on CodePlex&lt;/a>, to save the day.....&lt;/p>
&lt;p>Now I did hit one problem with the HTMLEditor, that was addressed very quickly in for support forums. The point to watch out for is that for the HTMLEditor control to work the Silverlight object must be loaded into the web page with the setting to be windowless&lt;/p></description></item><item><title>Alt.Net UK 'In the North' Registration is now open</title><link>https://blogs.blackmarble.co.uk/rfennell/alt-net-uk-in-the-north-registration-is-now-open/</link><pubDate>Tue, 24 Feb 2009 12:29:24 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/alt-net-uk-in-the-north-registration-is-now-open/</guid><description>
&lt;p>You can now register at &lt;a href="http://www.altdotnetuknorth.info/" title="http://www.altdotnetuknorth.info/">http://www.altdotnetuknorth.info/&lt;/a>&lt;/p></description></item><item><title>New URL for Agile Yorkshire (nee XPClub)</title><link>https://blogs.blackmarble.co.uk/rfennell/new-url-for-agile-yorkshire-nee-xpclub/</link><pubDate>Mon, 23 Feb 2009 21:28:50 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/new-url-for-agile-yorkshire-nee-xpclub/</guid><description>
&lt;p>&lt;a href="http://agileyorkshire.org">agileyorkshire.org&lt;/a> is the new home for the Agile Yorkshire user group. If you follow the link you will see that next months subject is &lt;strong>Test Doubles: An Introduction To Unit Test Patterns.&lt;/strong> Unfortunately I won't able able to make this session as I will be out of the country, but sounds interesting.&lt;/p></description></item><item><title>Excellent selection of speakers at the May Progressive .NET Tutorials</title><link>https://blogs.blackmarble.co.uk/rfennell/excellent-selection-of-speakers-at-the-may-progressive-net-tutorials/</link><pubDate>Mon, 23 Feb 2009 21:05:06 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/excellent-selection-of-speakers-at-the-may-progressive-net-tutorials/</guid><description>
&lt;p>You may have seen on a few blogs that Skills Matter are organising the Progressive .NET Tutorials, a 3 day event in May. I have to say that the selection of speakers is excellent including Hammett, Ayende Rahien, David Laribee, Gojko Adzic, Ian Cooper, Mike Hadlow, Scott Belware and Sebastien Lambla; on subjects such as NHibernate, Castle, Monorail, Agile Testing, Web Testing, DSL's in C#, OpenRasta, Windsor WCF, MEF (Microsoft's Managed Extensions Framework) and more...&lt;/p></description></item><item><title>Update on Alt.Net 'In the North' Conference</title><link>https://blogs.blackmarble.co.uk/rfennell/update-on-alt-net-in-the-north-conference/</link><pubDate>Fri, 20 Feb 2009 09:06:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/update-on-alt-net-in-the-north-conference/</guid><description>
&lt;p>There is a bit more information on the the Alt.Net conference now at &lt;a href="http://www.altdotnetuknorth.info/" title="http://www.altdotnetuknorth.info/">http://www.altdotnetuknorth.info/&lt;/a>&lt;/p>
&lt;p>Registration will open next week at noon on Tuesday the 24th February.&lt;/p></description></item><item><title>If Alt.Net is not to your taste.....</title><link>https://blogs.blackmarble.co.uk/rfennell/if-alt-net-is-not-to-your-taste/</link><pubDate>Wed, 18 Feb 2009 15:58:59 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/if-alt-net-is-not-to-your-taste/</guid><description>
&lt;p>On the same day as the Alt.Net event I am organising there is a community event at TVP '&lt;a href="http://developerdeveloperdeveloper.com/webdd09/Default.aspx">WebDD'09&lt;/a> - &lt;em>With all the latest stuff from MIX 09'.&lt;/em>&lt;/p>
&lt;p>We are spoilt, there is so much choice in the community events at this time of year&lt;/p></description></item><item><title>Announcing the Alt.Net.UK 'in the North' Conference</title><link>https://blogs.blackmarble.co.uk/rfennell/announcing-the-alt-net-uk-in-the-north-conference/</link><pubDate>Wed, 18 Feb 2009 10:50:45 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/announcing-the-alt-net-uk-in-the-north-conference/</guid><description>
&lt;p>I am please to be able to announce that there will be an Alt.net Open Space Conference in Bradford on the 17/18th April this year. I had mentioned my intension of organising such an event at the last London conference, but it has taken a bit longer than expected to get sorted due to problems with getting the venue.&lt;/p>
&lt;p>The event will be hosted by &lt;strong>Black Marble at their office in Bradford, West Yorkshire&lt;/strong>, and there will be space for 50 attendees. The format will be the same as previous UK Alt.net conferences.&lt;/p></description></item><item><title>Buzzword bingo in the cloud</title><link>https://blogs.blackmarble.co.uk/rfennell/buzzword-bingo-in-the-cloud/</link><pubDate>Fri, 13 Feb 2009 13:26:49 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/buzzword-bingo-in-the-cloud/</guid><description>
&lt;p>At todays Azure event I heard a new word for my occasional buzz word posts.&lt;/p>
&lt;p>Marketechture - an architecture designed by marketing for use in Powerpoint&lt;/p></description></item><item><title>SQLBits IV registration is open</title><link>https://blogs.blackmarble.co.uk/rfennell/sqlbits-iv-registration-is-open/</link><pubDate>Wed, 11 Feb 2009 14:33:24 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/sqlbits-iv-registration-is-open/</guid><description>
&lt;p>You can now &lt;a href="http://www.sqlbits.com/information/Registration.aspx">register for SQLBits IV in Manchester on the 28th March&lt;/a>, hurry if you want to attend as these free conferences do tend to full up quick&lt;/p>
&lt;p>&lt;a href="http://sqlbits.com/">
&lt;img
loading="lazy"
decoding="async"
alt=""
class="image_figure image_external image_unprocessed"
src="http://sqlbits.com/images/sqlbits/SQLBItsNewLogo%20IV.png"
title="Vote for the new SQLBits Logo in the Logo Competition"
/>
&lt;/a>&lt;/p></description></item><item><title>My session has been selected for SQLBits IV</title><link>https://blogs.blackmarble.co.uk/rfennell/my-session-has-been-selected-for-sqlbits-iv/</link><pubDate>Sun, 08 Feb 2009 20:44:21 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/my-session-has-been-selected-for-sqlbits-iv/</guid><description>
&lt;p>Thanks to everyone who voted for my session 'Making the SQL developer one of the family with Visual Studio Team System', it was successful in the selection process and so will be on the agenda at SQLBits IV on 28th March 2009 in Manchester&lt;/p>
&lt;p>Hope to see you there.&lt;/p></description></item><item><title>Missing .NET framework installing a VSTO application</title><link>https://blogs.blackmarble.co.uk/rfennell/missing-net-framework-installing-a-vsto-application/</link><pubDate>Sat, 07 Feb 2009 18:36:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/missing-net-framework-installing-a-vsto-application/</guid><description>
&lt;p>I have been getting the error &lt;em>&amp;quot;The required version of the .NET Framework is not installed on this computer.&amp;quot;&lt;/em> (event id 4096 in Event log) when trying to install a VSTO application from both a ClickOnce deployment and a local copy. This is interesting as the .NET framework is installed (on my 64bit Windows 7 PC) and the VSTO application was developed on the self same machine (and works in Visual Studio 2008).&lt;/p></description></item><item><title>Free events in the coming week</title><link>https://blogs.blackmarble.co.uk/rfennell/free-events-in-the-coming-week/</link><pubDate>Sat, 07 Feb 2009 11:51:09 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/free-events-in-the-coming-week/</guid><description>
&lt;p>I know of two free events next week in Yorkshire next week for those interested :&lt;/p>
&lt;p>On Wednesday the 11th is the regular meeting of the &lt;a href="http://xpclub.erudine.com/2009/01/11th-february-2009-test-driven.html">Agile Yorkshire user group&lt;/a>, where we will be enjoying a presentation on Test Driven Development by user group regulars Adam and Neil from Masternaut ThreeX. This will start at 7pm as normal, but some of us are planning to arrive about 6:30 to discuss some administrative issue of the user group. So if you are interested just turn up at the Victoria Hotel.&lt;/p></description></item><item><title>Which way to fake an item in Typemock</title><link>https://blogs.blackmarble.co.uk/rfennell/which-way-to-fake-an-item-in-typemock/</link><pubDate>Thu, 05 Feb 2009 21:22:30 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/which-way-to-fake-an-item-in-typemock/</guid><description>
&lt;p>&lt;em>I raised a&lt;/em> &lt;a href="http://www.typemock.com/community/viewtopic.php?topic=1147&amp;amp;forum=5">&lt;em>question on the Typemock forum&lt;/em>&lt;/a> &lt;em>concerning a problem I was having mocking Sharepoint SPFarm objects. It was all down to which way to fake items using the various techniques in Isolator. It was interesting enough, I thought, to repeat here as a blog post.&lt;/em>&lt;/p>
&lt;p>I had written some tests for a method that got a list of SiteCollections that a user had rights to access. The key point being the need to access the static property &lt;strong>SPFarm.Local&lt;/strong> to get a list of Sharepoint services to iterate across. If I ran each test by itself it worked; but if run as a batch in TestDriven.Net or MSTest the first passed and the rest failed.&lt;/p></description></item><item><title>Developer Day Scotland Voting Opens</title><link>https://blogs.blackmarble.co.uk/rfennell/developer-day-scotland-voting-opens/</link><pubDate>Wed, 04 Feb 2009 20:46:48 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/developer-day-scotland-voting-opens/</guid><description>
&lt;p>The &lt;a href="http://developerdayscotland.com/main/Home/tabid/74/Default.aspx">voting process has opened for Developer Day Scotland&lt;/a> being held on the 2nd of May. I would like to draw you attention to my proposed session on testing for Sharepoint developers where I will show what can be done with Typemock and good use of design patterns to allow the building of complex tests that can be run of build servers that do not require Sharepoint to be installed.&lt;/p>
&lt;p>But even if you don't fancy this session please still vote, and when it opens sign up to attend DDS. In my opinion DDS was the best of the DDD events I went to last year. A great venue and atmosphere.&lt;/p></description></item><item><title>Old assemblies appearing in the _PublishedWebsites directory with Team Build</title><link>https://blogs.blackmarble.co.uk/rfennell/old-assemblies-appearing-in-the-_publishedwebsites-directory-with-team-build/</link><pubDate>Thu, 29 Jan 2009 15:37:28 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/old-assemblies-appearing-in-the-_publishedwebsites-directory-with-team-build/</guid><description>
&lt;p>I have been having a problem with a new automated CI build under Team Build that I have added to an old Visual Studio solution. The solution is fairly big, but in essence it contains a shared data type assembly, a web site front end and a back end web service. The problem was on the Team Build drop share in the &lt;strong>_PublishedWebsitesproduced&lt;/strong> by team build I was finding a old version of the shared data type assembly. However in the &lt;strong>release&lt;/strong> directory of the same build I found the correct newly built version of the assembly.&lt;/p></description></item><item><title>PostBuild events not running on TFS Team Build</title><link>https://blogs.blackmarble.co.uk/rfennell/postbuild-events-not-running-on-tfs-team-build/</link><pubDate>Wed, 28 Jan 2009 22:46:53 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/postbuild-events-not-running-on-tfs-team-build/</guid><description>
&lt;p>I have been struggling today with a problem that a PostBuild event on a C# project works fine on my development PC but failed on a Team Build box. The project is based on the &lt;a href="http://www.codeplex.com/sptemplateland">Codeplex  SharePoint Visual Studio Project Template&lt;/a> that uses post build scripts to create a deployment WSP.&lt;/p>
&lt;p>It turns out the problem was an unwanted condition on the PostBuildEvent in the projects .csproj file. It was like this:&lt;/p></description></item><item><title>We are hosting Microsoft's Azure Technical Briefing</title><link>https://blogs.blackmarble.co.uk/rfennell/we-are-hosting-microsofts-azure-technical-briefing/</link><pubDate>Wed, 28 Jan 2009 18:20:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/we-are-hosting-microsofts-azure-technical-briefing/</guid><description>
&lt;p>Interested in finding out more about Microsoft's Cloud computing strategy and the technology behind Azure? Yes - well you are in luck there are more UK Microsoft road show events in February. They are in Cambridge, Edinburgh and the one we are hosting in Bradford on the 13th.&lt;/p>
&lt;p>For more details and links to registration see &lt;a href="http://blogs.msdn.com/ukisvdev/archive/2009/01/14/new-dates-for-azure-technical-briefing-announced.aspx" title="http://blogs.msdn.com/ukisvdev/archive/2009/01/14/new-dates-for-azure-technical-briefing-announced.aspx">http://blogs.msdn.com/ukisvdev/archive/2009/01/14/new-dates-for-azure-technical-briefing-announced.aspx&lt;/a>&lt;/p></description></item><item><title>Writing a webpart to work inside and outside Sharepoint when talking to WCF</title><link>https://blogs.blackmarble.co.uk/rfennell/writing-a-webpart-to-work-inside-and-outside-sharepoint-when-talking-to-wcf/</link><pubDate>Wed, 28 Jan 2009 16:02:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/writing-a-webpart-to-work-inside-and-outside-sharepoint-when-talking-to-wcf/</guid><description>
&lt;p>I have posted in the past on &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/archive/2008/07/06/bug-tracking-with-tfs.aspx">porting our ASP.NET bug tracking systems into Sharepoint and also linking it to TFS&lt;/a>. The idea being that the initial customer support contact is tracked in the call tracking system e.g. is it switched on, is there paper in it....., and then escalated to TFS when development effort is required. To do this escalation my webpart calls a WCF service to access the TFS API - why you ask? The TFS API is 32bit only and you cannot call it directly inside a Sharepoint 64bit server farm.&lt;/p></description></item><item><title>New name for the XP Club and next months event</title><link>https://blogs.blackmarble.co.uk/rfennell/new-name-for-the-xp-club-and-next-months-event/</link><pubDate>Tue, 27 Jan 2009 16:22:07 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/new-name-for-the-xp-club-and-next-months-event/</guid><description>
&lt;p>The details of the &lt;a href="http://xpclub.erudine.com/2009/01/11th-february-2009-test-driven.html">February meeting of the Agile Yorkshire&lt;/a> User Group (new name, and new web site is on the way, watch out for posts)&lt;/p>
&lt;p>The session is on developers experiences of TDD, another view from the coal face. See you there, 2nd Wednesday of the month as usual....&lt;/p></description></item><item><title>Call for speakers for DDD South West</title><link>https://blogs.blackmarble.co.uk/rfennell/call-for-speakers-for-ddd-south-west/</link><pubDate>Tue, 27 Jan 2009 13:38:16 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/call-for-speakers-for-ddd-south-west/</guid><description>
&lt;p>DDD community events are getting another venue this year, Queen's College in Taunton on the 23rd of May.&lt;/p>
&lt;p>It has been decided that some of the speaker will be regulars from other DDD events; including myself speaking on Scrum. However all the other slots will be filled in the usual submission and voting manner, with the added rule the speaker should be new to the conference circuit (speaking to user groups is allowed and encouraged). So is this you? do you fancy speaking? if it is then &lt;a href="http://www.dddsouthwest.com/CallForNewSpeakers/tabid/61/Default.aspx">submit a session.&lt;/a>&lt;/p></description></item><item><title>Voting opens for SQLBits IV</title><link>https://blogs.blackmarble.co.uk/rfennell/voting-opens-for-sqlbits-iv/</link><pubDate>Mon, 26 Jan 2009 10:55:43 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/voting-opens-for-sqlbits-iv/</guid><description>
&lt;p>You can vote for sessions at SQLBit IV as of today at &lt;a href="http://www.sqlbits.com/information/PublicSessions.aspx" title="http://www.sqlbits.com/information/PublicSessions.aspx">http://www.sqlbits.com/information/PublicSessions.aspx&lt;/a>, you do need to join the site first. Note joining the site is not the same as registering to attend the event which has not opened yet.&lt;/p></description></item><item><title>Problem hosting WCF using Cassini on Windows 7</title><link>https://blogs.blackmarble.co.uk/rfennell/problem-hosting-wcf-using-cassini-on-windows-7/</link><pubDate>Sat, 24 Jan 2009 10:41:56 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/problem-hosting-wcf-using-cassini-on-windows-7/</guid><description>
&lt;p>I have been working on an internal legacy application at our place that is being slowly moved from ASMX to WCF services. At present the services are a mixture of the two and there is a new WCF based client making connections to both types as needed. This work has been going on for a while on Vista development boxes without any problems. However when I opened the solution on a Windows 7 box (Beta 7000 build) I found I could not access the WCF services hosted locally using Visual Studio 2008’s WebDev.Webserver.exe (Cassini) server.&lt;/p></description></item><item><title>Installing an MSI on Windows 7 fails after 16th January 2009</title><link>https://blogs.blackmarble.co.uk/rfennell/installing-an-msi-on-windows-7-fails-after-16th-january-2009/</link><pubDate>Mon, 19 Jan 2009 21:18:46 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/installing-an-msi-on-windows-7-fails-after-16th-january-2009/</guid><description>
&lt;p>I am using Windows 7 Beta on my main PC, whilst trying to install an application today I hit a problem, the installer failed on start-up. Firstly I thought it was a corrupt MSI so I tried another application, but it did the same. When I checked the Windows Application event log I found the following&lt;/p>
&lt;p>&lt;em>Faulting application name: msiexec.exe, version: 5.0.7000.0, time stamp: 0x49432105&lt;br>
Faulting module name: ntdll.dll, version: 6.1.7000.0, time stamp: 0x49434898&lt;br>
Exception code: 0xc0000005&lt;br>
Fault offset: 0x00000000000ebbaa&lt;br>
Faulting process id: 0x7dc&lt;br>
Faulting application start time: 0x01c97a77da8e8b3e&lt;br>
Faulting application path: C:WindowsSystem32msiexec.exe&lt;br>
Faulting module path: C:WindowsSYSTEM32ntdll.dll&lt;/em>&lt;/p></description></item><item><title>Another call for speakers</title><link>https://blogs.blackmarble.co.uk/rfennell/another-call-for-speakers/</link><pubDate>Thu, 15 Jan 2009 11:18:39 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/another-call-for-speakers/</guid><description>
&lt;p>Just seen that there has been a &lt;a href="http://developerdeveloperdeveloper.com/belfast/">calls for speakers for DDD Belfast,&lt;/a> another chance to meet up with like minded developers.&lt;/p>
&lt;p>
&lt;img
loading="lazy"
decoding="async"
alt="DDDBelfast"
class="image_figure image_external image_unprocessed"
src="http://idunno.org/images/idunno_org/WindowsLiveWriter/DDDBelfastCallforSpeakersOpen_D8A8/DDDBelfast_3.png"
title="DDDBelfast"
/>
&lt;/p></description></item><item><title>XP Club January 2009 Meeting</title><link>https://blogs.blackmarble.co.uk/rfennell/xp-club-january-2009-meeting/</link><pubDate>Tue, 13 Jan 2009 21:48:59 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/xp-club-january-2009-meeting/</guid><description>
&lt;p>The XP Club did not manage to book the usual venue, the Victoria Hotel Pub in Leeds, for this months meeting as it was already booked. So for one month only, on the 14th of January, will be next door to Victoria Hotel Pub at the O'Neils from 7pm.&lt;/p>
&lt;p>Also, it has been decided there will be no technical presentation this month, we will meet to discuss the issues and politics around the club, including club's constitution, bank accounts, rough strategy for the future and so on. You are all welcome to come along and help to shape the future of the club, help with some duties or just come to meet-up with fellow geeks.&lt;/p></description></item><item><title>First thoughts on Windows 7 Beta</title><link>https://blogs.blackmarble.co.uk/rfennell/first-thoughts-on-windows-7-beta/</link><pubDate>Mon, 12 Jan 2009 20:59:01 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/first-thoughts-on-windows-7-beta/</guid><description>
&lt;p>I had the PDC &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/archive/2008/11/14/windows-7-on-the-dell-mini.aspx">CTP on my Netbook&lt;/a> and that was OK so I had not expected any major issues. That said it has not been without problems, but all the issues I have logged as part of the beta program have been related to hardware detection (missing base stations and ignored physical Wifi switch state) on my Acer laptop. However, these issue can be worked around i.e. don’t use sleep or hibernate. so have not stopped be using the beta on my primary PC.&lt;/p></description></item><item><title>Session submission for SQLBits IV has been opened</title><link>https://blogs.blackmarble.co.uk/rfennell/session-submission-for-sqlbits-iv-has-been-opened/</link><pubDate>Sun, 04 Jan 2009 14:18:41 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/session-submission-for-sqlbits-iv-has-been-opened/</guid><description>
&lt;p>It is good to see how fast &lt;a href="http://www.sqlbits.com/information/PublicSessions.aspx">sessions have been submitted for SQLBits&lt;/a>, a nice range already. And great news that the event on the 28th March is in Manchester.&lt;/p>
&lt;p>I have submitted an updated version of the session I did for SQLBits II on Team System, hope some people find it interesting.&lt;/p>
&lt;p>
&lt;img
loading="lazy"
decoding="async"
alt="Submit a session for SQLBits IV"
class="image_figure image_external image_unprocessed"
src="http://www.sqlbits.com/images/SQLBits/IveSubmmitted.png"
/>
&lt;/p></description></item><item><title>Running TypeMock based test in Team Build</title><link>https://blogs.blackmarble.co.uk/rfennell/running-typemock-based-test-in-team-build/</link><pubDate>Tue, 23 Dec 2008 16:34:02 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/running-typemock-based-test-in-team-build/</guid><description>
&lt;p>If you have TypeMock Isolator based MSTests in a solution you will want them to be run as part of any CI build process.&lt;/p>
&lt;p>To get this to work with Team Build you have to make sure Isolator is started in the build box at the right time (something that is done automagically behind the scenes by Visual Studio during developer testing). This is not actually that difficult as TypeMock provide some tasks for just this purpose.&lt;/p></description></item><item><title>My problems with Live Messenger inside Visual Studio are fixed.</title><link>https://blogs.blackmarble.co.uk/rfennell/my-problems-with-live-messenger-inside-visual-studio-are-fixed/</link><pubDate>Mon, 22 Dec 2008 22:19:53 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/my-problems-with-live-messenger-inside-visual-studio-are-fixed/</guid><description>
&lt;p>One of the cool feature of the last October 08 release of &lt;a href="http://msdn.microsoft.com/en-us/tfs2008/bb980963.aspx">TFS Power Tools&lt;/a> has been that the members of a Team Project are shown inside Team Explorer.&lt;/p>
&lt;p>One of the ideas of this is that you can use Live Messenger from inside Team Explorer to see team members status, but I and many other were seeing the error shown below as Team Explorer refreshed&lt;/p>
&lt;p>&lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/clip_image002_7BA54BFF.jpg">
&lt;img
loading="lazy"
decoding="async"
alt="clip_image002"
class="image_figure image_external image_unprocessed"
src="http://blogs.blackmarble.co.uk/blogs/rfennell/clip_image002_thumb_45C056E5.jpg"
title="clip_image002"
/>
&lt;/a>&lt;/p>
&lt;p>There had been much talk of it being settings in the registry, UAC being used etc. but none of the fixes detailed worked for me.&lt;/p></description></item><item><title>Update on using StyleCop in TFS Team Build</title><link>https://blogs.blackmarble.co.uk/rfennell/update-on-using-stylecop-in-tfs-team-build/</link><pubDate>Mon, 22 Dec 2008 21:51:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/update-on-using-stylecop-in-tfs-team-build/</guid><description>
&lt;p>I posted a while ago about trying to wire in the results from &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/archive/2008/10/15/using-stylecop-in-tfs-team-build.aspx">StyleCop into a Team Build&lt;/a>, the problem I had was that I could not get the StyleCop violations into the build summary.&lt;/p>
&lt;p>Well I still can’t, after much checking and asking around I was reliably informed that the build summary is not editable and there are no immediate plans for it to be in the future versions of TFS.&lt;/p></description></item><item><title>MSB3155 errors in Team build when publishing to click once</title><link>https://blogs.blackmarble.co.uk/rfennell/msb3155-errors-in-team-build-when-publishing-to-click-once/</link><pubDate>Mon, 22 Dec 2008 14:08:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/msb3155-errors-in-team-build-when-publishing-to-click-once/</guid><description>
&lt;p>If your team build project uses the Publish Target option (to create a ClickOnce deploy) you may see the error&lt;/p>
&lt;p>BuildWallboard.csproj&amp;quot; (Publish target) (3:5) -&amp;gt;&lt;br>
(_DeploymentGenerateBootstrapper target) -&amp;gt;&lt;br>
MSB3155: Item 'Microsoft.Net.Framework.3.5.SP1' could not be located in BuildWallboard'.&lt;br>
MSB3155: Item 'Microsoft.Windows.Installer.3.1' could not be located in BuildWallboard'.&lt;/p>
&lt;p>This is because on the build server needs a ‘default installation’ of Visual Studio Developer (or Suite). The publish function, like the MSTest function is not something the Team Build server can do bit itself it needs Visual Studio to do the heavy lifting.&lt;/p></description></item><item><title>Should my TFS Build Server be 32bit or 64bit?</title><link>https://blogs.blackmarble.co.uk/rfennell/should-my-tfs-build-server-be-32bit-or-64bit/</link><pubDate>Mon, 22 Dec 2008 10:53:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/should-my-tfs-build-server-be-32bit-or-64bit/</guid><description>
&lt;p>I would say at this time unless you need 64Bit specific assemblies built you are best staying on a 32bit operating system. This will happily build MSIL .NET assemblies which I guess for most of us is the bulk of our work. OK you loose a bit of performance if you have 64bit hardware (or virtual hardware in our case), but I doubt this will be critical, shaving a few seconds of an automated build is not normally important.&lt;/p></description></item><item><title>Getting MSB6006 errors for MSTest under TFS Team Build 2008</title><link>https://blogs.blackmarble.co.uk/rfennell/getting-msb6006-errors-for-mstest-under-tfs-team-build-2008/</link><pubDate>Mon, 22 Dec 2008 09:25:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/getting-msb6006-errors-for-mstest-under-tfs-team-build-2008/</guid><description>
&lt;p>I have been rebuilding our TFS build systems on Hyper-V based virtualised hardware. The long term plan being to hold a configured build server as as Hyper-V template to we could prevision extra ones quickly, or rebuild all of them if we need to upgrade some library or tool; in effect to give us revision control over our build servers.&lt;/p>
&lt;p>All seemed to be going OK, initially existing builds seemed to be running OK when targeted at the new server. However I soon saw that tests were failing with the error&lt;/p></description></item><item><title>TFS TeamBuild and Sharepoint WSP deployment (and any post build events for that matter)</title><link>https://blogs.blackmarble.co.uk/rfennell/tfs-teambuild-and-sharepoint-wsp-deployment-and-any-post-build-events-for-that-matter/</link><pubDate>Fri, 19 Dec 2008 12:45:47 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/tfs-teambuild-and-sharepoint-wsp-deployment-and-any-post-build-events-for-that-matter/</guid><description>
&lt;p>We use the &lt;a href="http://www.codeplex.com/sptemplateland">SharePoint Visual Studio Project Template on CodePlex&lt;/a> to create WSP deployment packages for our SharePoint features. I tend to think of this WSP creation project in the same way as a MSI installer; so we don’t put SharePoint components into the WSP solution itself, it is an extra project in the solution that assembles the components from a variety of other solutions (e.g. web parts, workflows, event receivers, shared libraries for the GAC etc) and builds a single deployable WSP file.&lt;/p></description></item><item><title>Steve Ballmer’s MVP Live Search Challenge</title><link>https://blogs.blackmarble.co.uk/rfennell/steve-ballmers-mvp-live-search-challenge/</link><pubDate>Tue, 09 Dec 2008 23:02:23 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/steve-ballmers-mvp-live-search-challenge/</guid><description>
&lt;p>At the last MVP Summit Steve Ballmer said “I’m going to ask you one week switch your default [search engine], one week. At the end of the week…I’ll want feedback, how was your week, what happened, what did you like, what didn’t you like … Can I make that deal with you? (Cheers and applause.) That’s the deal.”&lt;/p>
&lt;p>Well the week was last week, and how did I find Live Search?&lt;/p></description></item><item><title>Developer testing of Sharepoint Webparts using Typemock Isolator and Ivonna</title><link>https://blogs.blackmarble.co.uk/rfennell/developer-testing-of-sharepoint-webparts-using-typemock-isolator-and-ivonna/</link><pubDate>Thu, 04 Dec 2008 14:20:06 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/developer-testing-of-sharepoint-webparts-using-typemock-isolator-and-ivonna/</guid><description>
&lt;p>&lt;em>&lt;strong>Updated 3 Dec 2008 –&lt;/strong> I got an email from Artem Smirnov the author of Ivonna pointing out a couple of things, so I have updated this post&lt;br>
&lt;em>&lt;strong>Updated 3 May 2009 –&lt;/strong> I altered the code samples as the previous ones did not seem to work with Typemock Isolator 5.3.0 .&lt;/em>&lt;/em>&lt;/p>
&lt;p>I have previously written a &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/archive/2008/11/13/typemock-isolator-sptypemock-and-sharepoint-testing.aspx">post on using Isolator with Sharepoint&lt;/a>, also &lt;a href="http://www.21apps.com/tdd-getting-into-sharepoint-om/">Andrew Woodward has written a good and more detailed tutorial on the subject&lt;/a>, so I don’t intend to go over old ground here.&lt;/p></description></item><item><title>Software Craftsmanship 2009</title><link>https://blogs.blackmarble.co.uk/rfennell/software-craftsmanship-2009/</link><pubDate>Tue, 02 Dec 2008 10:18:48 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/software-craftsmanship-2009/</guid><description>
&lt;p>Applications to attend &lt;a href="http://parlezuml.com/softwarecraftsmanship/">Software Craftsmanship 2009&lt;/a> have opened, this is a free conference that aims to discuss ‘&lt;em>the &amp;quot;hard skills&amp;quot; that programmers and teams require to deliver high quality working software’.&lt;/em>&lt;/p>
&lt;p>If you have not heard of Software Craftsmanship take a look at Peter McBreen’s book &lt;a href="http://books.google.co.uk/books?id=C9vvHV1lIawC&amp;amp;dq=peter&amp;#43;mcbreen&amp;#43;%22software&amp;#43;Craftsmanship%22&amp;amp;pg=PP1&amp;amp;ots=pL-y3qeQjJ&amp;amp;source=bn&amp;amp;sig=rSn0wpaw65eFRQ8nOx8HiumKZfg&amp;amp;hl=en&amp;amp;sa=X&amp;amp;oi=book_result&amp;amp;resnum=4&amp;amp;ct=result#PPP1,M1">Software Craftsmanship: The New Imperative&lt;/a> well worth the read.&lt;/p>
&lt;p>
&lt;img
loading="lazy"
decoding="async"
alt=""
class="image_figure image_external image_unprocessed"
src="http://parlezuml.com/softwarecraftsmanship/images/logo.gif"
/>
&lt;/p></description></item><item><title>December XPClub Meeting</title><link>https://blogs.blackmarble.co.uk/rfennell/december-xpclub-meeting/</link><pubDate>Sat, 29 Nov 2008 13:28:27 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/december-xpclub-meeting/</guid><description>
&lt;p>The &lt;a href="http://xpclub.erudine.com/2008/11/december-meeting-design-patterns-and.html">next meeting is on the 10th of December at Victoria Hotel&lt;/a> in central Leeds at 7pm as usual.&lt;/p>
&lt;p>The speaker is Gary Short who is speaking on Design Patterns. Come to this free event to find out more about this vital subject to developers in any language from an excellent speaker.&lt;/p>
&lt;p>As an added bonus we will all head off to &lt;a href="http://www.festiveleeds.com/christmasmarket/">Leeds Christmas Market&lt;/a>, to have some wurst, sauerkraut and continental lager.&lt;/p></description></item><item><title>Interesting news on test SharePoint</title><link>https://blogs.blackmarble.co.uk/rfennell/interesting-news-on-test-sharepoint/</link><pubDate>Tue, 25 Nov 2008 12:48:29 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/interesting-news-on-test-sharepoint/</guid><description>
&lt;p>&lt;a href="http://weblogs.asp.net/rosherove/archive/2008/11/24/announcing-isolator-for-sharepoint-with-a-free-full-license-for-bloggers.aspx">Typemock announced today&lt;/a> a new product &lt;a href="http://www.typemock.com/sharepointpage.php?utm_source=sp_bb&amp;amp;utm_medium=blog_4sp&amp;amp;utm_campaign=sp_bb">Isolator for Sharepoint&lt;/a> – which allows unit testing of Sharepoint code without needing Sharepoint installed. Now this is something I have been using the full version of Isolator for of &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/archive/2008/11/13/typemock-isolator-sptypemock-and-sharepoint-testing.aspx">late&lt;/a>, and there are more blog posts on the way from me, so watch this space.&lt;/p>
&lt;p>So if you are a Sharepoint developer this is an important product you should a least have a look at.&lt;/p></description></item><item><title>Back from DDD7</title><link>https://blogs.blackmarble.co.uk/rfennell/back-from-ddd7/</link><pubDate>Mon, 24 Nov 2008 10:40:45 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/back-from-ddd7/</guid><description>
&lt;p>Another long day over the weekend at DDD7, but worth it. An excellent selection of sessions; I particularly liked &lt;a href="http://blog.benhall.me.uk/2008/11/ddd7-slides-and-code-pex-future-of-unit.html">Ben Hall’s&lt;/a> on &lt;a href="http://research.microsoft.com/projects/Pex/wiki/book.html">Pex&lt;/a> and &lt;a href="http://msmvps.com/blogs/jon_skeet/default.aspx">Jon Skeet’s on Linq&lt;/a>.&lt;/p>
&lt;p>A big thank you to the organisers for putting on such a successful event. It was noticeably fuller than past events, as we know DDD7 filled up in about four hours. Maybe time for a bigger venue, but would we lose the atmosphere?&lt;/p>
&lt;p>The other option is for DDD style events around the country and to this end there were a few announcements yesterday. We already know about &lt;a href="http://developerdayscotland.com/main/Default.aspx">DD Scotland in May 2009&lt;/a>, the new ones announced for Q2 2009 were&lt;/p></description></item><item><title>Call for speakers for Developer Day Scotland is open</title><link>https://blogs.blackmarble.co.uk/rfennell/call-for-speakers-for-developer-day-scotland-is-open/</link><pubDate>Fri, 21 Nov 2008 11:27:44 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/call-for-speakers-for-developer-day-scotland-is-open/</guid><description>
&lt;p>The call for speakers at the DDS event on the 2nd of May 2009 is now open. So get your session proposals up and see if there is any interest.&lt;/p>
&lt;p>I am not sure what I will propose, maybe something about testing Sharepoint&lt;/p></description></item><item><title>Entering a license key for Typemock Isolator if you are not administrator</title><link>https://blogs.blackmarble.co.uk/rfennell/entering-a-license-key-for-typemock-isolator-if-you-are-not-administrator/</link><pubDate>Mon, 17 Nov 2008 13:44:52 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/entering-a-license-key-for-typemock-isolator-if-you-are-not-administrator/</guid><description>
&lt;p>To license an installation of Typemock Isolator you run the Configuration tools and type in the key, you don’t get the option to enter the key during the installation. When I tried to run this tool today I got the error&lt;/p>
&lt;p>&lt;a href="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_0AD2F873.png">&lt;img
loading="lazy"
decoding="async"
alt="image"
class="image_figure image_internal image_unprocessed"
src="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_thumb_6AB7EBB5.png"
title="image"
/>
&lt;/a>&lt;/p>
&lt;p>Now at first I thought it might be that I was on a64bit OS and it was looking in a portion of the registry for 32bit applications. However I was wrong it was far simpler than that.&lt;/p></description></item><item><title>Windows 7 on the Dell Mini</title><link>https://blogs.blackmarble.co.uk/rfennell/windows-7-on-the-dell-mini/</link><pubDate>Fri, 14 Nov 2008 11:35:26 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/windows-7-on-the-dell-mini/</guid><description>
&lt;p>I don’t recommend having automatic update switched on (which is the default) for Windows 7. Yesterday my Windows 7 install decided to install 20 updates. It rebooted and then rebooted again and again. My guess is that a driver updated and killed the boot process.&lt;/p>
&lt;p>It did try to go into the automatic fix, but this just said it could not fix the issue, maybe it was a driver issue. I could not find an equivalent to safe mode to try to delete the updates, so today I am re-installing. This time making setting a system restore point so I can rollback if the same happens again&lt;/p></description></item><item><title>TypeMock Isolator, SPTypeMock and SharePoint testing</title><link>https://blogs.blackmarble.co.uk/rfennell/typemock-isolator-sptypemock-and-sharepoint-testing/</link><pubDate>Thu, 13 Nov 2008 13:01:43 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/typemock-isolator-sptypemock-and-sharepoint-testing/</guid><description>
&lt;p>I had to work unexpectedly from home yesterday, this has given me a chance to look at &lt;a href="http://blog.typemock.com">TypeMock Isolator&lt;/a> and &lt;a href="http://www.codeplex.com/SPTypeMock">SPTypeMock&lt;/a> to aid in the testing of SharePoint without the normal disturbances of being in the office.&lt;/p>
&lt;p>First thing I have to say is TypeMock is an amazing tool, OK it costs some money, unlike &lt;a href="http://ayende.com/projects/rhino-mocks.aspx">RhinoMocks&lt;/a>, but it’s ability to mock out sealed classes that have no public constructors is essential when testing SharePoint (which seems to contain nothing but sealed classes with no public constructors).&lt;/p></description></item><item><title>Strange guide to Ruby</title><link>https://blogs.blackmarble.co.uk/rfennell/strange-guide-to-ruby/</link><pubDate>Thu, 13 Nov 2008 11:06:28 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/strange-guide-to-ruby/</guid><description>
&lt;p>At the XP Club last night I was pointed at a web site that contains a very strange guide to Ruby ”&lt;a href="http://poignantguide.net/ruby/index.html">Why’s (poignant) guide to Ruby&lt;/a>”. This is one of strangest language books I have read in a while, probably since “&lt;a href="http://www.mrbunny.com/mbgtax.html">Mr Bunny’s Guide to Active X&lt;/a>”, which was described in its own blurb…&lt;/p>
&lt;p>&lt;em>“This is the first technology book by Carlton Egremont III, author of numerous lengthy grocery lists (unpublished), one or two letters to his mom (unsent), and a doodle on page 117 of the Rochester Public Library's copy of Moby Dick (overdue). Mr. Bunny's Guide to ActiveX makes a lovely gift for the nerd who has everything, and is perfect for propping up uneven table legs. For the high-tech parent there is simply no better antidote to yet another bedtime reading of &amp;quot;The Velveteen Rabbit&amp;quot; or the &amp;quot;OLE 2 Programmer's Reference&amp;quot;. Just like Carlton, you and your children will come to believe in a talking bunny, a befuddled farmer, and a technology called ActiveX. “&lt;/em>&lt;/p></description></item><item><title>TFS Power Toys</title><link>https://blogs.blackmarble.co.uk/rfennell/tfs-power-toys/</link><pubDate>Sun, 09 Nov 2008 10:42:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/tfs-power-toys/</guid><description>
&lt;p>I am not a fan of blog posts that are just a repeat of an announcement on other blogs, but in this case I think it is worth noting that the &lt;a href="http://blogs.msdn.com/bharry/archive/2008/11/08/oct-08-tfs-power-tools-are-available.aspx">TFS October 2008 Release of the Power Toys are out&lt;/a>.&lt;/p>
&lt;p>The power toys are always interesting but the point of note here is the new shell integration for TFS. This means you can check in/out from Windows Explorer, thus in effect making it far easier to integrate third party products with TFS, like Dreamweaver or Expression Blend (OK not third party but has no TFS integration until version 3).&lt;/p></description></item><item><title>XPClub meeting on 12th November</title><link>https://blogs.blackmarble.co.uk/rfennell/xpclub-meeting-on-12th-november/</link><pubDate>Fri, 07 Nov 2008 16:44:47 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/xpclub-meeting-on-12th-november/</guid><description>
&lt;p>Next weeks meeting is at the Victoria Hotel in Leeds as usual at 7pm. It is going to be group discussion sort of session, the subjects being:&lt;/p>
&lt;p>&lt;em>Daniel Drozdzewski is going to present the future of the computing (based on the article read in recent New Scientist about processors built on logic gates utilising the chaos phenomenon)&lt;/em>&lt;/p>
&lt;p>plus&lt;/p>
&lt;p>&lt;em>moderated conversation about design in software projects&lt;/em>&lt;/p>
&lt;p>plus the usual gossip from the industry.&lt;/p></description></item><item><title>The future of paid conferences and other thoughts</title><link>https://blogs.blackmarble.co.uk/rfennell/the-future-of-paid-conferences-and-other-thoughts/</link><pubDate>Thu, 06 Nov 2008 16:31:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/the-future-of-paid-conferences-and-other-thoughts/</guid><description>
&lt;p>Whist at PDC and the VBug conference I have heard a a good deal of chat over the future of paying for conferences and user groups. This is in the light of all the PDC sessions being available on &lt;a href="http://channel9.msdn.com/posts/pdc2008/RSS/Default.aspx">Channel9&lt;/a> in under 24 hours and that the content at the Vbug conference is also available at free events like &lt;a href="http://www.developerday.co.uk/ddd/default.asp">DDD&lt;/a>.&lt;/p>
&lt;p>The question boils down to can a person or company justify paying a good few thousand Pounds, Euro or Dollars to fly half way round the world when they could see the same content at home? In my &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/archive/2008/11/02/post-pdc-2008-thoughts.aspx">previous post&lt;/a> on the PDC I suggested it was worth it for the networking, and I still think this is so. However, I have heard an interesting slant on this from more than one person; this is go to the city were the conference is but not to the actual conference; just taking in the parties and maybe watching content via the Internet where available.&lt;/p></description></item><item><title>Page views not updated in community server</title><link>https://blogs.blackmarble.co.uk/rfennell/page-views-not-updated-in-community-server/</link><pubDate>Thu, 06 Nov 2008 16:02:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/page-views-not-updated-in-community-server/</guid><description>
&lt;p>Since we added the new themes to our community server we have not been getting any updates on the Blogs control panel as to the number of times a post has been viewed (but the aggregate views via RSS are incremented OK)&lt;/p>
&lt;p>After a bit of digging it seems that we missing the &lt;strong>IncrementViewCount&lt;/strong> flag on the in the &lt;strong>post.aspx&lt;/strong> file. It should be as shown below.&lt;/p>
&lt;p>&amp;lt;CSBlog:WeblogPostData Property=&amp;quot;FormattedBody&amp;quot; runat=&amp;quot;server&amp;quot; IncrementViewCount=&amp;quot;true&amp;quot; /&amp;gt;&lt;/p></description></item><item><title>My VBug conference session on TFS</title><link>https://blogs.blackmarble.co.uk/rfennell/my-vbug-conference-session-on-tfs/</link><pubDate>Wed, 05 Nov 2008 21:07:01 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/my-vbug-conference-session-on-tfs/</guid><description>
&lt;p>You can find the slides for my Vbug sessions on the [Black Marble web site](&lt;a href="http://www.blackmarble.co.uk/SectionDisplay.aspx?name=Publications&amp;amp;subsection=Conference">http://www.blackmarble.co.uk/SectionDisplay.aspx?name=Publications&amp;subsection=Conference&lt;/a> Papers).&lt;/p>
&lt;p>I hope those you attended found it useful.&lt;/p></description></item><item><title>Going to conferences is worth it, well the chats in the corridor certainly are.</title><link>https://blogs.blackmarble.co.uk/rfennell/going-to-conferences-is-worth-it-well-the-chats-in-the-corridor-certainly-are/</link><pubDate>Tue, 04 Nov 2008 22:54:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/going-to-conferences-is-worth-it-well-the-chats-in-the-corridor-certainly-are/</guid><description>
&lt;p>I am down in Reading for the VBug conference where I am speaking on TFS tomorrow.&lt;/p>
&lt;p>Whilst in the bar chatting to &lt;a href="http://weblogs.asp.net/ROsherove/">Roy Osherove&lt;/a> from Typemock, the keynote speaker for the conference, he asked if I had looked at the &lt;a href="http://www.codeplex.com/spg">Sharepoint patterns and practices document&lt;/a> that details using &lt;a href="http://www.typemock.com/free_open_source_license_form.php">Typemock Isolator&lt;/a> for unit testing in Sharepoint.&lt;/p>
&lt;p>On a first look it seems very interesting; as usual at this point  I just wonder how I missed the announcement of this document last month! Is is just me or does everyone struggle to keep up with the the blogs and site you should read?&lt;/p></description></item><item><title>patterns &amp;amp; practices Acceptance Test Engineering Guidance</title><link>https://blogs.blackmarble.co.uk/rfennell/patterns-practices-acceptance-test-engineering-guidance/</link><pubDate>Mon, 03 Nov 2008 21:11:20 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/patterns-practices-acceptance-test-engineering-guidance/</guid><description>
&lt;p>&lt;a href="http://blogs.blackmarble.co.uk/blogs/boss/archive/2008/11/02/patterns-and-practices-acceptance-test-engineering-guidance.aspx">Robert blogged&lt;/a> about the new beta release of the &lt;a href="http://www.codeplex.com/TestingGuidance">patterns &amp;amp; practices Acceptance Test Engineering Guidance document.&lt;/a> I have had a chance to do a quick read now and I have to say I am impressed. If nothing else it gives great comparative look at waterfall and agile methods for delivery, and a review of many types of acceptance testing.&lt;/p>
&lt;p>As with many of the p&amp;amp;p documents it is not exhaustive in what it covers, but what it does give is an excellent and detailed starting point for you to make the decisions that are right for your project. It does not give all the answers just most of the right questions.&lt;/p></description></item><item><title>Post PDC 2008 thoughts</title><link>https://blogs.blackmarble.co.uk/rfennell/post-pdc-2008-thoughts/</link><pubDate>Sun, 02 Nov 2008 13:29:08 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/post-pdc-2008-thoughts/</guid><description>
&lt;p>So back home now after a reasonable journey back from LA all things considered; so I have had a bit of time to reflect, was the PDC good?&lt;/p>
&lt;p>Well I think I enjoyed my previous PDC in 2005 more, your first time always sticks in your memory. I think that this might be due to the fact that at the 2005 PDC LINQ was announced and it was a real left field thing, nobody seemed to see it coming. Due to the prior announcements (leaks) there was nothing that was not expected at this years PDC.&lt;/p></description></item><item><title>Team System Database GDR Edition RTM Released</title><link>https://blogs.blackmarble.co.uk/rfennell/team-system-database-gdr-edition-rtm-released/</link><pubDate>Sat, 01 Nov 2008 22:19:46 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/team-system-database-gdr-edition-rtm-released/</guid><description>
&lt;p>While I was at the PDC I missed the announcement that the release candidate for Database Edition was made, I was not following blogs too much. You can find all the &lt;a href="http://blogs.msdn.com/gertd/archive/2008/10/27/the-gdr-rc-is-here.aspx">download links for the RTM at Gert Drapers Blog&lt;/a>, you can also see his &lt;a href="http://channel9.msdn.com/pdc2008/TL45/">PDC session where he made the announcement&lt;/a>.&lt;/p>
&lt;p>Why did I miss the session you might ask? well I was in &lt;a href="http://channel9.msdn.com/pdc2008/TL09/">Agile development with Team System session&lt;/a> – some big improvement in Office integration with TFS&lt;/p></description></item><item><title>PDC Day 3</title><link>https://blogs.blackmarble.co.uk/rfennell/pdc-day-3/</link><pubDate>Thu, 30 Oct 2008 15:33:21 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/pdc-day-3/</guid><description>
&lt;p>The keynote today was all about &lt;a href="http://research.microsoft.com/">MSR&lt;/a>, interesting as ever. I particularly liked the demos of &lt;em>&lt;a href="http://www.techflash.com/Video_Microsofts_SecondLight_project.html">Second Light&lt;/a>&lt;/em> (Surface computing that reaches beyond the surface of the physical pc) and &lt;em>Boku&lt;/em> (a system to help children program). The latter is close to our hearts at Black Marble due to the work we have done on &lt;a href="http://www.myfpl.co.uk/">FPL&lt;/a>, another system to teach children to program (watch out for free downloads of this application soon)&lt;/p></description></item><item><title>PDC 2008 Day 2 Keynote</title><link>https://blogs.blackmarble.co.uk/rfennell/pdc-2008-day-2-keynote/</link><pubDate>Tue, 28 Oct 2008 19:47:54 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/pdc-2008-day-2-keynote/</guid><description>
&lt;p>Well it was all end user focused today; Windows 7 and experience in &lt;a href="https://www.mesh.com/Welcome/Welcome.aspx">Live systems&lt;/a>. All looks very nice, given the usually question you have to raise in a connected environment over personal data security. I am sure Microsoft have done a good job of physical and logical data security, but the whole concept of mesh networks opens up a huge potential for social attacks. No developer can protect against the user clicking on an ill advised email or now mesh link; I know I have fixed too many friends PCs with the &lt;em>XP Antivirus 2008&lt;/em> Trojan of late, where they click on a link because an email said their anti virus was out of date, they thought they were doing good.&lt;/p></description></item><item><title>PDC Buzzword bingo</title><link>https://blogs.blackmarble.co.uk/rfennell/pdc-buzzword-bingo/</link><pubDate>Tue, 28 Oct 2008 19:36:10 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/pdc-buzzword-bingo/</guid><description>
&lt;p>It has been a while but I knew a conference would turn up some good buzzwords&lt;/p>
&lt;p>Meshify – to add Live mesh functions to a site&lt;/p></description></item><item><title>It made me laugh…</title><link>https://blogs.blackmarble.co.uk/rfennell/it-made-me-laugh/</link><pubDate>Tue, 28 Oct 2008 16:30:08 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/it-made-me-laugh/</guid><description>
&lt;p>At the PDC expo drinks last night I was asked to show age ID to get a drink! Just me it seems, nobody else from the company.&lt;/p>
&lt;p>I thought I was doing well to be carded on my 30th birthday whilst in the US, but 10 years on it getting silly – You must ask how do I keep my youthfully countenance? Wish I knew, but they say it is youth culture here in LA.&lt;/p></description></item><item><title>VSTS 2010 at the PDC</title><link>https://blogs.blackmarble.co.uk/rfennell/vsts-2010-at-the-pdc/</link><pubDate>Tue, 28 Oct 2008 00:59:34 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/vsts-2010-at-the-pdc/</guid><description>
&lt;p>Though not really mentioned in the keynote there are a lot of sessions on VSTS 2010 at the PDC; it is going to be a major really major release.&lt;/p>
&lt;p>Chatting in between the sessions with other delegates there seems to loads of interest in the new testing features, but we know this is pain point from &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/archive/2008/09/14/alt-net-the-day-after.aspx">Alt.net meetings&lt;/a>. It will be interesting to see how these new tools deliver, I am sure the &lt;a href="http://msdn.microsoft.com/en-us/vstudio/bb725993.aspx">manual testing tools&lt;/a> will be useful, but I am a bit more doubtful over the UI testing tools. We have all seen the demo promise of these products before and hit problems when we try to use them for real.&lt;/p></description></item><item><title>PDC 2008 thoughts day 1</title><link>https://blogs.blackmarble.co.uk/rfennell/pdc-2008-thoughts-day-1/</link><pubDate>Mon, 27 Oct 2008 22:59:15 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/pdc-2008-thoughts-day-1/</guid><description>
&lt;p>So it seems we are going to have themed days at the 2008 PDC and day one is all about  the &lt;a href="http://www.microsoft.com/azure/default.mspx">Azure&lt;/a> services platform. Though judging by the expo stands the key announcements for tomorrow - Oslo and Dublin are out there too. As conferences go it seems a bit confused to me, I guess Microsoft are aiming for three big bangs at three keynotes; but we seem to have had a big bang today and splutter of future items.&lt;/p></description></item><item><title>All life is here</title><link>https://blogs.blackmarble.co.uk/rfennell/all-life-is-here/</link><pubDate>Mon, 27 Oct 2008 18:05:17 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/all-life-is-here/</guid><description>
&lt;p>I won’t repeat &lt;a href="http://blogs.blackmarble.co.uk/blogs/boss/archive/2008/10/27/black-marble-founders-day.aspx">Robert’s blog entry on the Black Marble founders reunion&lt;/a>, but just to add the missing photo&lt;/p>
&lt;p>&lt;a href="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_656052A3.png">&lt;img
loading="lazy"
decoding="async"
alt="image"
class="image_figure image_internal image_unprocessed"
src="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_thumb_1E5974BD.png"
title="image"
/>
&lt;/a>&lt;/p></description></item><item><title>TF53010 &amp;amp; TF213000 unable to load</title><link>https://blogs.blackmarble.co.uk/rfennell/tf53010-tf213000-unable-to-load/</link><pubDate>Fri, 24 Oct 2008 10:16:50 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/tf53010-tf213000-unable-to-load/</guid><description>
&lt;p>I got this error when installing TFS 2008. In the error log I could see the problem was when the &lt;strong>TfsGssInit.exe&lt;/strong>  was run, it said&lt;/p>
&lt;p>&lt;strong>Detailed Message: TF213000: A required user account could not be added during installation or repair of Team Foundation Server.  The installation or repair failed with the following exception message: System.TypeInitializationException…..&lt;/strong>&lt;/p>
&lt;p>I found the answer in the &lt;a href="http://social.msdn.microsoft.com/Forums/en-US/tfssetup/thread/1a484f4d-9b14-44e1-b3a3-cb23e62f1e4e/">TFS forum&lt;/a>. The thread (and others) did suggest there were DNS lookup issues, but the thing that got it for me was removing VS2008 Team Client (and it’s SP1) from the server. I had installed these whilst I had been waiting for the IT department do some work in the SQL Data Tier. I thought I was saving times, I was wrong!.&lt;/p></description></item><item><title>TF220050 error in TFS install</title><link>https://blogs.blackmarble.co.uk/rfennell/tf220050-error-in-tfs-install/</link><pubDate>Fri, 24 Oct 2008 10:16:35 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/tf220050-error-in-tfs-install/</guid><description>
&lt;p>Whilst doing a new TFS 2008 dual tier install I was getting a failure with a TF220050 error when I entered the data tier DB instance name. The setup wizard just said ‘failed to connect to data tier’, but you can find the actual error number in the install logs to be found under &lt;em>C:Documents and Settings[setup user]Local SettingsTemp&lt;/em>&lt;/p>
&lt;p>This error seems to be just a generic low level ‘cannot connect to the DB’; in my case it was caused by one of two issues:&lt;/p></description></item><item><title>... and I understand DDD7 is now full</title><link>https://blogs.blackmarble.co.uk/rfennell/and-i-understand-ddd7-is-now-full/</link><pubDate>Wed, 22 Oct 2008 18:40:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/and-i-understand-ddd7-is-now-full/</guid><description>
&lt;p>So that took about 6 hours by my estimation. Popular or what!&lt;/p></description></item><item><title>DDD7 Registration is open</title><link>https://blogs.blackmarble.co.uk/rfennell/ddd7-registration-is-open/</link><pubDate>Wed, 22 Oct 2008 10:22:50 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/ddd7-registration-is-open/</guid><description>
&lt;p>&lt;a href="http://codebetter.com/blogs/ian_cooper/archive/2008/10/22/developer-day-registration-is-open.aspx">Ian Cooper has just announced&lt;/a> that you can now &lt;a href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032393874&amp;amp;Culture=en-GB">register for DDD7&lt;/a>, but be quick it is expected to be full in 24 hours.&lt;/p></description></item><item><title>TFS Iterations not appearing in IterationPath</title><link>https://blogs.blackmarble.co.uk/rfennell/tfs-iterations-not-appearing-in-iterationpath/</link><pubDate>Thu, 16 Oct 2008 12:35:14 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/tfs-iterations-not-appearing-in-iterationpath/</guid><description>
&lt;p>I have been working on site that has had to do a disaster recovery of their TFS application tier (AT) due to hardware failure. For a short period they have had to use a spare PC as their AT. Due to the hast required to get the developers working this AT was only configured to for source control and work item editing.&lt;/p>
&lt;p>So I was onsite to put the proper replacement AT in place. All seemed to go OK until we added a new Iteration to a team project. It did not appear in the &lt;strong>IterationPath&lt;/strong> field for work items.&lt;/p></description></item><item><title>TFS 2008 SP1 resets service accounts</title><link>https://blogs.blackmarble.co.uk/rfennell/tfs-2008-sp1-resets-service-accounts/</link><pubDate>Thu, 16 Oct 2008 12:23:07 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/tfs-2008-sp1-resets-service-accounts/</guid><description>
&lt;p>I installed the &lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=9e40a5b6-da41-43a2-a06d-3cee196bfe3d">TFS 2008 SP1&lt;/a> on a site that was using custom accounts for the identities that run the application pools for the WSS instance and Report Services.&lt;/p>
&lt;p>These user accounts got reset back to &lt;strong>Network Service&lt;/strong> when the service pack was installed; I had not see this occur on any site I had upgraded previously. This meant you could not start WSS or Reporting Services.&lt;/p>
&lt;p>Manually resetting them back to their old correct accounts fixed the problem.&lt;/p></description></item><item><title>Using StyleCop in TFS Team Build</title><link>https://blogs.blackmarble.co.uk/rfennell/using-stylecop-in-tfs-team-build/</link><pubDate>Wed, 15 Oct 2008 22:19:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/using-stylecop-in-tfs-team-build/</guid><description>
&lt;p>The recent release of the &lt;a href="http://www.codeplex.com/MSBuildExtensionPack">MSBuild Extensions&lt;/a> includes a task for &lt;a href="http://code.msdn.microsoft.com/sourceanalysis">StyleCop 4.3&lt;/a>. I have been trying to get this integrated into our TFS TeamBuild, I think it is a far more preferable way to do it than editing the various project files in our solution to link in &lt;a href="http://blogs.msdn.com/sourceanalysis/pages/stylecop-4-2-msbuild-integration.aspx">StyleCop as you had to do in 4.2&lt;/a>.&lt;/p>
&lt;p>There are a good few steps I had to follow to get it doing:&lt;/p>
&lt;ul>
&lt;li>
&lt;p>Install the StyleCop 4.3 Msi&lt;/p></description></item><item><title>DDD7 Agenda Published</title><link>https://blogs.blackmarble.co.uk/rfennell/ddd7-agenda-published/</link><pubDate>Mon, 13 Oct 2008 22:15:11 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/ddd7-agenda-published/</guid><description>
&lt;p>Well the votes are in and my proposed session for &lt;a href="http://www.developerday.co.uk/ddd/agendaddd7lineup.asp">DDD7 on automated testing did not make the cut&lt;/a>, but thanks to anyone who voted for it. I can’t say I am surprised that I am not on the list given the larger number of very interesting sessions proposed.&lt;/p>
&lt;p>However, I am a little disappointed that even though there were a good percentage of the proposed sessions on testing related subjects only &lt;a href="http://codebetter.com/blogs/ian_cooper/">Ian’s on TDD&lt;/a> and  &lt;a href="http://blog.benhall.me.uk/2008/10/ddd7-microsoft-pex-future-of-unit.html">Ben’s on Pex&lt;/a> made it through; I really had expected to see &lt;a href="http://gojko.net/about/">Gojko&lt;/a>’s on Fitnesse.Net on the list.&lt;/p></description></item><item><title>Like the new Blog theme?</title><link>https://blogs.blackmarble.co.uk/rfennell/like-the-new-blog-theme/</link><pubDate>Thu, 09 Oct 2008 20:29:52 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/like-the-new-blog-theme/</guid><description>
&lt;p>&lt;a href="http://blogs.blackmarble.co.uk/blogs/lfear/default.aspx">Lauren&lt;/a> has has restyled our &lt;a href="http://blogs.blackmarble.co.uk/">blog server&lt;/a> to match the &lt;a href="http://www.blackmarble.co.uk/">new company web site&lt;/a> and also done a matching blog template.&lt;/p>
&lt;p>Do you like it?&lt;/p></description></item><item><title>XP Club meeting</title><link>https://blogs.blackmarble.co.uk/rfennell/xp-club-meeting/</link><pubDate>Wed, 08 Oct 2008 18:50:21 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/xp-club-meeting/</guid><description>
&lt;p>An excellent turnout for tonights XP Club meeting. As I write Nick McKenna is talking about his experiences in adopting agile processes.&lt;/p></description></item><item><title>Flash problems</title><link>https://blogs.blackmarble.co.uk/rfennell/flash-problems/</link><pubDate>Tue, 07 Oct 2008 12:29:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/flash-problems/</guid><description>
&lt;p>Are you seeing the error &amp;quot;&lt;em>Cannot play media. You do not have the correct version of the flash player. Download the correct version&lt;/em>&amp;quot; on the BBC web site or on YouTube  &amp;quot;&lt;em>Hello, you either have JavaScript turned off or an old version of Macromedia's Flash Player. Get the latest Flash player&lt;/em>&amp;quot;?&lt;/p>
&lt;p>I have been on my Dell Mini; I suspect the problem was the upgrade route I took from XP-Home -&amp;gt; IE8 Beta -&amp;gt;XP Prof meant the registry was a mess. Repeated re-installation of Flash and Shockwave had no effect.&lt;/p></description></item><item><title>Running fitness.Net tests in unit test – some tips</title><link>https://blogs.blackmarble.co.uk/rfennell/running-fitness-net-tests-in-unit-test-some-tips/</link><pubDate>Sat, 04 Oct 2008 21:39:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/running-fitness-net-tests-in-unit-test-some-tips/</guid><description>
&lt;p>I &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/archive/2008/07/18/running-fitnesse-net-tests-using-mstest.aspx">posted a while ago on wiring in Fitness.Net into a unit test framework using HTML files to hold the tests&lt;/a>. Well I have been using the technique for some workflow acceptance testing and hit a couple of gotta’s that are easy to forget:&lt;/p>
&lt;ul>
&lt;li>&lt;strong>Make sure the HTML files containing the user story tests are set to copy to the project output directory in the IDE&lt;/strong> – if they are not then the framework cannot find the tests, so obviously none are run. The danger is you think the problem is an incorrect class or method name, when it is a simple missing file problem.&lt;/li>
&lt;li>&lt;strong>If you edit the user story HTML file make sure you rebuild the solution.&lt;/strong> If you don’t do this the copy to the output directory might not be triggered as a simple build maybe skipped as the IDE will not see any changes to source files it needs to compile the project. This is especially easy to forget if you are using a test add-in such as Testdriven.net as opposed to clicking on build yourself.&lt;/li>
&lt;li>&lt;strong>Be careful with the HTML editor you use to create user story file in case it reformats the page&lt;/strong>. This is important for parameters (but it seems not for the method name fields). You need to make they are formatted&lt;/li>
&lt;/ul>
&lt;blockquote>
&lt;p>           &lt;td>My Value&lt;/td>&lt;/p></description></item><item><title>Upcoming events in October</title><link>https://blogs.blackmarble.co.uk/rfennell/upcoming-events-in-october/</link><pubDate>Sat, 04 Oct 2008 15:54:44 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/upcoming-events-in-october/</guid><description>
&lt;p>It is getting to that conference time of year again; I can’t believe the &lt;a href="http://www.microsoftpdc.com/">PDC&lt;/a> is only 3 weeks away, then &lt;a href="http://www.vbug.co.uk/Events/October-2008/THE-VBUG-NET-ANNUAL-CONFERENCE-2008.aspx">VBug&lt;/a>  the next week and &lt;a href="http://www.developerday.co.uk/">DDD7&lt;/a> just after that.&lt;/p>
&lt;p>A bit closer to home there are some free events coming up this month:&lt;/p>
&lt;ul>
&lt;li>XPClub - &lt;a href="http://xpclub.erudine.com/2008/09/october-meeting-agile-narrative-by-nick.html">October Meeting: &amp;quot;Agile Narrative&amp;quot; by Nick McKenna, Wednesday, 8th October, 7pm for 7:30pm&lt;/a> at the Victoria Hotel in the centre of Leeds (free event inc. free beer!), no need to register just turn up&lt;/li>
&lt;li>Black Marble community events – [Silverlight, XNA and Gaming](&lt;a href="http://www.blackmarble.co.uk/events.aspx?event=Silverlight">http://www.blackmarble.co.uk/events.aspx?event=Silverlight&lt;/a>, XNA and Gaming) Pete Mcgann (XNA) and Richard Costall (Silverlight) talk about XNA, Gaming and Silverlight in their own unique style. 22nd October 6pm for 6:15pm at The Holiday Inn, Tong (between Leeds and Bradford). This free event also provides free food, you can just turn up, but really helps if you register online.&lt;/li>
&lt;/ul>
&lt;p>Look forward to seeing you at one of the events in Yorkshire&lt;/p></description></item><item><title>The October Power Tools Release</title><link>https://blogs.blackmarble.co.uk/rfennell/the-october-power-tools-release/</link><pubDate>Fri, 03 Oct 2008 18:44:11 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/the-october-power-tools-release/</guid><description>
&lt;p>I &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/archive/2008/09/18/blend-and-source-control.aspx">posted about the problems of using Blend with source control&lt;/a>, specifically TFS. Well the next version of TFS &lt;a href="http://blogs.msdn.com/bharry/archive/2008/10/01/preview-of-the-next-tfs-power-tools-release.aspx">Power tools gives a partial answer&lt;/a>.&lt;/p>
&lt;p>They are to include Windows Shell Extensions so at least the check-in/out process can be managed would having another application open other than an explorer windows.&lt;/p>
&lt;p>Well it is step forward, until Blend 3 appears&lt;/p></description></item><item><title>Testing Driven Development for Workflow Foundation</title><link>https://blogs.blackmarble.co.uk/rfennell/testing-driven-development-for-workflow-foundation/</link><pubDate>Fri, 03 Oct 2008 18:28:22 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/testing-driven-development-for-workflow-foundation/</guid><description>
&lt;p>As we move into the SOA world workflows will become more common and so the need to test them will increase. If we take the most simplistic view these are a sets if statements and loops so should be amenable to automated testing and TDD.&lt;/p>
&lt;p>However you have to careful how you try to do this, it is too easy to forget that your workflow will run the the WF thread. Why is this problem?&lt;/p></description></item><item><title>XP Home to XP Professional when IE8 is involved</title><link>https://blogs.blackmarble.co.uk/rfennell/xp-home-to-xp-professional-when-ie8-is-involved/</link><pubDate>Thu, 02 Oct 2008 08:55:21 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/xp-home-to-xp-professional-when-ie8-is-involved/</guid><description>
&lt;p>The one major thing that I did not like with my Dell Mini was the fact it had installed XP Home. My main grip with this was the fact my main user account had to be an admin user, and I could not login as a user called administrator unless in safe mode. So I decided to do an in place upgrade to XP Professional (which also meant i could join the company domain). This seemed straight forward, I attached an external USB DVD and got the XP Professional SP3 slipstream media. The process continued as you would expect until the final reboot where it sat on the splash screen saying 'please wait' for a hour or two.&lt;/p></description></item><item><title>Further thoughts on mocking out a SMTP Server</title><link>https://blogs.blackmarble.co.uk/rfennell/further-thoughts-on-mocking-out-a-smtp-server/</link><pubDate>Tue, 30 Sep 2008 20:31:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/further-thoughts-on-mocking-out-a-smtp-server/</guid><description>
&lt;p>I posted on the &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/archive/2008/09/27/mocking-out-an-email-server.aspx">problems I had had mocking out an SMTP server&lt;/a>, well I have moved on a bit. As I said in the update note in the last post, I had given up on &lt;a href="http://sourceforge.net/projects/ndumbster/">nDumbster&lt;/a> and moved over to &lt;a href="http://www.lumisoft.ee/lswww/ENG/Products/Mail_Server/mail_index_eng.aspx?type=info">LumiSoft's freeware mail server&lt;/a>.&lt;/p>
&lt;p>The Lumisoft server is a far better starting point as it is a 'real' server that supports all the major mail protocols. As all the source (and binaries if you can't be bothered to build it yourself) are shipped it is easy to create a &lt;a href="http://www.lumisoft.ee/forum/default.aspx?g=posts&amp;amp;m=1494">wrapper class&lt;/a> for unit testing purposes that can do whatever you need.&lt;/p></description></item><item><title>'Datadude' merged with Team Developer</title><link>https://blogs.blackmarble.co.uk/rfennell/datadude-merged-with-team-developer/</link><pubDate>Tue, 30 Sep 2008 12:45:51 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/datadude-merged-with-team-developer/</guid><description>
&lt;p>It was &lt;a href="http://blogs.msdn.com/bharry/archive/2008/09/29/shining-the-light-on-rosario.aspx">announced overnight by Microsoft&lt;/a> that the Database Professional SKU for Visual Studio will be made available to all people who have a licensed copy of Team Developer.&lt;/p>
&lt;p>This is great news as it addresses the problem of where to put the expensive copy of DataDude (which I think has been a barrier to it's uptake), in most companies there is not the clear distinction between code and DB devs.&lt;/p></description></item><item><title>Mocking out an email server</title><link>https://blogs.blackmarble.co.uk/rfennell/mocking-out-an-email-server/</link><pubDate>Sat, 27 Sep 2008 19:37:25 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/mocking-out-an-email-server/</guid><description>
&lt;p>I am currently looking at automation of acceptance testing for workflows and a common task is to make sure an email has been sent. To do this in a TDD style I have been using the mock SMTP server &lt;a href="http://sourceforge.net/projects/ndumbster">nDumbster&lt;/a>.&lt;/p>
&lt;p>Now this was a port from Java in the the days of .NET 1.1 and does not seem to have had any development since. This can be seen because the following test using the .Net 1.1 System.Web.Mail call works beautifully, returning in a second or so&lt;/p></description></item><item><title>First thoughts on the Dell Mini 9</title><link>https://blogs.blackmarble.co.uk/rfennell/first-thoughts-on-the-dell-mini-9/</link><pubDate>Wed, 24 Sep 2008 18:45:34 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/first-thoughts-on-the-dell-mini-9/</guid><description>
&lt;p>After Alt.net I had thought getting an ultra light notebook was a good idea. At most conference I need to browser, blog and read email; I don’t need to carry around a full development desktop replacement laptop.&lt;/p>
&lt;p>Whilst at ReMix I had enough of the old battery in my Acer laptop, so just before it ran out of juice again I ordered a &lt;a href="http://www.dell.com/content/products/productdetails.aspx/laptop-inspiron-9">Dell Mini 9&lt;/a>, which was actually cheaper than my &lt;a href="http://www.htc.com/www/default.aspx">HTC phone&lt;/a>! Today it arrived, a lot sooner than I was expecting, Dell has said it would be next month.&lt;/p></description></item><item><title>So what will we need to run 'Rosario'?</title><link>https://blogs.blackmarble.co.uk/rfennell/so-what-will-we-need-to-run-rosario/</link><pubDate>Tue, 23 Sep 2008 20:10:45 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/so-what-will-we-need-to-run-rosario/</guid><description>
&lt;p>Brian Harry has published an interesting &lt;a href="http://blogs.msdn.com/bharry/archive/2008/09/23/charting-a-course-for-tfs-rosario.aspx">post on the platform decisions for 'Rosario&lt;/a>'.&lt;/p>
&lt;p>The most interesting item is it will only support SQL 2008; so get planning a migration for that central enterprise SQL server!&lt;/p></description></item><item><title>Post ReMix thoughts</title><link>https://blogs.blackmarble.co.uk/rfennell/post-remix-thoughts/</link><pubDate>Sat, 20 Sep 2008 14:34:32 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/post-remix-thoughts/</guid><description>
&lt;p>So how was ReMix? well a bit like last year not earth shattering, but what can you expect. We have PDC in a month so there is going to be no major announcements, also this is a rerun event from the &lt;a href="http://visitmix.com/">US MIX conference&lt;/a>, again reducing the chances of anything new.&lt;/p>
&lt;p>So if you are a developer and been to TechEd or just to local community events (and as &lt;a href="http://www.andrewwestgarth.co.uk/Blog/">Andy Westgarth&lt;/a> said we are very lucky at the quality and number of community events and speakers in the UK) you will have heard nothing new about &lt;a href="http://silverlight.net/">Silverlight&lt;/a> etal. Though it is far to say that this may not be true for designers, and I felt the development track was pitched at this level.&lt;/p></description></item><item><title>Rebuild of GUITester</title><link>https://blogs.blackmarble.co.uk/rfennell/rebuild-of-guitester/</link><pubDate>Sat, 20 Sep 2008 13:39:01 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/rebuild-of-guitester/</guid><description>
&lt;p>I have eventually got round to rebuilding my &lt;a href="http://www.codeplex.com/guitester">GUITester on Codeplex&lt;/a> for VS2008. I must get round to looking to see if a similar declarative test markup system has any mileage for XAML. Something was talking about at Alt.net in the spring - how time flies.&lt;/p></description></item><item><title>Local user groups</title><link>https://blogs.blackmarble.co.uk/rfennell/local-user-groups/</link><pubDate>Fri, 19 Sep 2008 23:13:54 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/local-user-groups/</guid><description>
&lt;p>I have been asked a couple of times whist at the &lt;a href="http://www.altnetuk.com/">Alt.net&lt;/a> and &lt;a href="http://www.microsoft.com/uk/remix08/default.aspx">ReMix&lt;/a> conferences about the local user groups around Leeds. Well these are the regular free community events I know about:&lt;/p>
&lt;p>&lt;a href="http://www.blackmarble.co.uk/SectionDisplay.aspx?name=Events">Black Marble community events&lt;/a> - my company runs free community events at a hotel between Leeds and Bradford roughly monthly from autumn to spring. We invite a variety of leading .NET community speakers.&lt;/p>
&lt;p>&lt;a href="http://xpclub.erudine.com/">The Yorkshire Extreme Programming and Agile Methods Club&lt;/a> (XPClub) - meets the 2nd Wednesday of the month in the centre of Leeds. This is a group of .NET and Java developers interested in agile development bast practice.&lt;/p></description></item><item><title>Not speaking at Vbug next week</title><link>https://blogs.blackmarble.co.uk/rfennell/not-speaking-at-vbug-next-week/</link><pubDate>Fri, 19 Sep 2008 22:13:26 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/not-speaking-at-vbug-next-week/</guid><description>
&lt;p>I have just found out that the session I was doing at &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/archive/2008/08/21/speaking-on-team-system-in-coventry.aspx">Vbug in Coventry next week&lt;/a> has been cancelled due to low numbers. Sorry if you were planning to come, but don't worry I will be doing a similar sessions (the the bonus of post &lt;a href="http://www.microsoftpdc.com/">PDC&lt;/a> &lt;a href="http://msdn.microsoft.com/en-us/vstudio/bb725993.aspx">Rosario&lt;/a> updates) at the &lt;a href="http://www.vbug.co.uk/Events/October-2008/THE-VBUG-NET-ANNUAL-CONFERENCE-2008.aspx">VBug conference&lt;/a> in November.&lt;/p></description></item><item><title>Blend and Source control</title><link>https://blogs.blackmarble.co.uk/rfennell/blend-and-source-control/</link><pubDate>Thu, 18 Sep 2008 11:50:37 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/blend-and-source-control/</guid><description>
&lt;p>It is all well and good Microsoft saying that a developers and designer can share the same project WPF/Silverlight files in Visual Studio and &lt;a href="http://www.microsoft.com/expression/products/Overview.aspx?key=blend">Expression Blend&lt;/a>, but whilst Blend does not have the ability to use a source control repository (TFS, SVN or anything else for that matter) and actually strips out  any source control binding it finds in a project file, this is for me unworkable experience. How has this product got to V2 without this feature?&lt;/p></description></item><item><title>Remix UK 08 Keynote</title><link>https://blogs.blackmarble.co.uk/rfennell/remix-uk-08-keynote/</link><pubDate>Thu, 18 Sep 2008 11:27:12 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/remix-uk-08-keynote/</guid><description>
&lt;p>Just seen the keynote for Remix in Brighton, I must say that &lt;a href="http://www.microsoft.com/uk/remix08/speakers.aspx#buxton">Bill Buxton&lt;/a>'s part was one of the best keynotes I have seen (watch out for the streamed webcast). For me the most important thing for a keynote is to set the tone, the &lt;a href="http://en.wikipedia.org/wiki/Meme">meme&lt;/a>, for the conference and his session certainly did. OK it is good to see the demos of products but you can't beat a good bit of thought provoking public speaking. First time I have seen this done well by Microsoft since the last &lt;a href="http://www.microsoftpdc.com/">PDC&lt;/a> a couple of years ago. Interestingly, setting the tone was something always done very well at the Sun &lt;a href="http://en.wikipedia.org/wiki/JavaOne">JavaOne&lt;/a> conferences I attended in the late 90s.&lt;/p></description></item><item><title>Not enough people locally for a TFS user group?</title><link>https://blogs.blackmarble.co.uk/rfennell/not-enough-people-locally-for-a-tfs-user-group/</link><pubDate>Tue, 16 Sep 2008 17:07:48 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/not-enough-people-locally-for-a-tfs-user-group/</guid><description>
&lt;p>Do you feel alone, nobody nearby who you can talk to about TFS? Well try the new &lt;a href="http://www.tsug-ve.com/">virtual user group&lt;/a> meeting in Second Life.&lt;/p>
&lt;p>Only issue is the meeting will be 2am UK time by my reckoning.&lt;/p></description></item><item><title>Alt.net - the day after</title><link>https://blogs.blackmarble.co.uk/rfennell/alt-net-the-day-after/</link><pubDate>Sun, 14 Sep 2008 15:16:21 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/alt-net-the-day-after/</guid><description>
&lt;p>Back home now after a excellent two days at &lt;a href="http://altdotnet.org/events/5">Alt.Net in London&lt;/a>. As with the spring conference this was a thought provoking event. I really like the whole open space format, though there were four 'main sessions' the event started the night before in the planning session and the bar and carried on without a pause, including the train trip home.&lt;/p>
&lt;p>The main sessions can be excellent; but it is usually the chat walking to get a coffee or over lunch was where you get a nugget of information that completes a picture for you. It is great to find out you are not alone in the problems you have and refreshing to hear people speak so openly over the challenges and successes they have had.&lt;/p></description></item><item><title>Signing Powershell scripts with a Thawte code signing certificate</title><link>https://blogs.blackmarble.co.uk/rfennell/signing-powershell-scripts-with-a-thawte-code-signing-certificate/</link><pubDate>Wed, 10 Sep 2008 22:19:03 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/signing-powershell-scripts-with-a-thawte-code-signing-certificate/</guid><description>
&lt;p>I hit a problem today when trying to &lt;a href="http://www.hanselman.com/blog/SigningPowerShellScripts.aspx">sign a powershell script as detailed on Scott Hanselman's blog&lt;/a> with a &lt;a href="https://www.thawte.com/code-signing/index.html?click=main-nav-products-codesigning">Thawte code signing certificate&lt;/a>.&lt;/p>
&lt;p>The basic issue was that the certificate could be seen in the Personal section of the Certificates MMC snap-in. Also it was listed if I issued the Powershell command&lt;/p>
&lt;blockquote>
&lt;p>&lt;em>Get-ChildItem cert:CurrentUserMy&lt;/em>&lt;/p>&lt;/blockquote>
&lt;p>but if I added the flag to only show usable codesigning (Class III) certificates it was not listed.&lt;/p></description></item><item><title>September XPClub Meeting is this Wednesday</title><link>https://blogs.blackmarble.co.uk/rfennell/september-xpclub-meeting-is-this-wednesday/</link><pubDate>Sun, 07 Sep 2008 15:49:59 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/september-xpclub-meeting-is-this-wednesday/</guid><description>
&lt;p>The next XPClub meeting is a double bill: &lt;a href="http://xpclub.erudine.com/2008/09/next-meeting-is-double-bill-code.html">Code Quality and Scala + Lift&lt;/a>. and is being held at the usual venue the &lt;a href="http://local.google.co.uk/maps?f=q&amp;amp;hl=en&amp;amp;geocode=&amp;amp;time=&amp;amp;date=&amp;amp;ttype=&amp;amp;q=victoria&amp;#43;hotel&amp;#43;LS1&amp;amp;ie=UTF8&amp;amp;ll=53.800549,-1.548729&amp;amp;spn=0.009175,0.028539&amp;amp;z=16&amp;amp;iwloc=A&amp;amp;om=1">Victoria Hotel Leeds&lt;/a>. This is a free event open to all.&lt;/p>
&lt;p>As usual drinks and snacks thanks to the club sponsors are free, also there will be a draw for one free personal license for any of the products by &lt;a href="http://www.jetbrains.com">JetBrains&lt;/a> - the new club sponsor.&lt;/p></description></item><item><title>Upgrading Team Foundation Server 2008 with SP1</title><link>https://blogs.blackmarble.co.uk/rfennell/upgrading-team-foundation-server-2008-with-sp1/</link><pubDate>Sat, 06 Sep 2008 17:58:01 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/upgrading-team-foundation-server-2008-with-sp1/</guid><description>
&lt;p>Today I got round to upgrading our TFS 2008 (dual server setup) with &lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=9e40a5b6-da41-43a2-a06d-3cee196bfe3d&amp;amp;displaylang=en">Team Server 2008 SP1&lt;/a>. I tried it first on my demo VPC I use for presentations (reminder I am at &lt;a href="http://www.vbug.co.uk/Events/September-2008/VBUG-Coventry-Team-Foundation-Server-with-Richard-Fennell.aspx">VBug Coventry at the end of the talking about TFS&lt;/a>, a free event open to all). Anyway, this update went fine and did not take too long, 5 or 10 minutes.&lt;/p>
&lt;p>On the main system all seemed to go OK, but it did take around 45 minutes. I assumed the time it takes is dependant on volume of data in the DB, some sort of schema update I guess.&lt;/p></description></item><item><title>Controlling a Ajax Control ModalPopupExtender from Code behind</title><link>https://blogs.blackmarble.co.uk/rfennell/controlling-a-ajax-control-modalpopupextender-from-code-behind/</link><pubDate>Tue, 02 Sep 2008 10:21:53 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/controlling-a-ajax-control-modalpopupextender-from-code-behind/</guid><description>
&lt;p>I have had a nightmare getting this going.&lt;/p>
&lt;p>Adding the ModalPopupExtender to a form is easy, you drop it on and tell it the two required controls parameters&lt;/p>
&lt;ul>
&lt;li>PopupControlID=&amp;quot;MyModalPanel&amp;quot;&lt;/li>
&lt;li>TargetControlID=&amp;quot;ButtonToLoadIt&amp;quot;&lt;/li>
&lt;/ul>
&lt;p>And it just works fine, but is triggered by a client side click of the Target Control.&lt;/p>
&lt;p>If you want to do some server side code behind first you are meant to set the&lt;/p>
&lt;ul>
&lt;li>TargetControlID to a fake control that is visible on form e.g. &amp;quot;FakeButtonToLoadIt&amp;quot; IT IS VITAL THIS CONTROL IS VISIBLE AND HENCE RENDERED, but the control  can be effectively hidden via CSS styling with something like Style=&amp;quot;display: none&amp;quot;&lt;/li>
&lt;li>In the code behind after your own processing you are just meant to call this.MPE.Show(); where MPE is the ID of your extender&lt;/li>
&lt;/ul>
&lt;p>Well this did not work for me. If I clicked my fake control (when it was not hidden obviously) it all worked by the server side call just displayed my panel where it was in the underlying HTML flow - the extension never kicked in.&lt;/p></description></item><item><title>Speaking on Team System in Coventry</title><link>https://blogs.blackmarble.co.uk/rfennell/speaking-on-team-system-in-coventry/</link><pubDate>Thu, 21 Aug 2008 22:50:34 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/speaking-on-team-system-in-coventry/</guid><description>
&lt;p>I am speaking at VBug Coventry on the 24th of September about Visual Studio Team System. For details have a look at the [VBug events](Elmbank Training, Juniper Room (Ground Floor), Mill Lane, Coventry, CV1 2LQ, GB) site, look forward to seeing you there.&lt;/p></description></item><item><title>eScrum 1,1 available</title><link>https://blogs.blackmarble.co.uk/rfennell/escrum-11-available/</link><pubDate>Thu, 21 Aug 2008 08:23:24 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/escrum-11-available/</guid><description>
&lt;p>For those who have not seen it &lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=55a4bde6-10a7-4c41-9938-f388c1ed15e9&amp;amp;displaylang=en">eScrum 1.1&lt;/a> is now available.  This basically a update for the installer so it works on VS2008 so you don't have to go through all the manual &lt;a href="http://www.sharepointblogs.com/johnwpowell/archive/2007/09/29/how-to-install-microsoft-escrum-1-0-process-template-on-tfs-2008-beta-2-quot-orcas-quot.aspx">fiddling you had to in the past&lt;/a>.&lt;/p>
&lt;p>So if you want a nice simple agile team project process, with a nice web site to give progress visibility, give it a look.&lt;/p></description></item><item><title>Why doesn't my ActionsPane appear when I create a new document form a VSTO enabled template?</title><link>https://blogs.blackmarble.co.uk/rfennell/why-doesnt-my-actionspane-appear-when-i-create-a-new-document-form-a-vsto-enabled-template/</link><pubDate>Mon, 11 Aug 2008 18:47:25 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/why-doesnt-my-actionspane-appear-when-i-create-a-new-document-form-a-vsto-enabled-template/</guid><description>
&lt;p>When you are using a VSTO enabled Word Template inside a SharePoint custom content type you have to be careful which actual .DOTX file you use within the SharePoint custom content type.&lt;/p>
&lt;ul>
&lt;li>&lt;strong>DO NOT&lt;/strong> - use the .DOTX from your VSTO Visual Studio project directory&lt;/li>
&lt;li>&lt;strong>DO&lt;/strong> USE - the .DOTX from the the project's ClickOnce publish location.&lt;/li>
&lt;/ul>
&lt;p>The key point here is that until you have published the VSTO project via ClickOnce the .DOTX template does not know where to find the deployment of the associated assemblies. The copy in the project directory never actually knows this location as it is just a source file not a deliverable.&lt;/p></description></item><item><title>Argh... more media rights issues</title><link>https://blogs.blackmarble.co.uk/rfennell/argh-more-media-rights-issues/</link><pubDate>Sun, 10 Aug 2008 07:53:34 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/argh-more-media-rights-issues/</guid><description>
&lt;p>I &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/archive/2008/08/09/no-silverlight-nbc-olympics-for-us.aspx">posted about NBC  Olympic coverage&lt;/a> - today I discovered I cannot stream BBC provided media content from the Olympics on my Windows PDA using Opera via the Vodafone 3G service. Seems the BBC does not think I am in the UK. I know Yorkshire assumes it should be independent, but I don't think it has happened yet.&lt;/p>
&lt;p>I suppose this is all to be expected, technology that allows reasonable media delivery over a mobile network at a vaguely sane price is new; especially when roaming between countries/networks. I doubt we will see this problem disappear soon unless the media rights are more commonly picked up by the telco providers such as Vodfone as opposed to the broadcast media companies like NBC and the BBC.&lt;/p></description></item><item><title>No Silverlight NBC Olympics for us</title><link>https://blogs.blackmarble.co.uk/rfennell/no-silverlight-nbc-olympics-for-us/</link><pubDate>Sat, 09 Aug 2008 10:19:02 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/no-silverlight-nbc-olympics-for-us/</guid><description>
&lt;p>After the &lt;a href="http://visitmix.com/blogs/News/Keynote-NBC/">announcement at Mix&lt;/a> of the &lt;a href="http://www.nbcolympics.com">NBC Silverlight Olympic streaming service&lt;/a> I was looking forward to have a look at what had been created. Turns out you have to be in the USA to watch it, I assume due to media rights issues, a bit of a shame. I hope something can be worked out with a small fraction of the 2200 hours of content so we can all see what Silverlight can do for such a major event.&lt;/p></description></item><item><title>Blog mirror</title><link>https://blogs.blackmarble.co.uk/rfennell/blog-mirror/</link><pubDate>Thu, 07 Aug 2008 22:56:34 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/blog-mirror/</guid><description>
&lt;p>My blog is now being mirrored at &lt;a href="http://msmvps.com/blogs/rfennell/Default.aspx" title="http://msmvps.com/blogs/rfennell/Default.aspx">http://msmvps.com/blogs/rfennell/Default.aspx&lt;/a> as well as being available in it's real location &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell" title="http://blogs.blackmarble.co.uk/blogs/rfennell">http://blogs.blackmarble.co.uk/blogs/rfennell&lt;/a>&lt;/p>
&lt;p>To quote MSMVPS it is &lt;em>The Ultimate Destination for Blogs by Current and Former Microsoft Most Valuable Professionals&lt;/em>.&lt;/p></description></item><item><title>Moving the document store in TFS</title><link>https://blogs.blackmarble.co.uk/rfennell/moving-the-document-store-in-tfs/</link><pubDate>Thu, 07 Aug 2008 14:50:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/moving-the-document-store-in-tfs/</guid><description>
&lt;p>I have at last got round to moving the location of the WSS sites used by our TFS server from the WSS instance running on our TFS Application Tier (AT) to our main 64bit MOSS 2007 server farm. A job I have been putting off for ages.&lt;/p>
&lt;p>I decided that there was nothing on the TFS WSS sites of importance, other than documents (which I could easily copy) so decided to create new WSS sites as opposed to trying a backup and restore model.&lt;/p></description></item><item><title>A Digital Road Trip</title><link>https://blogs.blackmarble.co.uk/rfennell/a-digital-road-trip/</link><pubDate>Tue, 05 Aug 2008 21:31:13 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/a-digital-road-trip/</guid><description>
&lt;p>Over the past few days I have been travelling around the country by car, something I have not done for a while, preferring the train. It was a good chance to try out a couple of gadgets.  One I have had a for a while, my &lt;a href="http://www.htc.com/uk/product.aspx?id=8768">HTC Touch Cruise phone&lt;/a>, but the other was new a &lt;a href="http://www.puredigital.com/products/product.asp?Product=VL-60905">Pure Highway DAB car radio&lt;/a>.&lt;/p>
&lt;p>So what did I learn?&lt;/p>
&lt;p>&lt;strong>The phone&lt;/strong>&lt;/p>
&lt;p>I have recently set my phone to use push email (so constantly sync'ing with Exchange during office hours). This seems to have had a serious adverse effect on battery life. I had not noticed this before as I usually connect my phone to my PC via USB when in the office thus keeping it charged and up to date. Whilst away, without really thinking about it,  I had expect my usual (pre push email) 3 day battery life, but the constant sync and using the phone as a camera knocked this down to about 8 hours! The simple solution seems to be to set the sync to every hour, thus reducing the data calls.&lt;/p></description></item><item><title>'Unable to find control' when programmatically adding ASP.NET validation controls</title><link>https://blogs.blackmarble.co.uk/rfennell/unable-to-find-control-when-programmatically-adding-asp-net-validation-controls/</link><pubDate>Wed, 23 Jul 2008 22:11:07 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/unable-to-find-control-when-programmatically-adding-asp-net-validation-controls/</guid><description>
&lt;p>I have been building a webpart that needs client side validation. I kept getting the error:&lt;/p>
&lt;p>&amp;quot;Unable to find control id txtNotes referenced by the 'ControlToValidate' property&amp;quot;&lt;/p>
&lt;p>Now most of the posts say just use the command to get the 'real' ID at runtime&lt;/p>
&lt;blockquote>
&lt;p>this.rfvNotes.ControlToValidate = this.txtNotes.ClientID;&lt;/p>&lt;/blockquote>
&lt;p>But this did not work, in the end the form I found worked was:&lt;/p>
&lt;blockquote>
&lt;p>protected override void OnInit(EventArgs e)&lt;br>
    {&lt;br>
        base.OnInit(e);&lt;br>
        this.txtNotes.ID = &amp;quot;txtNotes&amp;quot;;&lt;br>
        this.rfvNotes.ControlToValidate = this.txtNotes.ID;&lt;br>
        this.rfvNotes.Enabled = true;&lt;br>
        this.rfvNotes.Text = &amp;quot;* Required&amp;quot;;&lt;br>
    }&lt;/p></description></item><item><title>Running Fitnesse.NET tests using MSTest</title><link>https://blogs.blackmarble.co.uk/rfennell/running-fitnesse-net-tests-using-mstest/</link><pubDate>Fri, 18 Jul 2008 22:00:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/running-fitnesse-net-tests-using-mstest/</guid><description>
&lt;p>Update 29 Mar 2010 - &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/archive/2010/03/29/running-fitnesse-net-tests-using-mstest-revisited.aspx">See this post&lt;/a> for some updated usage notes &lt;/p>
&lt;p>I have been looking at &lt;a href="http://fitnesse.org/FitNesse.DotNet">Fitnesse.NET&lt;/a> for a while; if you have not come across this testing tool I cannot recommend &lt;a href="http://gojko.net/fitnesse/book/">Gojko Adzic book&lt;/a> highly enough; an excellent real world introduction to Fitnesse.NET.&lt;/p>
&lt;p>For me, the problem with Fitnesse is that it's WIKI architecture does not lend itself to working within our Team Foundation Server based development model. However, as I am not really looking for a tool to allow Business Analysts to edit a central repository of tests the WIKI was not that important; so I have been looking at a way to store the Fitnesse tests inside a Visual Studio solution, so they are managed like a unit test.&lt;/p></description></item><item><title>Registration opened for SQLBits III (Cubed)</title><link>https://blogs.blackmarble.co.uk/rfennell/registration-opened-for-sqlbits-iii-cubed/</link><pubDate>Fri, 18 Jul 2008 08:59:41 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/registration-opened-for-sqlbits-iii-cubed/</guid><description>
&lt;p>I see that the &lt;a href="http://www.sqlbits.com/">registration&lt;/a> (and hence session voting) has opened for the free community conference SQLBits III,&lt;/p>
&lt;p>I can't make it as it is the same day as &lt;a href="http://altdotnet.org/events/5">Alt.Net&lt;/a>. However, I really do recommend this event if you ever work with data (some of you do that don't you?)&lt;/p></description></item><item><title>New Team System Power Tools</title><link>https://blogs.blackmarble.co.uk/rfennell/new-team-system-power-tools/</link><pubDate>Thu, 17 Jul 2008 10:19:30 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/new-team-system-power-tools/</guid><description>
&lt;p>The &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=00803636-1d16-4df1-8a3d-ef1ad4f4bbab&amp;amp;displaylang=en">July edition of the Team System power tools&lt;/a> have just been released.&lt;/p>
&lt;p>To pick out just one of a great set of tools - have a look at the Alert Editor, a really easy way to wire up external events handler to do things when TFS events occur.&lt;/p></description></item><item><title>Leeds SQL Usergroup</title><link>https://blogs.blackmarble.co.uk/rfennell/leeds-sql-usergroup/</link><pubDate>Thu, 17 Jul 2008 09:32:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/leeds-sql-usergroup/</guid><description>
&lt;p>Thanks to everyone one who attended my session at the Leeds SQL User group on Visual Studio Database Edition and to UPCO for hosting the event.&lt;/p>
&lt;p>The &lt;a href="http://www.blackmarble.co.uk/ConferencePapers/2008/Leeds%20SQL%20UG%20-%20SQL%20DevelopmentLife%20Cycle%20using%20Visual%20Studio%20Team%20Edition.ppt">slide stack is available&lt;/a> on the Black Marble web site&lt;/p></description></item><item><title>And as predicted....</title><link>https://blogs.blackmarble.co.uk/rfennell/and-as-predicted/</link><pubDate>Sat, 12 Jul 2008 08:49:58 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/and-as-predicted/</guid><description>
&lt;p>The Alt.net summer conference is now full after about 24 hours and that is with a larger capacity venue than the last one.&lt;/p>
&lt;p>Told it would be fast&lt;/p></description></item><item><title>I've registered have you?</title><link>https://blogs.blackmarble.co.uk/rfennell/ive-registered-have-you/</link><pubDate>Fri, 11 Jul 2008 08:07:23 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/ive-registered-have-you/</guid><description>
&lt;p>&lt;a href="http://altdotnet.org/events/5">Registration has opened&lt;/a> for the &lt;a href="http://blog.benhall.me.uk/2008/07/altnet-uk-summer-conference-dates.html">Alt.UK Summer conference&lt;/a>. If the &lt;a href="http://www.altnetpedia.com/London%20Alt.Net.UK%202nd%20Feb%202008.ashx">first UK Alt.net&lt;/a> conference event is anything to go by it will fill up fast, so don't hang around if you are interested&lt;/p>
&lt;p>&lt;a href="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/altdotnet_2.jpg">&lt;img
loading="lazy"
decoding="async"
alt="altdotnet"
class="image_figure image_internal image_unprocessed"
src="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/altdotnet_thumb.jpg"
/>
&lt;/a>&lt;/p></description></item><item><title>Publishing a ASP.NET WCF service encryption error</title><link>https://blogs.blackmarble.co.uk/rfennell/publishing-a-asp-net-wcf-service-encryption-error/</link><pubDate>Tue, 08 Jul 2008 09:30:52 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/publishing-a-asp-net-wcf-service-encryption-error/</guid><description>
&lt;p>I was trying to publish a .NET 3.5 WCF service to a network share e.g. &lt;code>\\myserversharefolder\_to\_holdservice&lt;/code> and got the error &amp;quot;The specified file could not be encrypted&amp;quot; for all the files.&lt;/p>
&lt;p>I changed to a publish to the local disk it published fine, so what caused that?&lt;/p>
&lt;p>As part of some security impact modelling I have been doing development with my local source directories encrypted using standard Vista security (FYI does not seem to cause any significant performance impact)&lt;/p></description></item><item><title>Next XP Club meeting</title><link>https://blogs.blackmarble.co.uk/rfennell/next-xp-club-meeting/</link><pubDate>Mon, 07 Jul 2008 13:26:10 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/next-xp-club-meeting/</guid><description>
&lt;p>This months meeting of the &lt;a href="http://xpclub.erudine.com/">XPClub is on Wednesday&lt;/a>. It is a general group chat about refactoring, branching and merging.&lt;/p>
&lt;p>This is a free event, usually with a few free beers, at the usual time &amp;amp; location, 7pm at the &lt;a href="http://maps.google.co.uk/maps?ie=UTF-8&amp;amp;oe=utf-8&amp;amp;rls=org.mozilla:en-GB:official&amp;amp;client=firefox-a&amp;amp;um=1&amp;amp;q=victoria&amp;#43;hotel&amp;#43;pub&amp;#43;&amp;amp;near=Leeds&amp;amp;fb=1&amp;amp;view=text&amp;amp;latlng=53800862,-1550393,8912007649988110241">Victoria Hotel in Leeds&lt;/a>, so hope to see you there&lt;/p></description></item><item><title>Bug tracking with TFS</title><link>https://blogs.blackmarble.co.uk/rfennell/bug-tracking-with-tfs/</link><pubDate>Sun, 06 Jul 2008 22:37:25 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/bug-tracking-with-tfs/</guid><description>
&lt;p>I have posted in the past about my efforts to write a user facing bug tracking interface for TFS to integrate with our SharePoint based customer portal. I have had some &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/archive/2007/12/19/tfs-webpart-for-viewing-workitems-in-sharepoint-2007.aspx">mixed success&lt;/a>, but the end point is that I am just not happy with what I have written.&lt;/p>
&lt;p>Historically we have used our own home grown call tracking system (started as an Access DB, went via VB6 to ASP then ASP.NET, now is web service based) which our clients know (and love?). This give a far richer audit trail for the actions performed on a support call than is possible with a work item in TFS. In the end this simple fact is what has forced me to conclude that TFS work items are not the thing to expose to end user/help desk staff for bug tracking.&lt;/p></description></item><item><title>DDD7 Session Submissions</title><link>https://blogs.blackmarble.co.uk/rfennell/ddd7-session-submissions/</link><pubDate>Thu, 03 Jul 2008 12:22:57 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/ddd7-session-submissions/</guid><description>
&lt;p>It really good to see so many &lt;a href="http://www.developerday.co.uk/ddd/agendaddd7.asp">submissions for the DDD7&lt;/a>, and many new names, always a good sign of a the community working well.&lt;/p>
&lt;p>I just got round to putting one in myself on integrating testing into MSBuild.&lt;/p>
&lt;p>There is still time for more though. So have a think and put in a session proposal - trust me it is great fun.&lt;/p></description></item><item><title>Wow I'm an MVP</title><link>https://blogs.blackmarble.co.uk/rfennell/wow-im-an-mvp/</link><pubDate>Wed, 02 Jul 2008 08:42:48 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/wow-im-an-mvp/</guid><description>
&lt;p>Found out last night that I have just been made an MVP for Team System, is that cool or what!&lt;/p>
&lt;p>&lt;a href="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/mvp_2.png">&lt;img
loading="lazy"
decoding="async"
alt="mvp"
class="image_figure image_internal image_unprocessed"
src="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/mvp_thumb.png"
/>
&lt;/a>&lt;/p></description></item><item><title>TFS Team Build compile details</title><link>https://blogs.blackmarble.co.uk/rfennell/tfs-team-build-compile-details/</link><pubDate>Mon, 23 Jun 2008 20:31:34 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/tfs-team-build-compile-details/</guid><description>
&lt;p>&lt;a href="http://www.woodwardweb.com/gadgets/000434.html">Martin Woodward posted a few weeks ago about his build bunny&lt;/a>. Now this is something I had tried a &lt;a href="http://www.blackmarble.com/ConferencePapers/DDD4%20Presentation%20-%20%27But%20it%20works%20on%20my%20PC%27%20or%20Continuous%20Integration%20to%20improve%20quality.ppt">while ago for DDD4&lt;/a>, but hit the same problem Martin had that the old &lt;a href="http://api.nabaztag.com/docs/home.html">Nabaztag API&lt;/a> was too slow and messages could take hours to arrive, making it useless in the real world. Inspired by Martin and the new faster API I have been working on a new Team Build status monitor for the office.&lt;/p></description></item><item><title>Speaking at Leeds SQL User group</title><link>https://blogs.blackmarble.co.uk/rfennell/speaking-at-leeds-sql-user-group/</link><pubDate>Sat, 21 Jun 2008 21:38:17 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/speaking-at-leeds-sql-user-group/</guid><description>
&lt;p>For those who are interested, I am speaking on Visual Studio for Database Professionals at the Leeds SQL user group on the 16th July. This is a free event, f&lt;a href="http://www.developerfusion.co.uk/show/7793/">or more details see the event web site&lt;/a>.&lt;/p></description></item><item><title>CA0055 error in FXCop</title><link>https://blogs.blackmarble.co.uk/rfennell/ca0055-error-in-fxcop/</link><pubDate>Fri, 20 Jun 2008 16:29:02 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/ca0055-error-in-fxcop/</guid><description>
&lt;p>I have been setting up a new Team Build server today. All our projects are being set to do code analysis (FXCop) after the build. For one project this worked on the developer PC but failed on the build machine.&lt;/p>
&lt;p>The CA0055 error means 'file not found' or 'could not load' the assembly to be analysed. Firstly I suspected there was a problem with path names being over 256 characters (both the assemblies and solutions names were long) which can be a problem MSBuild, but this was not the case.&lt;/p></description></item><item><title>XPClub Meeting about Opera</title><link>https://blogs.blackmarble.co.uk/rfennell/xpclub-meeting-about-opera/</link><pubDate>Thu, 12 Jun 2008 11:40:01 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/xpclub-meeting-about-opera/</guid><description>
&lt;p>Good session at the Yorkshire Extreme Programming Club last night. Chris Mills of Opera spoke on the mobile web.&lt;/p>
&lt;p>If this, or the general issue of standards in web development are of interest &lt;a href="http://dev.opera.com">http://dev.opera.com&lt;/a> is well worth a look.&lt;/p></description></item><item><title>TFS Build server and running MSTest - directory creation error</title><link>https://blogs.blackmarble.co.uk/rfennell/tfs-build-server-and-running-mstest-directory-creation-error/</link><pubDate>Thu, 12 Jun 2008 11:37:04 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/tfs-build-server-and-running-mstest-directory-creation-error/</guid><description>
&lt;p>When you create a build type for a team project on TFS you can enable testing using MSTest by saying 'run any tests that are found in a given DLL'. I used this today to create a CI build for a project, I am looking at using Team Build as opposed to CruiseCrontrol as we have done historically.&lt;/p>
&lt;p>I hit a problem that the tests were running but the build was failing (or in Team build speak - partial succeeding i.e. compiling but not passed testing). On looking in the build log I saw the error was:&lt;/p></description></item><item><title>Rescheduled XPClub Meeting</title><link>https://blogs.blackmarble.co.uk/rfennell/rescheduled-xpclub-meeting/</link><pubDate>Mon, 09 Jun 2008 20:49:12 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/rescheduled-xpclub-meeting/</guid><description>
&lt;p>This Wednesday, the 11th, is the &lt;a href="http://xpclub.erudine.com/">rescheduled XPClub&lt;/a> meeting 'Exploring Mobile Web Development' with Chris Mills developer relations manager for Opera&lt;/p>
&lt;p>This is a free event and open to all, hope to see you there.&lt;/p></description></item><item><title>Interesting post on testing</title><link>https://blogs.blackmarble.co.uk/rfennell/interesting-post-on-testing/</link><pubDate>Mon, 09 Jun 2008 20:27:14 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/interesting-post-on-testing/</guid><description>
&lt;p>Interesting post from &lt;a href="http://blog.benhall.me.uk/2008/06/community-call-to-action-where-are-all.html">Ben Hall&lt;/a> on the role of the tester, something I have &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/archive/2008/02/03/oh-to-be-a-tester.aspx">posted on in the past&lt;/a>.&lt;/p>
&lt;p>As Ben asks what are other people views?&lt;/p></description></item><item><title>Go south young man.......and read a book on a SmartPhone</title><link>https://blogs.blackmarble.co.uk/rfennell/go-south-young-man-and-read-a-book-on-a-smartphone/</link><pubDate>Mon, 09 Jun 2008 20:23:43 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/go-south-young-man-and-read-a-book-on-a-smartphone/</guid><description>
&lt;p>I have got into reading books off my HTC smart phone using the &lt;a href="www.microsoft.com/Reader/">Microsoft Reader&lt;/a>. It means you always have a book with you (as well as a web browser, &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/archive/2008/04/29/first-release-of-blogwriter-for-smart-devices.aspx">blog writer&lt;/a>, phone etc.....)&lt;/p>
&lt;p>The problem has been getting books in a suitable format, yes I know that you can buy electronic books but there are so many out of copyright classic's I have not read yet. You can download many from &lt;a href="http://www.gutenberg.org/wiki/Main_Page">Project Gutenberg&lt;/a> (and convert them to the right format using the &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=a9d2b0d4-a29e-4954-9641-8b079220d16c">add-in for Word&lt;/a>) so why buy newer ones?&lt;/p></description></item><item><title>On the train home</title><link>https://blogs.blackmarble.co.uk/rfennell/on-the-train-home/</link><pubDate>Thu, 05 Jun 2008 16:07:34 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/on-the-train-home/</guid><description>
&lt;p>Thanks to everyone who attended my session on DataDude in Edinburgh yesterday. I hope you found it useful. For those based in Yorkshire I will be doing the same session for the &lt;a href="http://www.developerfusion.co.uk/show/7793/">local SQL user group on the 16th July&lt;/a>.&lt;/p>
&lt;p>The slides I used yesterday were virtually identical to the ones I used at &lt;a href="http://www.blackmarble.com/ConferencePapers/SQLBits%20II%20Presentation%20-Development%20Life%20Cycle%20using%20Visual%20Studio%20Team%20Edition.ppt">SQLBits II and can be found on our server&lt;/a>. The only major change was a bit about yesterdays announcement of the GDR release that I wrote on the train up after watching the &lt;a href="http://channel9.msdn.com/posts/briankel/New-GDR-Announced-for-Visual-Studio-Team-System-2008-Database-Edition/">Channel9 video&lt;/a> - but &lt;a href="http://blogs.msdn.com/gertd/">Gert's blog&lt;/a> is a better source information for this.&lt;/p></description></item><item><title>New CTP Release for VS2008 Database Edition</title><link>https://blogs.blackmarble.co.uk/rfennell/new-ctp-release-for-vs2008-database-edition/</link><pubDate>Tue, 03 Jun 2008 19:55:30 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/new-ctp-release-for-vs2008-database-edition/</guid><description>
&lt;p>Typical I am giving a session on &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/archive/2008/06/02/speaking-in-edinburgh-this-week.aspx">VS2008 DataDude tomorrow&lt;/a> and Microsoft go and release a new version!&lt;/p>
&lt;p>See &lt;a href="http://blogs.msdn.com/gertd/archive/2008/06/03/vsts-2008-database-edition-gdr-june-ctp.aspx">Gert Drapers blog&lt;/a> for the full details or &lt;a href="http://channel9.msdn.com/posts/briankel/New-GDR-Announced-for-Visual-Studio-Team-System-2008-Database-Edition/">Channel 9 for a video&lt;/a> which I will be watch in the train tomorrow I guess.&lt;/p></description></item><item><title>Speaking in Edinburgh this week</title><link>https://blogs.blackmarble.co.uk/rfennell/speaking-in-edinburgh-this-week/</link><pubDate>Mon, 02 Jun 2008 19:18:46 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/speaking-in-edinburgh-this-week/</guid><description>
&lt;p>I am speaking at the &lt;a href="http://www.sqlserverfaq.com/portalmain.aspx?&amp;amp;EID=115">Scottish SQL user group on Wednesday about VS2008 for DB Professionals&lt;/a>.&lt;/p>
&lt;p>Hope to see you there.&lt;/p></description></item><item><title>Developer Edition for Sharepoint</title><link>https://blogs.blackmarble.co.uk/rfennell/developer-edition-for-sharepoint/</link><pubDate>Fri, 30 May 2008 09:37:14 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/developer-edition-for-sharepoint/</guid><description>
&lt;p>There has been a good deal of discussion on Blogs and Forums as to if there is a need for a developer edition of Sharepoint (WSS3.0) so you can develop against it under Vista. Historically your options were:&lt;/p>
&lt;ul>
&lt;li>Run W2K3 on your client PC - licensing issues and maybe drivers if using a laptop&lt;/li>
&lt;li>Do all development in a VPC (or VMware) - is be a bit slow.&lt;/li>
&lt;/ul>
&lt;p>Now some people argue the separation between client and server this causes is good - and it is a strong argument. However I want to get the best performance out of my development PC, so a WSS3.0 on Vista would be really useful to me. I know it won't address all my development issues (I will still need a VPC from time to time) but it will do 90% of my day to day work and run at least 50% faster than a VPC.&lt;/p></description></item><item><title>and another point...</title><link>https://blogs.blackmarble.co.uk/rfennell/and-another-point/</link><pubDate>Wed, 28 May 2008 13:44:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/and-another-point/</guid><description>
&lt;p>I forgot to say in the &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/archive/2008/05/26/an-idle-break.aspx">last post&lt;/a> the thing I noticed most about Spain - the quality of the roads and the courtesy of the drivers. Both excellent. As a cyclist in the UK I am used to pot-holes and being cut up all the time. None of this is Spain, drivers seem happy to wait for cycles and overtake safely giving loads of room. All this on super smooth roads.&lt;/p></description></item><item><title>An Idle break</title><link>https://blogs.blackmarble.co.uk/rfennell/an-idle-break/</link><pubDate>Mon, 26 May 2008 17:49:55 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/an-idle-break/</guid><description>
&lt;p>I have had a week off on holiday at a triathlon club training camp (some holiday some might say, 26 hours of training sessions in 6 days). We were staying at &lt;a href="http://www.idlebreaks.com/" title="http://www.idlebreaks.com/">Idle Breaks&lt;/a> just outside Malaga. A location which I cannot recommend highly enough, great location, facilities, food and owners.&lt;/p>
&lt;p>However, I have to say you do get some strange looks as you get ready for a swim in the Mediterranean.&lt;/p></description></item><item><title>New TFS stuff that has just been published</title><link>https://blogs.blackmarble.co.uk/rfennell/new-tfs-stuff-that-has-just-been-published/</link><pubDate>Tue, 13 May 2008 20:11:56 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/new-tfs-stuff-that-has-just-been-published/</guid><description>
&lt;p>Yesterday we had the first drop of the VS2008 SP1 Beta, well there is also &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=dcb535be-c32e-474c-9f64-282a2849acc5&amp;amp;DisplayLang=en">one for TFS2008&lt;/a>. As with the main VS2008 service pack there are loads of fixes and some new features.&lt;/p>
&lt;ul>
&lt;li>Support for Windows Server 2008.&lt;/li>
&lt;li>Support for SQL Server Codename Katmai CTP6.&lt;/li>
&lt;li>The Add to Source Control dialogs have been improved to be easier to use and more scalable.&lt;/li>
&lt;li>Drag &amp;amp; Drop from Windows Explorer to add to Source Control.&lt;/li>
&lt;li>Support for Version control operations on files not in bound solutions.&lt;/li>
&lt;li>Right-click access to set Working Folder/Cloak of folders from within Source Control Explorer.&lt;/li>
&lt;li>Check in date/time column in Source Control Explorer.&lt;/li>
&lt;li>Editable path field for the Source Control Explorer.&lt;/li>
&lt;li>Email work items and queries to someone.&lt;/li>
&lt;li>A new API to download files to a stream.&lt;/li>
&lt;li>Links to Team System Web Access pages from notifications.&lt;/li>
&lt;li>Improvements to the number of projects per server.&lt;/li>
&lt;li>Performance and scale improvements.&lt;/li>
&lt;li>Improvements to the VSS converter to make it much more robust.&lt;/li>
&lt;li>Support for creating Team Projects from the command line.&lt;/li>
&lt;/ul>
&lt;p>Given my &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/archive/2008/01/23/fun-upgrading-from-visual-studio-tfs-2008-beta2-to-rtm.aspx">experiences with the VS2008 Beta&lt;/a> I think I will be waiting for the real release before I put this near our main systems. As with any system critical beta only play with them in a sandbox!&lt;/p></description></item><item><title>Extreme Programming Club Meeting</title><link>https://blogs.blackmarble.co.uk/rfennell/extreme-programming-club-meeting/</link><pubDate>Tue, 13 May 2008 19:57:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/extreme-programming-club-meeting/</guid><description>
&lt;p>&lt;strong>&lt;em>14 May UPDATE&lt;/em>&lt;/strong> - Due t illness the speaker cannot make it , so this session is being rescheduled to next month. Check the &lt;a href="http://xpclub.erudine.com/">XP Club site&lt;/a> for what is on in its place&lt;/p>
&lt;p>Remember tomorrow is monthly meeting of the Yorkshire Extreme Programming Club at the Victoria Hotel in Leeds.&lt;/p>
&lt;p>The &lt;a href="http://xpclub.erudine.com/2008/04/next-meeting-exploring-mobile-web.html">session is by Chris Mills&lt;/a> a developer relations manager for  development for the Opera Browser.&lt;/p></description></item><item><title>Developer Day Scotland</title><link>https://blogs.blackmarble.co.uk/rfennell/developer-day-scotland/</link><pubDate>Sun, 11 May 2008 21:11:06 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/developer-day-scotland/</guid><description>
&lt;p>Thanks to everyone who attended my session in Glasgow yesterday, I hope you found it useful.&lt;/p>
&lt;p>The slides will appear on the &lt;a href="http://www.developerdayscotland.com/">DDS site&lt;/a> at some point but you can find them now on the &lt;a href="http://www.blackmarble.co.uk/ConferencePapers/Developer%20Day%20Scotland%20-%20%27But%20it%20works%20on%20my%20PC%27%20or%20Continuous%20Integration%20to%20improve%20quality.ppt">Black Marble site&lt;/a>. There is also a web cast of a virtual identical presentation on the &lt;a href="http://xpclub.erudine.com/2008/03/continuous-integration-webcast.html">Extreme Programming Club site&lt;/a>.&lt;/p>
&lt;p>The noticeable difference at this event from DDD in Reading was what was going on at lunch time. The grok talks seemed far better attended than at TVP, also there was interesting &lt;a href="http://altnetpedia.com/">Alt.Net&lt;/a> Open Spaces style session where we had a general chat on tools and libraries which I attended.&lt;/p></description></item><item><title>Fixed Sprint Burndown chart for eScrum on TFS 2008</title><link>https://blogs.blackmarble.co.uk/rfennell/fixed-sprint-burndown-chart-for-escrum-on-tfs-2008/</link><pubDate>Fri, 09 May 2008 14:01:56 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/fixed-sprint-burndown-chart-for-escrum-on-tfs-2008/</guid><description>
&lt;p>Since updating to TFS 2008 we have lost our Sprint Burndown chart in eScrum, not a major problem as we use the cumulative flow in its place. However, I have eventually got round to fixing it.&lt;/p>
&lt;p>It turns out the problem is down to the the way the dates for the start and end of the Sprint are converted to measure names for the main MDX query. There were both regional date format issues (mm/dd/yy as opposed to dd/mm/yy) and the fact that the MDX query was very particular over leading zeros for the end date of the range e.g. 14/4/2008 did not work but 14/04/2008 did (but this was not the case for the start date!)&lt;/p></description></item><item><title>Registry Access Errors with the TFS API</title><link>https://blogs.blackmarble.co.uk/rfennell/registry-access-errors-with-the-tfs-api/</link><pubDate>Fri, 09 May 2008 09:45:02 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/registry-access-errors-with-the-tfs-api/</guid><description>
&lt;p>If you are using the TFS API within a WebApp with impersonation there is a good chance you will see the error below when you run the web site on IIS&lt;/p>
&lt;p>System.Security.SecurityException: Requested registry access is not allowed.    &lt;br>
at System.ThrowHelper.ThrowSecurityException(ExceptionResource resource)    &lt;br>
at Microsoft.Win32.RegistryKey.OpenSubKey(String name, Boolean writable)    &lt;br>
at Microsoft.TeamFoundation.Client.RegisteredServers.OpenCurrentUser(Boolean writable, Boolean shouldCreate)    &lt;br>
at Microsoft.TeamFoundation.Client.RegisteredServers.GetUriForServer(String serverName)    &lt;br>
at Microsoft.TeamFoundation.Client.RegisteredServers.GetServerKeyForServer(String serverName, String subKey, Boolean writable, Boolean shouldCreate)    &lt;/p>
&lt;p>If you google for this forums tells you to add read access for the impersonated user to&lt;/p></description></item><item><title>PerformanceCounters not showing up in PerfMon</title><link>https://blogs.blackmarble.co.uk/rfennell/performancecounters-not-showing-up-in-perfmon/</link><pubDate>Thu, 08 May 2008 20:49:43 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/performancecounters-not-showing-up-in-perfmon/</guid><description>
&lt;p>I have just adding some Performance Counters to instrument some code and had a few issues that are worth knowing about.&lt;/p>
&lt;p>I created two categories of counters using the following code:&lt;/p>
&lt;p>//Create a category with a single counter&lt;br>
PerformanceCounterCategory.Create(&lt;br>
               &amp;quot;categoryName&amp;quot;, &amp;quot;categoryDescription&amp;quot;,&lt;br>
               PerformanceCounterCategoryType.SingleInstance,&lt;br>
               &amp;quot;counterName&amp;quot;, &amp;quot;counterDescription&amp;quot;);&lt;/p>
&lt;p>//Create a category with more than one counter&lt;br>
System.Diagnostics.CounterCreationDataCollection counterCollection System.Diagnostics.CounterCreationDataCollection();&lt;br>
counterCollection.Add(new System.Diagnostics.CounterCreationData(&lt;br>
     &amp;quot;Name1,&lt;br>
     &amp;quot;Description1&amp;quot;,&lt;br>
     PerformanceCounterType.NumberOfItems64));&lt;br>
counterCollection.Add(new System.Diagnostics.CounterCreationData(&lt;br>
     &amp;quot;Name2,&lt;br>
     &amp;quot;Description2&amp;quot;,&lt;br>
     PerformanceCounterType.NumberOfItems64));&lt;br>
// Create the category and pass the collection to it.&lt;br>
System.Diagnostics.PerformanceCounterCategory.Create(&lt;br>
            &amp;quot;multicategoryName&amp;quot;,&lt;br>
            &amp;quot;multicategoryDescription&amp;quot;,   &lt;br>
            PerformanceCounterCategoryType.SingleInstance,&lt;br>
            counterCollection);&lt;/p></description></item><item><title>Why aren't there more plays about quantum physics?</title><link>https://blogs.blackmarble.co.uk/rfennell/why-arent-there-more-plays-about-quantum-physics/</link><pubDate>Sun, 04 May 2008 19:36:05 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/why-arent-there-more-plays-about-quantum-physics/</guid><description>
&lt;p>Saw an excellent play last night, &lt;a href="http://www.wyplayhouse.com/events/event_details.asp?event_ID=602">Hapgood&lt;/a> at the West Yorkshire Playhouse. For those who have no heard if it, it is a Tom Stoppard play about spies and physics set in the late 80s.&lt;/p>
&lt;p>
&lt;img
loading="lazy"
decoding="async"
alt="Promotional image for West Yorkshire Playhouse production of Hapgood, Josie Lawerence as Mrs Hapgood"
class="image_figure image_external image_unprocessed"
src="http://www.wyplayhouse.com/assets/production_images/0108_hapgood.jpg"
/>
&lt;/p>
&lt;p>I know of two plays that take their theme from quantum uncertainly, this one and &lt;a href="http://en.wikipedia.org/wiki/Copenhagen_%28play%29">Copenhagen&lt;/a>, both nights out I have really enjoyed. They are plays that keep you guessing all the way as to what is really the truth (if such a thing can ever be known).&lt;/p></description></item><item><title>I want a TFS 64bit API</title><link>https://blogs.blackmarble.co.uk/rfennell/i-want-a-tfs-64bit-api/</link><pubDate>Tue, 29 Apr 2008 13:26:19 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/i-want-a-tfs-64bit-api/</guid><description>
&lt;p>The lack of 64Bit TFS API DLLs is becoming a real pain for me. We have committed to a 64Bit server architecture for all our IIS and hence MOSS servers; both of these seem unable to WOW64 the 32bit TFS DLLs (though Cassini can!) so I cannot load any web front ends that use TFS such as eScrum or anything home grown on my main servers.&lt;/p>
&lt;p>My only option is to run 32it servers as well for the primary systems. This is not too bad for IIS/ASP.NET bits, but it is not recommended to have a mixed 32/64bit frontend for MOSS.&lt;/p></description></item><item><title>First Release of BlogWriter for Smart Devices</title><link>https://blogs.blackmarble.co.uk/rfennell/first-release-of-blogwriter-for-smart-devices/</link><pubDate>Tue, 29 Apr 2008 10:08:51 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/first-release-of-blogwriter-for-smart-devices/</guid><description>
&lt;p>I have just &lt;a href="http://blogs.blackmarble.co.uk/files/samples">uploaded the first release of my BlogWriter for Smart Devices&lt;/a> which allows you to post new messages to blog servers that uses the &lt;a href="http://www.xmlrpc.com/metaWeblogApi">MetaBlog API&lt;/a>. My aim was to provide a &lt;a href="http://windowslivewriter.spaces.live.com/">LiveWriter&lt;/a> like application for devices like my HTC PDA.&lt;/p>
&lt;p>In the zip file you will find these instructions and a .CAB file. The installation process is as follows:&lt;/p>
&lt;ul>
&lt;li>Make sure you Smart Device has &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=e3821449-3c6b-42f1-9fd9-0041345b3385&amp;amp;displaylang=en">.NET Compact Framework 3.5&lt;/a> installed&lt;/li>
&lt;li>Copy the the CAB file to your smart device &lt;/li>
&lt;li>On the smart device double click on the CAB – you will get a message about unknown publisher, say OK. The EXE and the CAB are digitally signed but Black Marble is not a known publisher (we don't have &lt;a href="http://msdn.microsoft.com/mobility/windowsmobile/partners/mobile2market/faq.aspx">Mobile2Market certificate&lt;/a> which is the only type that the installer can check publishers against).&lt;/li>
&lt;li>Answer the questions as to where you want to install the application.&lt;/li>
&lt;li>Once the program has been installed there should be a icon on program menu for Blog Writer, click it to run&lt;/li>
&lt;li>You see a splash screen, this should disappear after a short while and leave an empty page (this is because the blog server has not been configured yet)&lt;/li>
&lt;/ul>
&lt;p>&lt;a href="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_4.png">&lt;img
loading="lazy"
decoding="async"
alt="image"
class="image_figure image_internal image_unprocessed"
src="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/image_thumb_1.png"
/>
&lt;/a>&lt;/p></description></item><item><title>Enigma &amp;amp; Friends</title><link>https://blogs.blackmarble.co.uk/rfennell/enigma-friends/</link><pubDate>Thu, 24 Apr 2008 08:35:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/enigma-friends/</guid><description>
&lt;p>I went to very interesting &lt;a href="http://www.theiet.org/local/uk/yorks/north/enigma.cfm">IET meeting&lt;/a> last night entitled 'Enigma &amp;amp; Friends' given by John Alexander. He is a private collector of encryption machines; the bulk of his collection is currently house in the &lt;a href="http://www.bletchleypark.org.uk/content/visit/attractions.rhtm">Block-B exhibit at Bletchley Park&lt;/a> and is open to the public.&lt;/p>
&lt;p>The difference between going to the museum and seeing his presentation is threefold. Firstly the you get his extensive knowledge of the subject, but I think even more interestingly hear of the adventures it takes to obtain what must be remembered were (or still are) top secret machines. And finally you get a chance to handle  the machines, probably something I will not get the chance to do again.&lt;/p></description></item><item><title>Smart Device Blog Writer</title><link>https://blogs.blackmarble.co.uk/rfennell/smart-device-blog-writer/</link><pubDate>Sun, 20 Apr 2008 21:08:11 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/smart-device-blog-writer/</guid><description>
&lt;p>This post has been written with a blog writer (same idea as Live Writer) that I have written for a Smart Device using the .NET Compact Framework 3.5&lt;/p>
&lt;p>The reason I wrote it was I find Community Server a bit awkward to use in a web browser on a small form factor device like my HTC Cruise phone. Being able to create a post offiline just seemed an easier option.&lt;/p></description></item><item><title>Outlook Mobile Sync Issues over 3G</title><link>https://blogs.blackmarble.co.uk/rfennell/outlook-mobile-sync-issues-over-3g/</link><pubDate>Thu, 17 Apr 2008 20:20:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/outlook-mobile-sync-issues-over-3g/</guid><description>
&lt;p>I posted a while ago about my new &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/archive/2008/03/11/after-months-on-backorder-my-htc-cruise-arrives-was-it-worth-the-wait.aspx" title="After months on backorder my HTC Cruise arrives, was it worth the wait-">HTC Cruise&lt;/a>, well I am still really happy with it but I have come across a problem. I have found that from time to time I get problems trying to do a Send/Receive in Outlook Mobile via the 3G mobile phone network. Well today after a chat with &lt;a href="http://blogs.blackmarble.co.uk/blogs/twardill" title="Work Life - like park life, but paid better">Tom&lt;/a> I spotted the pattern.&lt;/p></description></item><item><title>Speaking at Scottish SQL Usergroup</title><link>https://blogs.blackmarble.co.uk/rfennell/speaking-at-scottish-sql-usergroup/</link><pubDate>Thu, 17 Apr 2008 16:46:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/speaking-at-scottish-sql-usergroup/</guid><description>
&lt;p>I will be speaking on Visual Studio for Database Professionals to the Scottish SQL usergroup on the 4th June in Edinburgh.&lt;/p>
&lt;p>&lt;strong>Update&lt;/strong> The event booking site is now available at &lt;a href="http://www.sqlserverfaq.com/?eid=115">http://www.sqlserverfaq.com/?eid=115&lt;/a>&lt;/p></description></item><item><title>VBUG Newcastle: VS2008, SQL Server 2008 and Win 2008 Launch Event</title><link>https://blogs.blackmarble.co.uk/rfennell/vbug-newcastle-vs2008-sql-server-2008-and-win-2008-launch-event/</link><pubDate>Tue, 15 Apr 2008 12:45:51 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/vbug-newcastle-vs2008-sql-server-2008-and-win-2008-launch-event/</guid><description>
&lt;p>The &lt;a href="http://www.vbug.com/Events/April-2008/VBUG-Newcastle-Heroes-Happen-Here--VS08-SQL08-Server08-Launch-Event.aspx">details are out the for VBug&lt;/a> event I am speaking at, it is going to be at &lt;a href="http://www.thecastlegate.co.uk/">The Castlegate&lt;/a>, Melbourne Street, Newcastle upon Tyne, NE1 2JQ&lt;/p>
&lt;p>Hope to see you there.&lt;/p></description></item><item><title>Community Launch Events</title><link>https://blogs.blackmarble.co.uk/rfennell/community-launch-events/</link><pubDate>Mon, 07 Apr 2008 13:28:57 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/community-launch-events/</guid><description>
&lt;p>A busy time in the next few weeks for free community launch events for &lt;a href="http://www.microsoft.com/heroeshappenhere/">Windows 2008, Visual Studio 2008 and SQL 2008&lt;/a>.&lt;/p>
&lt;p>This week we at Black Marble are hosting a series of three evening events (&lt;a href="http://www.blackmarble.co.uk/SectionDisplay.aspx?name=Events">See online booking&lt;/a>) where you can see virtually the whole set of Black Marble speakers.&lt;/p>
&lt;p>On the 30th of April there will be a VBug hosted &lt;a href="http://www.vbug.co.uk/events/default.aspx">launch event&lt;/a> in Newcastle where I, &lt;a href="http://blogs.blackmarble.co.uk/blogs/rhepworth/default.aspx">Rik&lt;/a> and &lt;a href="http://blogs.blackmarble.co.uk/blogs/iangus/default.aspx">Iain&lt;/a> will be speaking.&lt;/p></description></item><item><title>Back home from the IMTC</title><link>https://blogs.blackmarble.co.uk/rfennell/back-home-from-the-imtc/</link><pubDate>Sat, 05 Apr 2008 13:31:32 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/back-home-from-the-imtc/</guid><description>
&lt;p>After an uneventful journey I have got home from the &lt;a href="http://imtc.firstport.ie/default.aspx">IMTC conference&lt;/a> in Dublin. Thanks to the organiser for running the event, it seemed to go well.&lt;/p>
&lt;p>I hope I managed to answer any question my sessions on SQL BI and Scrum raised, if not send a message via this blog. I suspect there might be a few from the Scrum session as it seems the cinema (where the conference was held) had a movie scheduled to start at 6pm, the same time I was scheduled to finish so not much chance to stand around for a Q&amp;amp;A and chat.&lt;/p></description></item><item><title>The youth of today</title><link>https://blogs.blackmarble.co.uk/rfennell/the-youth-of-today/</link><pubDate>Tue, 01 Apr 2008 15:05:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/the-youth-of-today/</guid><description>
&lt;p>It is the school holidays, so I am sitting in a children's indoor jungle gym sorting out my &lt;a href="http://imtc.firstport.ie/agenda.aspx">slides for Ireland&lt;/a> while my son rushes around.&lt;/p>
&lt;p>Having someone working on a laptop here seems to be a bit of novelty. I have had a number of children rush over to see what I am doing. They don't stay watching long when they spot the VPC of SQL 2008 and a PowerPoint stack.&lt;/p></description></item><item><title>More sessions in Ireland next week</title><link>https://blogs.blackmarble.co.uk/rfennell/more-sessions-in-ireland-next-week/</link><pubDate>Thu, 27 Mar 2008 14:14:47 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/more-sessions-in-ireland-next-week/</guid><description>
&lt;p>Just found out that Robert and myself are both now doing two sessions at the Irish Microsoft Technologies Conference next week.&lt;/p>
&lt;p>**Thursday&lt;br>
**13:45 - &lt;a href="http://imtc.firstport.ie/lecture.aspx?lid=128">&lt;strong>BI in SQL 08 (Richard Fennell)&lt;/strong>&lt;/a>&lt;br>
16:45 - &lt;a href="http://imtc.firstport.ie/lecture.aspx?lid=141">&lt;strong>Microsoft Volta: Next Gen .NET Client-Server Apps (Robert Hogg)&lt;/strong>&lt;/a>&lt;/p>
&lt;p>**Friday&lt;br>
**10:00 - &lt;a href="http://imtc.firstport.ie/lecture.aspx?lid=134">&lt;strong>Overview of Business Process Automation and implementing an Enterprise Service Bus using Microsoft BizTalk Server 2006 R2 (Robert Hogg)&lt;/strong>&lt;/a>&lt;br>
16:45 - &lt;a href="http://imtc.firstport.ie/lecture.aspx?lid=140">&lt;strong>What is Scrum? (Richard Fennell)&lt;/strong>&lt;/a>&lt;/p></description></item><item><title>New style web applications</title><link>https://blogs.blackmarble.co.uk/rfennell/new-style-web-applications/</link><pubDate>Wed, 26 Mar 2008 20:51:52 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/new-style-web-applications/</guid><description>
&lt;p>With the advent of Silverlight we are going to see more and more web delivered applications. A good example of what we can expect is the Microsoft &lt;strong>&lt;a href="http://www.microsoft.com/virtualevents/uk/vle.aspx">HEROES happen {here}&lt;/a>&lt;/strong> virtual launch site. If you did not make it to the event it is well worth a look with all the slides and videos of the sessions.&lt;/p>
&lt;p>This site does makes heavy use of multimedia and it is maybe just me but I find it hard to find things, it look great but I don't like having to guess where the menu might be. In general I want information fast not see a intro video; but this could just be because I am a developer and not a designer. I think this is especially true of sites you go back to again and again. It strikes me that for sites like this search become the key if you are ever to find relevant material.&lt;/p></description></item><item><title>New release of VSTS Scrum Process Template</title><link>https://blogs.blackmarble.co.uk/rfennell/new-release-of-vsts-scrum-process-template/</link><pubDate>Wed, 26 Mar 2008 20:29:26 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/new-release-of-vsts-scrum-process-template/</guid><description>
&lt;p>I see there has been a release of the VSTS Scrum Process Template for VS2008 on &lt;a href="http://www.codeplex.com/VSTSScrum/Release/ProjectReleases.aspx?ReleaseId=11972">CodePlex&lt;/a>, so adding a way to run Scrum projects with the current release of TFS without the &lt;a href="http://www.sharepointblogs.com/johnwpowell/archive/2007/09/29/how-to-install-microsoft-escrum-1-0-process-template-on-tfs-2008-beta-2-quot-orcas-quot.aspx">fiddling required for eScrum&lt;/a>.&lt;/p>
&lt;p>It looks good, but is missing for me the best part of eScrum, the web site that allows quick updating of the Scrum project without the need for Visual Studio. If you are going to be doing Scrum you don't want to having to spend loads of time on the electronic scrum board administration.&lt;/p></description></item><item><title>Dot Net Rocks - Barry Dorrans revisits Security with OpenID and Cardspace</title><link>https://blogs.blackmarble.co.uk/rfennell/dot-net-rocks-barry-dorrans-revisits-security-with-openid-and-cardspace/</link><pubDate>Thu, 20 Mar 2008 15:07:01 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/dot-net-rocks-barry-dorrans-revisits-security-with-openid-and-cardspace/</guid><description>
&lt;p>Join the surreal world of Barry Dorrans on &lt;a href="http://www.dotnetrocks.com/default.aspx?showNum=325">DNR&lt;/a> - if you listen long enough you could even hear something about Cardspace.&lt;/p></description></item><item><title>Installing SQL 2008 Feb CTP on a VPC</title><link>https://blogs.blackmarble.co.uk/rfennell/installing-sql-2008-feb-ctp-on-a-vpc/</link><pubDate>Sun, 16 Mar 2008 21:41:15 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/installing-sql-2008-feb-ctp-on-a-vpc/</guid><description>
&lt;p>I have been trying to install the Feb CTP of SQL 2008 on an Virtual PC, but kept getting the following error&lt;/p>
&lt;p>&lt;em>SQL Server Browser Install for feature 'SQL_Browser_Redist_SqlBrowser_Cpu32' failed with exception System.InvalidOperationException: This access control list is not in canonical form and therefore cannot be modified.&lt;/em>&lt;/p>
&lt;p>Turns out the problem was that I had run &lt;a href="http://technet.microsoft.com/en-us/sysinternals/bb897418.aspx">SysInterals NewSID&lt;/a> on the VPC as it was based on a diff disk off our standard W2K3 test install and I wanted it not to clash with other test installs. NewSID leaves the registry in a state that causes the SQL installer problems. To get round it you need to run&lt;/p></description></item><item><title>A couple of speaking engagements</title><link>https://blogs.blackmarble.co.uk/rfennell/a-couple-of-speaking-engagements/</link><pubDate>Wed, 12 Mar 2008 09:20:01 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/a-couple-of-speaking-engagements/</guid><description>
&lt;p>I will be speaking at the &lt;a href="http://imtc.firstport.ie/bio.aspx?sid=128">Irish Microsoft Technology Conference&lt;/a> in early April on the Business Intelligence features in SQL 2008.&lt;/p>
&lt;p>I also just found out my Continuous Integration session at &lt;a href="http://developerdayscotland.com/main/Default.aspx">Developer Day Scotland&lt;/a> has been successful in the vote, thanks to everyone who voted for it.&lt;/p></description></item><item><title>CruiseControl &amp;amp; MSTest from Visual Studio 2008</title><link>https://blogs.blackmarble.co.uk/rfennell/cruisecontrol-mstest-from-visual-studio-2008/</link><pubDate>Tue, 11 Mar 2008 20:38:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/cruisecontrol-mstest-from-visual-studio-2008/</guid><description>
&lt;p>Ages ago &lt;a href="http://blogs.blackmarble.co.uk/blogs/bm-bloggers/archive/2006/06/14/5255.aspx">I posted on using MSTest and CruiseControl .NET&lt;/a> with VS2005. As I am presenting tomorrow to the &lt;a href="http://xpclub.erudine.com/2008/03/march-12th-meeting-but-it-works-on-my.html">Yorkshire Extreme Programming Club&lt;/a> on CC.Net I thought it a good idea to revisit this subject with VS2008.&lt;/p>
&lt;p>Well basically nothing has changed, the old ccnet.config I detailed still works. However, I discovered that you no longer really need the block to delete the TestProject.TRX file as it seem the 2008 MSTest.EXE can overwrite an existing test results file.&lt;/p></description></item><item><title>TFS 'Invalid File Handle' when getting files</title><link>https://blogs.blackmarble.co.uk/rfennell/tfs-invalid-file-handle-when-getting-files/</link><pubDate>Tue, 11 Mar 2008 12:35:31 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/tfs-invalid-file-handle-when-getting-files/</guid><description>
&lt;p>I was recently working at a client's site where they were using TFS 2008 in a dual server setup. When getting large numbers of files (e.g. a Get Latest for the whole solution of 20+ projects) they were intermittently see 'Invalid file handle' errors. However, if they selected a smaller set of files, or just retried it would often work. We could spot no major pattern other than volume of files.&lt;/p></description></item><item><title>After months on backorder my HTC Cruise arrives, was it worth the wait?</title><link>https://blogs.blackmarble.co.uk/rfennell/after-months-on-backorder-my-htc-cruise-arrives-was-it-worth-the-wait/</link><pubDate>Tue, 11 Mar 2008 12:15:29 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/after-months-on-backorder-my-htc-cruise-arrives-was-it-worth-the-wait/</guid><description>
&lt;p>What seems many months ago I ordered an &lt;a href="http://www.htc.com/product/03-product_htctouch_cruise.htm">HTC Cruise&lt;/a> from &lt;a href="http://www.expansys.com/p.aspx?i=159608">Expansys&lt;/a>. My old &lt;a href="http://www.myqtek.com/europe/products/s100.aspx">QTEK S100&lt;/a> was literally falling apart. The new phone was supposedly on 4 day delivery, well it took best part of 4 months to arrive (don't you just hate online stock levels and delivery dates that are just wrong) but was the wait worth it?&lt;/p>
&lt;p>Well I have been using it for a couple of weeks and in general I would say yes it was worth the wait. As with any of these phone/PDA devices some features can be a compromised, they are never the best phones in the world, if you want a great phone with a long battery life get something like an old Nokia 6310 from eBay. That said, on first impressions the HTC &lt;a href="http://www.microsoft.com/windowsmobile/6/default.mspx">Mobile 6&lt;/a> package with their &lt;a href="http://www.htctouch.com/">Touch&lt;/a> interface does seem a good all rounder.&lt;/p></description></item><item><title>SIlverlight 2 SDK Beta 1 - Control Samples</title><link>https://blogs.blackmarble.co.uk/rfennell/silverlight-2-sdk-beta-1-control-samples/</link><pubDate>Fri, 07 Mar 2008 16:10:54 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/silverlight-2-sdk-beta-1-control-samples/</guid><description>
&lt;p>Interesting to see that the samples of &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=ea93dd89-3af2-4acb-9cf4-bfe01b3f02d4&amp;amp;displaylang=en">Silverlight controls&lt;/a> have been shipped with associated MSTest projects. I think this is first for Microsoft.&lt;/p>
&lt;p>Now this is a great way to see the intention behind the way any bit of code was designed. A good test set is far more use than most documentation, as it truly matches the code features. If you are doing TDD then it cannot get stale.&lt;/p></description></item><item><title>March 2008 meeting of the Yorkshire Extreme Programming Club</title><link>https://blogs.blackmarble.co.uk/rfennell/march-2008-meeting-of-the-yorkshire-extreme-programming-club/</link><pubDate>Mon, 03 Mar 2008 18:28:11 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/march-2008-meeting-of-the-yorkshire-extreme-programming-club/</guid><description>
&lt;p>In a change from the usual venue in Leeds, the next meeting of the &lt;a href="http://xpclub.erudine.com/">Extreme Programming club&lt;/a> will be at Black Marble's office in Bradford.&lt;/p>
&lt;p>I will be giving a updated version of my DDD4 presentation on &lt;a href="http://confluence.public.thoughtworks.org/display/CCNET/Welcome&amp;#43;to&amp;#43;CruiseControl.NET">Cruise Control .NET&lt;/a>.&lt;/p>
&lt;p>The fun starts a 7pm on Wednesday the 12th of March, it is free and open to all, see you there.&lt;/p></description></item><item><title>SQLBits II</title><link>https://blogs.blackmarble.co.uk/rfennell/sqlbits-ii/</link><pubDate>Sun, 02 Mar 2008 22:10:52 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/sqlbits-ii/</guid><description>
&lt;p>I was at &lt;a href="http://www.sqlbits.com/default.aspx">SQLBits II in Birmingham&lt;/a> yesterday, a great venue and great sessions. I particularly enjoyed &lt;a href="http://www.simple-talk.com/community/blogs/andras/default.aspx">András Belokosztolszki's&lt;/a> session on transient data in SQL, giving an insight on when as a developer it is appropriate to use different techniques to manage data.&lt;/p>
&lt;p>My session on Visual Studio for Database Professionals seemed to be well received. However, I did sense some resistance from people (who I assume were DBAs as opposed to developers) who did not like the idea of a world where DB schema control is not done from within SQL Management studio, but with a revision controlled off line environment. Maybe some DBAs don't want to be part of the larger developer family on a project?&lt;/p></description></item><item><title>'Aah, VSTO!' ... cooking up an OBA solution</title><link>https://blogs.blackmarble.co.uk/rfennell/aah-vsto-cooking-up-an-oba-solution/</link><pubDate>Sat, 23 Feb 2008 17:01:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/aah-vsto-cooking-up-an-oba-solution/</guid><description>
&lt;p>I have been doing some Visual Studio Tools for Office (VSTO) development in Word of late, not exactly a pain free experience.&lt;/p>
&lt;p>First thing to say is that even given all the marketing spiel, VSTO is not that different from VBA in older versions of Office.&lt;/p>
&lt;p>To get going I create a new VSTO 2008 Word 2007 Template project based on an import of our old Word template (to get styles, layout etc.). I then basically cut and pasted the logic from our old VBA macros into an ActionPane in the new one and it just worked.&lt;/p></description></item><item><title>DDD Ireland Agenda published</title><link>https://blogs.blackmarble.co.uk/rfennell/ddd-ireland-agenda-published/</link><pubDate>Mon, 18 Feb 2008 20:11:51 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/ddd-ireland-agenda-published/</guid><description>
&lt;p>The &lt;a href="http://www.dddireland.com/agenda-1.htm">agenda&lt;/a> has been published  for **&lt;a href="http://www.dddireland.com/">DeveloperDeveloperDeveloper! Day - Ireland&lt;/a> ** which is being held on the Saturday May 3rd 2008 in &lt;a href="http://www.gmit.ie/directions-gmit-galway.html">Galway&lt;/a>.&lt;/p>
&lt;p>I can't make it to the event, but it does look well worth the trip. Keep an on on the &lt;a href="http://www.dddireland.com/rss.xml">conference web site RSS feed&lt;/a> to see when registration opens.&lt;/p>
&lt;p>&lt;a href="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/DDDLogo_2.gif">&lt;img
loading="lazy"
decoding="async"
alt="DDDLogo"
class="image_figure image_internal image_unprocessed"
src="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/DDDLogo_thumb.gif"
/>
&lt;/a>&lt;/p></description></item><item><title>Sharepoint is like a shelf that is too short.....</title><link>https://blogs.blackmarble.co.uk/rfennell/sharepoint-is-like-a-shelf-that-is-too-short/</link><pubDate>Fri, 15 Feb 2008 20:52:01 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/sharepoint-is-like-a-shelf-that-is-too-short/</guid><description>
&lt;p>&lt;em>You have all these books to put on a shelf and as you put one on at one end another one falls off at the other. You just can't get them all on at the same time.&lt;/em>&lt;/p>
&lt;p>What do I mean by this?&lt;/p>
&lt;p>Sharepoint has many features and with these come limitations due to the way features have been implemented. I am repeatedly finding that to use feature A means that you cannot use all of feature B. Historic choices can have a huge impact on what can be done in the future.&lt;/p></description></item><item><title>Scottish Developers</title><link>https://blogs.blackmarble.co.uk/rfennell/scottish-developers/</link><pubDate>Wed, 13 Feb 2008 14:47:37 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/scottish-developers/</guid><description>
&lt;p>Thanks to &lt;a href="http://blog.colinmackay.net">Colin Mackay&lt;/a> for organising the Scottish Developers event in Glasgow last night; as promised I have uploaded &lt;a href="http://www.blackmarble.co.uk/ConferencePapers/Scottish%20Developers%20Presentation%20-%20Team%20Foundation%20Server.ppt">the slide on TFS&lt;/a> that I presented.&lt;/p>
&lt;p>I am already looking forward to seeing everyone again at &lt;a href="http://developerdayscotland.com/main/Default.aspx">Developer Day Scotland&lt;/a> which is also being held in Glasgow at the Caledonian University.&lt;/p></description></item><item><title>Voting opens Developer Day Scotland</title><link>https://blogs.blackmarble.co.uk/rfennell/voting-opens-developer-day-scotland/</link><pubDate>Mon, 11 Feb 2008 21:45:55 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/voting-opens-developer-day-scotland/</guid><description>
&lt;p>Vote early vote often......&lt;/p>
&lt;p>&lt;a href="http://developerdayscotland.com/main/Agenda/tabid/55/Default.aspx">&lt;img
loading="lazy"
decoding="async"
alt="VoteDDS-small"
class="image_figure image_internal image_unprocessed"
src="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/VoteDDS-small_3.png"
/>
&lt;/a>&lt;/p></description></item><item><title>Next meeting of the Extreme Programming Club</title><link>https://blogs.blackmarble.co.uk/rfennell/next-meeting-of-the-extreme-programming-club/</link><pubDate>Mon, 11 Feb 2008 21:39:45 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/next-meeting-of-the-extreme-programming-club/</guid><description>
&lt;p>The next meeting of the extreme programming club is going to be held on the &lt;strong>Thursday the 14th of February 2008 at the Victoria Hotel, at 7.00pm, Leeds.&lt;/strong> &lt;a href="http://local.google.co.uk/maps?f=q&amp;amp;hl=en&amp;amp;geocode=&amp;amp;time=&amp;amp;date=&amp;amp;ttype=&amp;amp;q=victoria&amp;#43;hotel&amp;#43;LS1&amp;amp;ie=UTF8&amp;amp;ll=53.800549,-1.548729&amp;amp;spn=0.009175,0.028539&amp;amp;z=16&amp;amp;iwloc=A&amp;amp;om=1">Get Directions »&lt;/a>&lt;/p>
&lt;h5 id="next-meeting-is-happening-on-thursday-14th-of-february">Next meeting is happening on Thursday 14th of February&lt;/h5>
&lt;p>There are going to have two shorter, or rather more agile talks:&lt;/p>
&lt;p>&lt;strong>&amp;quot;CRAP hits the fan - Change Risk Analyzer and Predictor&amp;quot;&lt;/strong> - new kid on the block of software metrics and static code analyzers presented by Daniel Drozdzewski - Java developer at Erudine. This presentation focuses on software metrics in general or rather their failure and proposes gentle solution supported by examples in Java.&lt;/p></description></item><item><title>New Banner Image</title><link>https://blogs.blackmarble.co.uk/rfennell/new-banner-image/</link><pubDate>Fri, 08 Feb 2008 17:35:35 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/new-banner-image/</guid><description>
&lt;p>I felt it was time for a new banner image, my triathlon photo had been up a while. So I have used one of the new cartoons our designer Lauren has done for all the staff at Black Marble.&lt;/p>
&lt;p>Commemorative limited edition collectors plate will soon be available.&lt;/p></description></item><item><title>Another declarative programming language to try to test</title><link>https://blogs.blackmarble.co.uk/rfennell/another-declarative-programming-language-to-try-to-test/</link><pubDate>Thu, 07 Feb 2008 09:39:49 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/another-declarative-programming-language-to-try-to-test/</guid><description>
&lt;p>At the &lt;a href="http://www.altnetpedia.com/London%20Alt.Net.UK%202nd%20Feb%202008.ashx">Alt.NET UK conference&lt;/a> there was a good deal of discussion about tactics to test declarative languages such as XAML in WPF applications. Well it seems we have another one coming out of the &lt;a href="http://www.microsoft.com/soa/products/oslo.aspx">Oslo&lt;/a> project - '&lt;a href="http://blogs.zdnet.com/microsoft/?p=1159">D&lt;/a>'.&lt;/p>
&lt;p>Looks like there is no escape, testing of declarative languages is going to be a ripe area to develop tools and techniques.&lt;/p></description></item><item><title>Oh to be a tester....</title><link>https://blogs.blackmarble.co.uk/rfennell/oh-to-be-a-tester/</link><pubDate>Sun, 03 Feb 2008 21:34:33 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/oh-to-be-a-tester/</guid><description>
&lt;p>Whilst at the &lt;a href="http://www.altnetuk.com/">Alt.net conference&lt;/a> it was pointed out that I have a different view of the role of a tester in a software development team to many other people. It seems a tester, to many people, is viewed as a person who follows manual test scripts and/or monitors automated systems, they are really part of the QA process not part of development.&lt;/p>
&lt;p>Now to me this is just wrong. I started, a good while ago, in electronics testing and yes we did have people who sat with test gear and checked circuit boards gave the right voltages etc.; but we also had a test development team who built the test harnesses, scripts  and tools. It is this second group in my option that equate to software testers - they are developers who write code to enable testing. They might do some manual testing but as much as possible this should be automated; we have computers available to us, so make them do the repetitive test work whenever possible.&lt;/p></description></item><item><title>First Alt.Net.UK Conference thoughts</title><link>https://blogs.blackmarble.co.uk/rfennell/first-alt-net-uk-conference-thoughts/</link><pubDate>Sat, 02 Feb 2008 20:19:33 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/first-alt-net-uk-conference-thoughts/</guid><description>
&lt;p>I am sitting on the train heading north. After deciding trying to stream the England/Wales match from &lt;a href="http://www.bbc.co.uk/iplayer/">iPlayer&lt;/a> on the train WiFi was probably not a good idea, especially after just reading the score, I though I should write about the &lt;a href="http://www.altnetuk.com/">Alt.Net UK Conference&lt;/a>; a very interesting experience. It is great to meet so many people who are so enthusiastic over their jobs and learning how to do it better. There were some faces I knew from &lt;a href="http://www.developerday.co.uk/ddd/default.asp">DDD&lt;/a> and other community events, but also many new faces. I was surprised by the distance some people had travelled, I met a good few from around Europe, but I think &lt;a href="http://weblogs.asp.net/rosherove/">Roy&lt;/a> won the prize with a trip from Israel.&lt;/p></description></item><item><title>Registration for SQLBits II</title><link>https://blogs.blackmarble.co.uk/rfennell/registration-for-sqlbits-ii/</link><pubDate>Thu, 31 Jan 2008 23:04:27 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/registration-for-sqlbits-ii/</guid><description>
&lt;p>It seems there are still some places left for &lt;a href="http://www.sqlserverfaq.com/sqlbits/">SQLBits II&lt;/a> in Birmingham on the 1st of March. If you want to go I suggest you register fast as these community events do fill up fast.&lt;/p></description></item><item><title>Presenting at the first meeting of the Peterborough VBug group</title><link>https://blogs.blackmarble.co.uk/rfennell/presenting-at-the-first-meeting-of-the-peterborough-vbug-group/</link><pubDate>Thu, 31 Jan 2008 22:18:51 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/presenting-at-the-first-meeting-of-the-peterborough-vbug-group/</guid><description>
&lt;p>I enjoyed presenting on TFS at the inaugural meeting of the P&lt;a href="http://www.google.co.uk/search?hl=en&amp;amp;sa=X&amp;amp;oi=spell&amp;amp;resnum=0&amp;amp;ct=result&amp;amp;cd=1&amp;amp;q=peterborough&amp;amp;spell=1">eterborough&lt;/a> VBug group last night. Thanks to &lt;a href="http://www.vbug.co.uk/info/Chairman.aspx">Jyoti Majithia (VBug regional administrator&lt;/a>) and &lt;a href="http://www.andrewwestgarth.co.uk/Blog">Andy Westgarth (VBug chairman)&lt;/a> for organising it. Hopefully this will be the start of another thriving user group community.&lt;/p>
&lt;p>If anyone wants a copy of the slide stack, there were no major changes between the one I used last night and the &lt;a href="http://www.blackmarble.co.uk/ConferencePapers/DDD5%20Presentation%20-%20Team%20Foundation%20Server.ppt">DDD5 one our main web site&lt;/a>. There is also a screencast of &lt;a href="http://www.blackmarble.co.uk/ConferencePapers/DDD6%20Demo%20-%20EScum%20ScreenCast.wmv">demo of eScrum&lt;/a> in the same archive.&lt;/p></description></item><item><title>Fun upgrading from Visual Studio TFS 2008 Beta2 to RTM</title><link>https://blogs.blackmarble.co.uk/rfennell/fun-upgrading-from-visual-studio-tfs-2008-beta2-to-rtm/</link><pubDate>Wed, 23 Jan 2008 21:31:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/fun-upgrading-from-visual-studio-tfs-2008-beta2-to-rtm/</guid><description>
&lt;p>A while ago I made the classic mistake of installing the Beta2 of TFS on our live servers after seeing posts that it was reliable enough for production use. I had stupidly assumed that there would be an upgrade path to the RTM; there usually is from the last beta, but not this time.&lt;/p>
&lt;p>&lt;strong>TIP: Don't ever do this yourself, only use beta's in places you can throw them away without any issues.&lt;/strong>&lt;/p></description></item><item><title>SQLBits II (the sql)</title><link>https://blogs.blackmarble.co.uk/rfennell/sqlbits-ii-the-sql/</link><pubDate>Wed, 23 Jan 2008 10:25:40 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/sqlbits-ii-the-sql/</guid><description>
&lt;p>Just heard my session &lt;strong>Development Life Cycle using Visual Studio Team Edition for DB Professionals&lt;/strong> has been accepted for &lt;a href="http://www.sqlbits.com/">SQLBits II on the 1st of March&lt;/a> in Birmingham.&lt;/p>
&lt;p>Thanks to everyone who voted for it, and I hope to see you there.&lt;/p>
&lt;p>![](&lt;a href="http://www.sqlbits.com/images/SQLBIts">http://www.sqlbits.com/images/SQLBIts&lt;/a> II LogoWithDate.png)&lt;/p></description></item><item><title>SharePoint, TRACE.WriteLine and DebugView</title><link>https://blogs.blackmarble.co.uk/rfennell/sharepoint-trace-writeline-and-debugview/</link><pubDate>Tue, 22 Jan 2008 13:48:12 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/sharepoint-trace-writeline-and-debugview/</guid><description>
&lt;p>I have been debugging some SharePoint 2007 webparts and have had to resort to TRACE output and the &lt;a href="http://technet.microsoft.com/en-us/sysinternals/bb896647.aspx">SysInternal DebugView&lt;/a>; it is like ASP pages in the 90s all over again!&lt;/p>
&lt;p>Anyway had a weird problem that only alternate TRACE.WriteLine commands were appearing in the view. I have not found a reason why or a solution as yet, I suspect a buffer flushing issue, but you can work round it once you know it is happening.&lt;/p></description></item><item><title>Running the TFS Best Practice Analyzer and 2005 Team Explorer</title><link>https://blogs.blackmarble.co.uk/rfennell/running-the-tfs-best-practice-analyzer-and-2005-team-explorer/</link><pubDate>Wed, 16 Jan 2008 13:12:33 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/running-the-tfs-best-practice-analyzer-and-2005-team-explorer/</guid><description>
&lt;p>If you run the &lt;a href="http://msdn2.microsoft.com/en-us/tfs2008/bb980963.aspx">2008 Power Tools BPA&lt;/a> against a TFS 2008 install that has the 2005 Team Explorer also installed on it you will get virtually no reports generated. It runs to completion but the reports are empty.&lt;/p>
&lt;p>This is due to some clash between the BPA and the TFS 2005 DLLs (V8.0). Removed the 2005 Team Explorer and it works as expected.&lt;/p>
&lt;p>Now you are probably asking why would I have 2005 Team Explorer on a 2008 install? It is because a number of the third party TFS add-ins, such as eScrum, require the 2005 DLLs either to install or to run. As in theory the 2005 and 2008 installs are site side by side so it should not be an issue - but it is for the BPA.&lt;/p></description></item><item><title>Presenting in Glasgow</title><link>https://blogs.blackmarble.co.uk/rfennell/presenting-in-glasgow/</link><pubDate>Mon, 14 Jan 2008 23:16:12 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/presenting-in-glasgow/</guid><description>
&lt;p>I will be doing a TFS and Continuous Integration session for &lt;a href="http://www.scottishdevelopers.com/modules/extcal/event.php?event=39">Scottish Developers on the 12th of February&lt;/a>&lt;/p></description></item><item><title>CCNet WebDashboard getting assembly does not allow partially trusted callers exception</title><link>https://blogs.blackmarble.co.uk/rfennell/ccnet-webdashboard-getting-assembly-does-not-allow-partially-trusted-callers-exception/</link><pubDate>Sun, 13 Jan 2008 22:33:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/ccnet-webdashboard-getting-assembly-does-not-allow-partially-trusted-callers-exception/</guid><description>
&lt;p>Whilst installing a TFS &amp;amp; CCNet demo system I got an exception&lt;/p>
&lt;blockquote>
&lt;p>&lt;em>System.Security.SecurityException: That assembly does not allow partially trusted callers&lt;/em>&lt;/p>&lt;/blockquote>
&lt;p>when I tried to load the CCNet WebDashboard.&lt;/p>
&lt;p>The problem was that default CCNet installer had created the WebDashboard on the default web site as the virtual directory&lt;/p>
&lt;blockquote>
&lt;p>&lt;a href="http://localhost/ccnet">http://localhost/ccnet&lt;/a>&lt;/p>&lt;/blockquote>
&lt;p>As this was also a TFS server the default web site was a WSS3 server. Bascially the SharePoint did not like (trust) the CCNet virtual directory's DLLs.&lt;/p></description></item><item><title>TF220066 Error installing TFS</title><link>https://blogs.blackmarble.co.uk/rfennell/tf220066-error-installing-tfs/</link><pubDate>Thu, 10 Jan 2008 15:46:21 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/tf220066-error-installing-tfs/</guid><description>
&lt;p>I was installing a Dual Tier Team Foundation Server 2008 at a clients today and got a problem that when installing the Application Tier (AT) I entered the name of the Data Tier server (DT) and it said the server could not be found.&lt;/p>
&lt;p>Unlike TFS 2005, 2008 does not require you to to do a separate install on the DT to create the empty DBs, so I assumed it was just a connectivity problem. However there was none to be found, so I checked the detailed TFS install error log and saw I had a TS220066 error that also mentioned SQLRS - I guessed at a reporting services issue.&lt;/p></description></item><item><title>TFS WebParts in a 64bit SharePoint environment</title><link>https://blogs.blackmarble.co.uk/rfennell/tfs-webparts-in-a-64bit-sharepoint-environment/</link><pubDate>Fri, 04 Jan 2008 16:20:50 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/tfs-webparts-in-a-64bit-sharepoint-environment/</guid><description>
&lt;p>In my post on using &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/archive/2007/12/19/tfs-webpart-for-viewing-workitems-in-sharepoint-2007.aspx">TFS WebParts in Sharepoint&lt;/a> I provided a proof of concept set of source to allow work items to be viewed and edited within 32bit SharePoint 2007. However I hit a problem that our live SharePoint is running 64bit and the TFS API is only available for 32bit, so the WebParts  could not be loaded.&lt;/p>
&lt;p>To get round this problem I have built a version of the WebParts that move all the 32bit TFS API calls into a separate web service. This allows the web service to be hosted on a 32bit box whilst the WebParts are still run within the 64bit SharePoint environment.&lt;/p></description></item><item><title>Next meeting of the Yorkshire Extreme Programming Club</title><link>https://blogs.blackmarble.co.uk/rfennell/next-meeting-of-the-yorkshire-extreme-programming-club/</link><pubDate>Fri, 04 Jan 2008 11:43:53 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/next-meeting-of-the-yorkshire-extreme-programming-club/</guid><description>
&lt;p>The next meeting of the extreme programming club is going to be held on the Thursday the 10th of January 2008 at the &lt;a href="http://local.google.co.uk/maps?f=q&amp;amp;hl=en&amp;amp;geocode=&amp;amp;time=&amp;amp;date=&amp;amp;ttype=&amp;amp;q=victoria&amp;#43;hotel&amp;#43;LS1&amp;amp;ie=UTF8&amp;amp;ll=53.800549,-1.548729&amp;amp;spn=0.009175,0.028539&amp;amp;z=16&amp;amp;iwloc=A&amp;amp;om=1">Victoria Hotel&lt;/a>, at 7.00pm, Leeds. I believe the session is on &lt;a href="http://www.crap4j.org/">CRAP (Change Risk Analyzer and Predictor) code metrics&lt;/a> but this still has to be confirmed.&lt;/p>
&lt;p>This is your chance to discuss the future for the user group as I mentioned in my &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/archive/2008/01/03/future-for-the-yorkshire-xp-club.aspx">previous post&lt;/a>&lt;/p></description></item><item><title>Great Scrum Video</title><link>https://blogs.blackmarble.co.uk/rfennell/great-scrum-video/</link><pubDate>Fri, 04 Jan 2008 10:19:52 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/great-scrum-video/</guid><description>
&lt;p>I have just had pointed out to me there is a great &lt;a href="http://video.google.com/videoplay?docid=8795214308797356840">video about Google's use of Scrum&lt;/a>. It is a presentation done by &lt;a href="http://www.jeffsutherland.com/scrum">Jeff Sutherland&lt;/a> one of the founders of Scrum.&lt;/p>
&lt;p>Take a look it is well worth it.&lt;/p></description></item><item><title>Future for the Yorkshire XP Club</title><link>https://blogs.blackmarble.co.uk/rfennell/future-for-the-yorkshire-xp-club/</link><pubDate>Thu, 03 Jan 2008 21:10:14 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/future-for-the-yorkshire-xp-club/</guid><description>
&lt;p>Times are a'changing for the &lt;a href="http://www.extremeprogrammingclub.com/">Yorkshire Extreme Programming and Agile Methods Club&lt;/a>, our local user group. There are plans to put the organisation on a more formal structure including a organising committee with the key aim to extend the groups appeal. In the past it has really been driven by the good works of the staff of &lt;a href="http://www.eurdine.com">Erudine&lt;/a>, thanks to them for all the work thus far.&lt;/p>
&lt;p>To facilitate these changes a new organiser Daniel Drozdzewski from Eurdine has put up a &lt;a href="http://freeonlinesurveys.com/rendersurvey.asp?sid=tdutyt4k9ilmttv380228">survey&lt;/a> to find out what people want and is keen to hear ideas via the forum as he says we &amp;quot;want to bring more interesting speakers and topics, make it more organised and appealing to wider audience.&amp;quot;&lt;/p></description></item><item><title>Getting Team Foundation Server to use a remote 64Bit SharePoint 2007 farm.</title><link>https://blogs.blackmarble.co.uk/rfennell/getting-team-foundation-server-to-use-a-remote-64bit-sharepoint-2007-farm/</link><pubDate>Wed, 02 Jan 2008 15:25:06 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/getting-team-foundation-server-to-use-a-remote-64bit-sharepoint-2007-farm/</guid><description>
&lt;p>If you try to install the Team Foundation 2008 SharePoint extensions on a 64bit farm you get a '&lt;em>SharePoint must be installed&lt;/em>' error; I guess the installer is looking in the wrong directory for something to confirm SharePoint is there.&lt;/p>
&lt;p>However, it seems the MSI is only installing some features that are not 32/64bit specific. So you can try a manual install of these features.&lt;/p>
&lt;p>The notes on &lt;a href="http://msdn2.microsoft.com/en-us/teamsystem/aa718901.aspx" title="http://msdn2.microsoft.com/en-us/teamsystem/aa718901.aspx">http://msdn2.microsoft.com/en-us/teamsystem/aa718901.aspx&lt;/a> give a basic guide, but these were written for the previous SharePoint so you have to alter a few paths, mostly 6.0 to 12.0 in the paths to the Web Server Extensions EXEs, and the templates have moved in Team System to &lt;em>[Program Files]Microsoft Visual Studio 2008 Team Foundation ServerToolsTemplates&lt;/em>&lt;/p></description></item><item><title>TFS Build Agent on Team Foundation Workgroup Edition</title><link>https://blogs.blackmarble.co.uk/rfennell/tfs-build-agent-on-team-foundation-workgroup-edition/</link><pubDate>Wed, 02 Jan 2008 09:27:57 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/tfs-build-agent-on-team-foundation-workgroup-edition/</guid><description>
&lt;p>If you see &lt;em>'TF215085 local build agent not authorized to communicate with team foundation server'&lt;/em> when you queue a new build via Visual Studio, you would assume you just have to add the TFSBuild user to the team projects build group as the rest of the message suggests (right click in team explorer for the project and look at the group membership).&lt;/p>
&lt;p>However this is not enough it seems if you are running a workgroup edition of Team Foundation server.  You also have to make sure the TFSBuild user is in the licensed users group for the team server (right click the server itself in the team explorer).&lt;/p></description></item><item><title>TFS 2008 Media on MSDN</title><link>https://blogs.blackmarble.co.uk/rfennell/tfs-2008-media-on-msdn/</link><pubDate>Thu, 27 Dec 2007 22:05:01 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/tfs-2008-media-on-msdn/</guid><description>
&lt;p>Don't make the mistake I did with Team Foundation Server 2008 media on MSDN downloads.&lt;/p>
&lt;p>The MSDN file &lt;em>en_visual_studio_team_system_2008_team_foundation_server_workgroup_x86_x64wow_dvd_X14-29253.iso&lt;/em> is the workgroup edition, as the file name suggests. The problem is that you cannot upgraded it to a full edition. TFS documentation says that a trial or workgroup edition can be upgraded by entering a valid CD-key when in Add remove programs, maintenance mode; however this option is greyed out if you install from this media. I checked with Microsoft and there is no way round this for this ISO image.&lt;/p></description></item><item><title>TFS WebPart for viewing workitems in SharePoint 2007</title><link>https://blogs.blackmarble.co.uk/rfennell/tfs-webpart-for-viewing-workitems-in-sharepoint-2007/</link><pubDate>Wed, 19 Dec 2007 22:47:39 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/tfs-webpart-for-viewing-workitems-in-sharepoint-2007/</guid><description>
&lt;p>&lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/archive/2007/07/13/tfs-webpart-in-moss2007.aspx">I have been trying&lt;/a> to get a simple means for our clients to log faults into our TFS system whilst inside our MOSS2007 based customer portal. I had been suffering from two major problems as my previous posts mentioned. However, I now have some solutions or at least workarounds:&lt;/p>
&lt;ul>
&lt;li>Historically all users who connected to the TFS server needed a Team Foundation Client CAL - this issue has been addressed by &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/archive/2007/11/23/interesting-change-to-tfs-licensing.aspx">changes in licensing&lt;/a> for TFS by Microsoft; basically it is now free to look at work items and add bugs&lt;/li>
&lt;li>The way the SharePoint and TFS APIs handle user identity (SPUser &amp;amp; ICreditial) do not match, and are not improbable. There is no way round the user having to reenter their user credentials for each system - so my web part logs into TFS as a user set via it's parameters, this is not the same user as the credentials used to authenticate into SharePoint, it is in effect a proxy user for accessing TFS&lt;/li>
&lt;/ul>
&lt;p>So where does this leave us?&lt;/p></description></item><item><title>And another possible session at SQLBits II</title><link>https://blogs.blackmarble.co.uk/rfennell/and-another-possible-session-at-sqlbits-ii/</link><pubDate>Wed, 19 Dec 2007 19:01:36 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/and-another-possible-session-at-sqlbits-ii/</guid><description>
&lt;p>I also submitted a session for &lt;a href="http://www.sqlbits.com/">SQLBits II in Birmingham&lt;/a> on using Visual Studio to manage the life cycle of DB projects. The voting for this community conference I assume opens in the new year as submissions close this weekend.&lt;/p>
&lt;p>It will be interesting to see if this more central location (well central to England not the UK) attracts more attendees than Reading.&lt;/p>
&lt;p>Again vote early and often.&lt;/p></description></item><item><title>Maybe speaking at Developer Day Scotland</title><link>https://blogs.blackmarble.co.uk/rfennell/maybe-speaking-at-developer-day-scotland/</link><pubDate>Wed, 19 Dec 2007 18:56:15 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/maybe-speaking-at-developer-day-scotland/</guid><description>
&lt;p>And I may be speaking at Developer Day Scotland - it is all down to you; like other DDD style events the attendees get a chance to select what they would like to see. So keep an eye on the &lt;a href="http://developerdayscotland.com/main/Agenda/tabid/55/Default.aspx">possible agenda&lt;/a> and please vote as soon at submission close.&lt;/p></description></item><item><title>Speaking at VBUG Peterborough</title><link>https://blogs.blackmarble.co.uk/rfennell/speaking-at-vbug-peterborough/</link><pubDate>Wed, 19 Dec 2007 18:52:14 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/speaking-at-vbug-peterborough/</guid><description>
&lt;p>I will be speaking at what I think is the inaugural meeting of the Peterborough VBUG User group in Team Foundation Servers.&lt;/p>
&lt;p>For more details see &lt;a href="http://www.vbug.co.uk/Events/January-2008/VBUG-Team-Foundation-Server-with-Richard-Fennell.aspx" title="http://www.vbug.co.uk/Events/January-2008/VBUG-Team-Foundation-Server-with-Richard-Fennell.aspx">http://www.vbug.co.uk/Events/January-2008/VBUG-Team-Foundation-Server-with-Richard-Fennell.aspx&lt;/a>&lt;/p>
&lt;p>Hope to see you there.&lt;/p></description></item><item><title>Powershell and SourceSafe</title><link>https://blogs.blackmarble.co.uk/rfennell/powershell-and-sourcesafe/</link><pubDate>Sun, 09 Dec 2007 20:50:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/powershell-and-sourcesafe/</guid><description>
&lt;p>I posted &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/archive/2007/12/08/using-powershell-to-remind-users-of-checked-out-files-from-tfs.aspx">yesterday on using Powershell&lt;/a> to email a TFS user if they had files checked out. Well, we still run a legacy set of SourceSafe databases for old projects that are under maintenance, but not major redevelopment. (Our usual practice is to migrate projects to TFS at major release points).&lt;/p>
&lt;p>Anyway, these SourceSafe repositories are just as likely, if not more so, to have files left checked out as TFS. The following script email a list of all checked out files in a SourceSafe DB&lt;/p></description></item><item><title>Alt.Net.UK</title><link>https://blogs.blackmarble.co.uk/rfennell/alt-net-uk/</link><pubDate>Sun, 09 Dec 2007 20:35:30 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/alt-net-uk/</guid><description>
&lt;p>I am far from the first to post about the &lt;a href="http://altnetuk.com/" title="http://www.altnetuk.com/">Alt.Net.UK&lt;/a> conference next year. I think this is a great idea, I have posted a few times on how I am finding the most useful conferences being the ones about best practice. New technology is great, we all like new toys, but it is the engineering practices we do day to day that have the most effect in the quality of your work, not the IDE we use.&lt;/p></description></item><item><title>Using Powershell to remind users of checked out files from TFS</title><link>https://blogs.blackmarble.co.uk/rfennell/using-powershell-to-remind-users-of-checked-out-files-from-tfs/</link><pubDate>Sat, 08 Dec 2007 16:19:37 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/using-powershell-to-remind-users-of-checked-out-files-from-tfs/</guid><description>
&lt;p>With any source control system it is possible to leave files checked out. This is especially true if your IDE does the checking out behind the scenes. This is made worse still by the fact you can have a number of workspaces on the same PC in TFS. It is too easy to forget.&lt;/p>
&lt;p>It is therefore a good idea to check from time to time that the files you have checked out are the ones you think you have. There is nothing worse than trying to work on a project to find a key file is checked out or locked to another user or PC.&lt;/p></description></item><item><title>Last night I met a spaceman</title><link>https://blogs.blackmarble.co.uk/rfennell/last-night-i-met-a-spaceman/</link><pubDate>Thu, 06 Dec 2007 09:21:49 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/last-night-i-met-a-spaceman/</guid><description>
&lt;p>Last night I went to a lecture by &lt;a href="http://www.bradfordcollege.ac.uk/college/facilities/ycc2006/promos/yccpromo1.htm">Dr Alexander Martynov and Colonel Alexander Volkov&lt;/a> organised by [Space Connections](http://pace Connections &amp;quot;http://www.spaceconnections.net/&amp;quot;) on the Russian space efforts in both the Soviet and current era.&lt;/p>
&lt;p>The thing that struck me was the often spoken of different  between the US/NASA technology based solution and the the Russian 'simple first' philosophy e.g. the cosmonaut should be able to fix it themselves with the tools to hand, a philosophy the &lt;a href="http://en.wikipedia.org/wiki/Mir">Mir space station&lt;/a> repeatedly showed&lt;/p></description></item><item><title>Intellisense not working in Visual Studio 2008</title><link>https://blogs.blackmarble.co.uk/rfennell/intellisense-not-working-in-visual-studio-2008/</link><pubDate>Sat, 01 Dec 2007 22:49:30 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/intellisense-not-working-in-visual-studio-2008/</guid><description>
&lt;p>Since I upgraded my VS2008 Beta2 to the RTM, the intellisense has not been working. I have seen a few posts about this, some suggesting you need to reset the configuration by running&lt;/p>
&lt;blockquote>
&lt;p>&lt;em>devenv.exe /safemode&lt;/em>&lt;/p>&lt;/blockquote>
&lt;p>(see &lt;a href="http://msdn2.microsoft.com/en-us/library/ms241278%28VS.80%29.aspx">http://msdn2.microsoft.com/en-us/library/ms241278(VS.80).aspx&lt;/a>)&lt;/p>
&lt;p>but this did not work for me.&lt;/p>
&lt;p>So I had a poke about in &lt;strong>Tools|Option&lt;/strong> and found that on the &lt;strong>Text Editor|All Languages&lt;/strong> that the three checkboxes for &lt;strong>Statement Completion&lt;/strong> where showing neither empty or checked but a fully coloured box - which usually means an unknown settings. So a set these all to checked (a tick) and my Intellisense started working.&lt;/p></description></item><item><title>DDD6 demo - better late than never</title><link>https://blogs.blackmarble.co.uk/rfennell/ddd6-demo-better-late-than-never/</link><pubDate>Wed, 28 Nov 2007 19:29:03 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/ddd6-demo-better-late-than-never/</guid><description>
&lt;p>For those of you who attended my DDD6 session on Scrum you will remember that I had to cut my demo of eScrum short due to taking too many questions as I went along.&lt;/p>
&lt;p>So I have recorded &lt;a href="http://www.blackmarble.co.uk/ConferencePapers/DDD6%20Demo%20-%20EScum%20ScreenCast.wmv">what I intended to show as a screencast&lt;/a>, enjoy.&lt;/p></description></item><item><title>Virtual Server and MAC addresses</title><link>https://blogs.blackmarble.co.uk/rfennell/virtual-server-and-mac-addresses/</link><pubDate>Tue, 27 Nov 2007 12:18:10 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/virtual-server-and-mac-addresses/</guid><description>
&lt;p>Today I had to do some work on an old VB6 system, a development environment I do not have on my Vista laptop.&lt;/p>
&lt;p>So I copied a Virtual PC image I had with most of the tools I needed and ran it on one of our Virtual Servers. As this VPC needed to run at the same time as the VPC I copied it from, I ran &lt;a href="http://www.microsoft.com/technet/sysinternals/Utilities/NewSid.mspx">NewSid&lt;/a> to change the SID and the PC names.&lt;/p></description></item><item><title>The day after DDD6</title><link>https://blogs.blackmarble.co.uk/rfennell/the-day-after-ddd6/</link><pubDate>Sun, 25 Nov 2007 21:26:08 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/the-day-after-ddd6/</guid><description>
&lt;p>Got back from DDD6 late last night after our 5am start. After what seemed a short nights sleep I got up to do the &lt;a href="http://www.helptheaged.org.uk/en-gb/HowYouCanHelp/Events/Running/LeedsAbbeyDash/default.htm">Abbey Dash&lt;/a> 10K in Leeds this morning with 6000 other runners, posting a 47 minute time, which I suppose is OK given the complete lack training of late due to conferences of late and I was hampered by tripping over some wire left in the road near the start and cutting my knee open!&lt;/p></description></item><item><title>Interesting change to TFS licensing</title><link>https://blogs.blackmarble.co.uk/rfennell/interesting-change-to-tfs-licensing/</link><pubDate>Fri, 23 Nov 2007 21:16:16 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/interesting-change-to-tfs-licensing/</guid><description>
&lt;p>Just seen a post on &lt;a href="http://blogs.msdn.com/bharry/archive/2007/11/23/tfs-licensing-change-for-tfs-2008.aspx">Brian Harry's blog&lt;/a> that the license has been changed for TFS. You no longer need a CAL for all users who connect to the TFS server, a special case of users has been created, those who can create work items, but do little else. You now have an unlimited number of theses as standard.&lt;/p>
&lt;p>Why is this good? it means you can have anyone in a company connect to the TFS server to log bugs or change requests. Previously to do this means you bought a lot of CALs, or very naughtily ignored he license, so this is good sensible move.&lt;/p></description></item><item><title>System Security</title><link>https://blogs.blackmarble.co.uk/rfennell/system-security/</link><pubDate>Fri, 23 Nov 2007 11:04:10 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/system-security/</guid><description>
&lt;p>While I was presenting yesterday at the second of &lt;a href="http://www.blackmarble.co.uk/SectionDisplay.aspx?name=Events">Black Marble's events&lt;/a> on Windows 2008 to a group of IT professionals, I suggested that they look at &lt;a href="http://www.amazon.co.uk/Writing-Secure-Code-M-Howard/dp/0735615888/ref=sr_1_1?ie=UTF8&amp;amp;s=books&amp;amp;qid=1195815272&amp;amp;sr=1-1" title="http://www.amazon.co.uk/Writing-Secure-Code-M-Howard/dp/0735615888/ref=sr_1_1?ie=UTF8&amp;amp;s=books&amp;amp;qid=1195815272&amp;amp;sr=1-1">'Writing Secure Code' by Michael Howard and David LeBlanc&lt;/a> to get a good view of security in depth and risk analysis. On second thoughts, this book might be a bit too developer focused. I think Michael Howard's new book with Steve Lipner &lt;a href="http://www.amazon.com/Security-Development-Lifecycle-Michael-Howard/dp/0735622140" title="http://www.amazon.com/Security-Development-Lifecycle-Michael-Howard/dp/0735622140">&amp;quot;The Security Development Lifecycle&amp;quot;&lt;/a> might be a bit more appropriate read (though it does not seem to be available on Amazon UK yet, should be there soon).&lt;/p></description></item><item><title>Fun with a DDD6 demo</title><link>https://blogs.blackmarble.co.uk/rfennell/fun-with-a-ddd6-demo/</link><pubDate>Sat, 17 Nov 2007 22:45:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/fun-with-a-ddd6-demo/</guid><description>
&lt;p>I have been working on my &lt;a href="http://www.developerday.co.uk/ddd/agendaddd6lineup.asp">DDD6&lt;/a> demo, I intend to show &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=55A4BDE6-10A7-4C41-9938-F388C1ED15E9&amp;amp;displaylang=en">eScrum&lt;/a> at end of my session on Scrum. I thought I would use the VPC I had from DDD5, this was based on the TFS Orcas Beta1 and had all the tools I wanted configured. To get some more realistic data in the reports I wanted to leave TFS server running for a week and on a daily basis update the work items as if the project was progressing.&lt;/p></description></item><item><title>Updating an Ajax Application</title><link>https://blogs.blackmarble.co.uk/rfennell/updating-an-ajax-application/</link><pubDate>Mon, 12 Nov 2007 21:17:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/updating-an-ajax-application/</guid><description>
&lt;p>Our home grown work tracking system has been through many versions over the years. The current incarnation was using a pre-release version of the Microsoft AJAX extensions. Now this caused a problem when we moved the ASP.NET application to a newly rebuilt IIS server with the 1.0 release version of AJAX.&lt;/p>
&lt;p>We were getting errors that the correct System.Web.Extensions DLL could not be found, as you would expect. I rebuilt the application using Visual Studio 2005 with the AJAX 1.0 Release installed, and published this build. I tried to load the application and the browser went into a tight loop, not what I expected. I checked the server event log and found the issue was that in the published web.config file there was a reference to a Crystal Reports DLL (which we have not used for years). Once I removed this reference from the web.confg the site worked perfectly.&lt;/p></description></item><item><title>When you think it cannot get worse...</title><link>https://blogs.blackmarble.co.uk/rfennell/when-you-think-it-cannot-get-worse/</link><pubDate>Sat, 10 Nov 2007 11:35:48 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/when-you-think-it-cannot-get-worse/</guid><description>
&lt;p>... you end up presenting at TechEd.&lt;/p>
&lt;p>Yesterday was fun (of a sort) I ended up doing the demo section of the &lt;a href="http://msdn2.microsoft.com/en-us/library/bb931189.aspx">ESB Guidance&lt;/a> session at TechEd. This session was scheduled to be done by &lt;a href="http://blogs.blackmarble.co.uk/blogs/boss/archive/2007/10/11/teched-2007-developer-here-i-come.aspx">Robert Hogg (Black Marble) and Ewan Fairweather (Microsoft)&lt;/a> but Ewan had to fly home early unexpectedly on Friday morning, so leaving somewhat of a gap.&lt;/p>
&lt;p>So you say, 'that is not too bad you just step in and do the prepared and scripted demo'. Well in a perfect world you would, but about 6 hours before our session was on the formal release of  ESB 1.0 was posted to the MSDN site. As our demo was based on a CTP build, and as we knew the final release was somewhat different, we thought it only right to at least show the new documentation and file structures. So a hectic few hours were had by all.&lt;/p></description></item><item><title>TechEd Barcelona - update</title><link>https://blogs.blackmarble.co.uk/rfennell/teched-barcelona-update/</link><pubDate>Wed, 07 Nov 2007 10:04:14 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/teched-barcelona-update/</guid><description>
&lt;p>I have not been blogging much from here have I, it is not that the sessions are not that interesting, but no single item has been giving me an huge urge to write.&lt;/p>
&lt;p>As I said in my last post I think this is a conference of best practice ideas and as such you tend to pick up a useful nugget here and there which you store away for future use. This is particularity relevant as at present I am reviewing our engineering process to improve our software development life cycle.&lt;/p></description></item><item><title>No sizzle and not much sausage</title><link>https://blogs.blackmarble.co.uk/rfennell/no-sizzle-and-not-much-sausage/</link><pubDate>Mon, 05 Nov 2007 14:59:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/no-sizzle-and-not-much-sausage/</guid><description>
&lt;p>The keynote at TechEd was as expected, we all knew about the impending release  of VS2008, and still no fixed date yet (so no sausage there) and not really anything announced product wise that was not already in the blog sphere (so no real sizzle).&lt;/p>
&lt;p>I think this is going to be conference on delivering on last years promises; how to get the best from the tools and technology announced last year, now that they are now really production ready and the early adopters have had a year to play with them.&lt;/p></description></item><item><title>How to create a community</title><link>https://blogs.blackmarble.co.uk/rfennell/how-to-create-a-community/</link><pubDate>Mon, 05 Nov 2007 13:00:39 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/how-to-create-a-community/</guid><description>
&lt;p>Just come out of an interesting set of round table events for 'community influencers' at TechEd. These are people who are active in both the online and face-to-face communities from all round Europe (and Australia - the reach of TechEd Europe!) attended.&lt;/p>
&lt;p>In the sessions I went to the general discussion was on the point I &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/archive/2007/10/18/a-long-day-of-seminars.aspx">posted&lt;/a> about a few weeks ago and that had been a running conversions on a number of UK blogs. I was refeshing (or sad?) to find the problems we have seen at home over attendance are the same around Europe:&lt;/p></description></item><item><title>Waiting to watch paint start to dry</title><link>https://blogs.blackmarble.co.uk/rfennell/waiting-to-watch-paint-start-to-dry/</link><pubDate>Mon, 05 Nov 2007 12:45:53 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/waiting-to-watch-paint-start-to-dry/</guid><description>
&lt;p>I am now sitting in the keynote waiting for the session to start - they have graffiti artists on the stage - I wonder if it is a homarge to that great &lt;a href="http://en.wikipedia.org/wiki/Graffiti_%28Palm_OS%29">Palm Pilot handwriting text entry language&lt;/a>?&lt;/p>
&lt;p>Or is my my chance to say that that 'this  keynote I could actually watch paint dry'?&lt;/p>
&lt;p>Oh... the paint fumes are starting to get to me............................&lt;/p></description></item><item><title>If it is Monday it must be Barcelona</title><link>https://blogs.blackmarble.co.uk/rfennell/if-it-is-monday-it-must-be-barcelona/</link><pubDate>Mon, 05 Nov 2007 09:09:23 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/if-it-is-monday-it-must-be-barcelona/</guid><description>
&lt;p>What an awful journey I have had since my last post, the trip back from the USA was fine; the problems started getting from the UK to Spain. Basically fog at Liverpool stopped all flights so we had to change airline and airport to get here in time for the TechEd conference. Should have been here by noon on Sunday and actually got here nearer 9pm, so no sigh seeing for me.&lt;/p></description></item><item><title>Last day at SOA - day 4</title><link>https://blogs.blackmarble.co.uk/rfennell/last-day-at-soa-day-4/</link><pubDate>Fri, 02 Nov 2007 22:10:17 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/last-day-at-soa-day-4/</guid><description>
&lt;p>Seems quiet here today at the SOA conference, less people about. I wonder how many have sneaked off early for flights? It does seem to be mostly Europeans left, judging by the languages I have heard.&lt;/p>
&lt;p>This does not mean parking was easy this morning, as in the same conference center Bill Gates and Bill Clinton are speaking at an MSPAC event. Now a bit of google'ing shows MSPAC is either:&lt;/p></description></item><item><title>Channel 9 Interview with Robby Ingebretsen</title><link>https://blogs.blackmarble.co.uk/rfennell/channel-9-interview-with-robby-ingebretsen/</link><pubDate>Fri, 02 Nov 2007 16:23:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/channel-9-interview-with-robby-ingebretsen/</guid><description>
&lt;p>When at &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/archive/2007/09/12/mix-07-day-2.aspx">Mix07 I posted about Robby Ingebretsen's excellent session&lt;/a> on the relationship between developers and designers in the WPF/Silverlight world.&lt;/p>
&lt;p>&lt;a href="http://channel9.msdn.com/ShowPost.aspx?PostID=353035#353035">Channel9 has just posted an interview&lt;/a> with him on the same subject, well worth looking at if this is the type of project you are involved in.&lt;/p></description></item><item><title>A trip out to a Seattle Landmark</title><link>https://blogs.blackmarble.co.uk/rfennell/a-trip-out-to-a-seattle-landmark/</link><pubDate>Fri, 02 Nov 2007 05:46:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/a-trip-out-to-a-seattle-landmark/</guid><description>
&lt;p>There is more to Seattle than the &lt;a href="http://www.spaceneedle.com/">Space Needle&lt;/a> and flying fish at &lt;a href="http://www.pikeplacefish.com/">Pike Place Market&lt;/a>. At the end of the SOA conference today I persuaded Robert to embark on a tourist adventure, to brave the Seattle traffic and go to &lt;a href="http://www.mcphee.com/">Archie McPhee&lt;/a> &amp;quot;&lt;em>Outfitters of Popular Culture&amp;quot;&lt;/em> . It should have been a 20 minute drive... hour and half later of nose to tail traffic we arrived.&lt;/p>
&lt;p>Now I had come across Archie McPhee years ago when my ex wife had been on the &lt;a href="http://www.clarionwest.org/website/">Clarion West SF writers camp&lt;/a>, and she came back with the strangest plastic frog in fur white rabbit suit; I always wonder what the person who made it in China think of the west?&lt;/p></description></item><item><title>Thoughts from the SOA conference - day 3</title><link>https://blogs.blackmarble.co.uk/rfennell/thoughts-from-the-soa-conference-day-3/</link><pubDate>Thu, 01 Nov 2007 23:55:03 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/thoughts-from-the-soa-conference-day-3/</guid><description>
&lt;p>As with all conferences you tend to flag part way through, you start to think of the flight home and not having to sit in yet another session (no matter how interesting it sound on paper). It starts to seem all sessions are either in a cold draft or tropical atmosphere. At this point I have to say I am not looking forward to another conference next week at TechEd Barcelona, I could do with a holiday! Now I am sure some will say a conference is a holiday, but I rarely find them so, holidays do not involve PowerPoint (with maybe the exception of Triathlon training camps, but many people would say they are not holidays either)&lt;/p></description></item><item><title>Microsoft SOA Conference - day 2</title><link>https://blogs.blackmarble.co.uk/rfennell/microsoft-soa-conference-day-2/</link><pubDate>Thu, 01 Nov 2007 02:51:40 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/microsoft-soa-conference-day-2/</guid><description>
&lt;p>I have focused on the the more developer end of SOA today. In the morning excellent sessions by &lt;a href="http://www.pluralsight.com/blogs/aaron/">Aaron Skonnard&lt;/a> and &lt;a href="http://www.pluralsight.com/blogs/matt/default.aspx">Matt Milner&lt;/a> on using WCF in BizTalk and best WF practices respectively, both provided an interesting set of gotta's to look out for. Check their blogs if this is an area you work in.&lt;/p>
&lt;p>In the afternoon I went to a session on the &lt;a href="http://servicesengine">Microsoft Managed Service Engine&lt;/a> (MSE), a set of tools to allow versioning of services using in effect a WCF based proxy broker. Not a solution for every site, but in an ESB SOA world it could really save the day if you want an Agile development model, where you have to change WDSL contracts as a system evolves. My only worry would be how far it can go with the XML transforms to keep old clients working with new contracts. You still need a depreciation model which might be an issue - but even if this is the case a potentially very useful tool I am sure I will be revisiting.&lt;/p></description></item><item><title>Buzzword bingo 2</title><link>https://blogs.blackmarble.co.uk/rfennell/buzzword-bingo-2/</link><pubDate>Thu, 01 Nov 2007 01:55:04 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/buzzword-bingo-2/</guid><description>
&lt;p>Not a great day for new buzzwords to me at the SOA conference today, so just the one:&lt;/p>
&lt;ul>
&lt;li>POX - &lt;a href="http://en.wikipedia.org/wiki/Plain_Old_XML">Plain Old XML&lt;/a>, as opposed to XML data with extra META data&lt;/li>
&lt;/ul></description></item><item><title>Where are all the people?</title><link>https://blogs.blackmarble.co.uk/rfennell/where-are-all-the-people/</link><pubDate>Wed, 31 Oct 2007 16:44:29 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/where-are-all-the-people/</guid><description>
&lt;p>Since arriving in the Bellevue/Redmond area I have been struck by the lack of people. Wherever I have gone it seems like the place was built for at least twice the number that are present, whether it be the shopping centers or restaurants. I wondered was it because:&lt;/p>
&lt;ol>
&lt;li>the others are soon to arrive&lt;/li>
&lt;li>half the people left&lt;/li>
&lt;/ol>
&lt;p>Now after traveling in to the conference for a couple of days and watching the local news I have the answer, It is option 1. - they are all stuck in traffic.&lt;/p></description></item><item><title>Microsoft SOA Conference - end of day 1</title><link>https://blogs.blackmarble.co.uk/rfennell/microsoft-soa-conference-end-of-day-1/</link><pubDate>Wed, 31 Oct 2007 02:51:53 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/microsoft-soa-conference-end-of-day-1/</guid><description>
&lt;p>So my thoughts at the end of day....&lt;/p>
&lt;p>Certainly a useful day, but the conference seems a little slow. The breaks seem long,the sessions short and the breakout sessions finished quite early in the day. Maybe I am just used to the crammed in format of TechEd that go on late into the evening.&lt;/p>
&lt;p>On the plus side this format does give a good chance to chat to other attendees, who seem very chatty and are from a wide variety of locations across the world; though nearly all white and male, an even less diverse group than at &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/archive/2007/09/12/end-of-the-first-day-mix07-uk.aspx">Mix UK&lt;/a>! What does this say about the IT industry or maybe more to the point who gets to go to conferences?&lt;/p></description></item><item><title>Mission control we have a problem</title><link>https://blogs.blackmarble.co.uk/rfennell/mission-control-we-have-a-problem/</link><pubDate>Tue, 30 Oct 2007 23:13:47 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/mission-control-we-have-a-problem/</guid><description>
&lt;p>Sitting here at the back of the Kodiak room at the Microsoft Conference Center in Redmond is somewhat similar to the &lt;a href="http://www.jpl.nasa.gov/index.cfm">control room at JPL&lt;/a> which I went to on my last trip to the USA.&lt;/p>
&lt;p>&lt;a href="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/soa1_2.jpg">&lt;img
loading="lazy"
decoding="async"
alt="soa1"
class="image_figure image_internal image_unprocessed"
src="https://blogs.blackmarble.co.uk/wp-content/uploads/sites/2/historic/soa1_thumb.jpg"
/>
&lt;/a>&lt;/p>
&lt;p>All is can see is a sea of laptops and heads just visible over the rows of desks.&lt;/p>
&lt;p>It is nice to have a desk and easy access to power and Internet - all conferences should be this way.&lt;/p></description></item><item><title>SOA Buzzword Bingo Part 1</title><link>https://blogs.blackmarble.co.uk/rfennell/soa-buzzword-bingo-part-1/</link><pubDate>Tue, 30 Oct 2007 20:46:45 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/soa-buzzword-bingo-part-1/</guid><description>
&lt;p>SOA being a conference on business process is a great place to learn new words for the game of &lt;a href="http://en.wikipedia.org/wiki/Buzzword_bingo">buzzword bingo&lt;/a>,  new ones to me thus far are:&lt;/p>
&lt;ul>
&lt;li>&lt;em>Onboarding&lt;/em> - to hire staff&lt;/li>
&lt;li>&lt;em>Toast&lt;/em> - information provided via a gadget on the desktop&lt;/li>
&lt;/ul></description></item><item><title>Microsoft SOA Conference Day 1</title><link>https://blogs.blackmarble.co.uk/rfennell/microsoft-soa-conference-day-1/</link><pubDate>Tue, 30 Oct 2007 20:32:05 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/microsoft-soa-conference-day-1/</guid><description>
&lt;p>After a couple of days in the Washington state my body has caught up to a manageable time zone (somewhere east of Denver I think, but that is close enough) just in time for for the start of the &lt;a href="http://www.mssoaandbpconference.com/">Microsoft SOA 2007 conference&lt;/a>.&lt;/p>
&lt;p>The keynote for me highlighted that Microsoft see the future in the cloud, the &lt;a href="http://www.biztalk.net/Overview.aspx">Internet Service Bus&lt;/a> (ISB) as opposed to silo'd Enterprise Service Buses (ESB). Now this assumes customers have gone down the &lt;a href="http://en.wikipedia.org/wiki/Service-oriented_architecture">SOA&lt;/a> route already, which I would say is not the case in the SME market I work in. I still see many monolithic legacy applications where migration to SOA has not been considered yet.&lt;/p></description></item><item><title>Vista high CPU on startup</title><link>https://blogs.blackmarble.co.uk/rfennell/vista-high-cpu-on-startup/</link><pubDate>Tue, 30 Oct 2007 17:12:58 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/vista-high-cpu-on-startup/</guid><description>
&lt;p>For a while I have been suffering that when I switch on my Acer Core2 Duo Vista laptop, both cores sometimes go to 85%+ utilization, so the PC is slooooow. Usually after a few reboots it seems to clear. This can happen after a resume from hibernate and complete restart; there was no obvious pattern. Task manager only says that the load is due to the &lt;strong>NT Kernel&lt;/strong> process - so not much help there.&lt;/p></description></item><item><title>DDD6</title><link>https://blogs.blackmarble.co.uk/rfennell/ddd6/</link><pubDate>Fri, 26 Oct 2007 17:42:01 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/ddd6/</guid><description>
&lt;p>I have been on holiday for a week and I see that registration for DDD6 has opened and closed - good job my session was voted onto the agenda else I would not be going.&lt;/p>
&lt;p>Thanks to anyone who voted for my session, see you there.&lt;/p></description></item><item><title>Bradford the 'greenest city'</title><link>https://blogs.blackmarble.co.uk/rfennell/bradford-the-greenest-city/</link><pubDate>Sat, 20 Oct 2007 20:38:31 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/bradford-the-greenest-city/</guid><description>
&lt;p>I see Bradford, where the Black Marble offices are, has been ranked the &lt;a href="http://news.bbc.co.uk/1/hi/uk/7054310.stm">greenest city in the UK&lt;/a>. Strange that at the &lt;a href="http://www.velocitybradford.com/">technology centre&lt;/a> we are in there is no recycling at all, not for paper, cans or plastic.&lt;/p>
&lt;p>We have asked if such a service can be laid on (developers drink a lot of can of coke), but were told that recycling is not a service offered as part of the council's commercial refuse collection service.&lt;/p></description></item><item><title>A long day of seminars</title><link>https://blogs.blackmarble.co.uk/rfennell/a-long-day-of-seminars/</link><pubDate>Thu, 18 Oct 2007 21:50:39 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/a-long-day-of-seminars/</guid><description>
&lt;p>Just got home from a long day of Black Marble hosted presentations. This morning I was presenting on SQL 2008, seemed to go well. This afternoon it was a very busy MSDN session by &lt;a href="http://www.martinparry.com/">Martin Parry&lt;/a> and &lt;a href="http://www.danielmoth.com/Blog/">Daniel Moth&lt;/a> from the Microsoft DPE team on VS2008 and .NET 3.5. Finally this evening there was a interesting community event on the .NET Micro Framework by &lt;a href="http://www.robmiles.com/">Rob Miles&lt;/a>, the same session he is doing at TechEd in Barcelona, worth getting along to if you are there, if not try the &lt;a href="http://www.amazon.com/Embedded-Programming-Microsoft-Micro-Framework/dp/0735623651/ref=sr_11_1/104-5509811-3112749?ie=UTF8&amp;amp;qid=1177055927&amp;amp;sr=11-1">book&lt;/a>.&lt;/p></description></item><item><title>SQLBit Podcast</title><link>https://blogs.blackmarble.co.uk/rfennell/sqlbit-podcast/</link><pubDate>Sat, 13 Oct 2007 22:15:33 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/sqlbit-podcast/</guid><description>
&lt;p>Craig Murphy has just &lt;a href="http://www.craigmurphy.com/blog/?p=726">posted a podcast&lt;/a> we did at SQLBits last weekend.&lt;/p>
&lt;p>Enjoy............&lt;/p></description></item><item><title>DDD news</title><link>https://blogs.blackmarble.co.uk/rfennell/ddd-news/</link><pubDate>Fri, 12 Oct 2007 13:23:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/ddd-news/</guid><description>
&lt;p>The &lt;a href="http://www.developerday.co.uk/ddd/agendaddd6.asp">voting for DDD6&lt;/a> is now open - as I always say &lt;em>vote early vote often.&lt;/em>&lt;/p>
&lt;p>I hope my submission of a proposal for a session on Scrum is of interest. I know I have had feedback on my previous sessions that people want to know more on this area.&lt;/p>
&lt;p>Also saw today on &lt;a href="http://blog.colinmackay.net/archive/2007/10/12/515.aspx">Colin Angus Mackey's blog that DDD7 DDD Scotland will be in May 2008 at Glasgow Caledonian University&lt;/a>. Well another 3+ hour drive but in a different direction! It will be interesting to see if the change of location alters attendance&lt;/p></description></item><item><title>Agile Workshop by Clarke Ching</title><link>https://blogs.blackmarble.co.uk/rfennell/agile-workshop-by-clarke-ching/</link><pubDate>Fri, 12 Oct 2007 08:18:05 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/agile-workshop-by-clarke-ching/</guid><description>
&lt;p>Last night went to an excellent free meeting at the &lt;a href="http://www.extremeprogrammingclub.com/">Yorkshire Extreme programming Club&lt;/a> given by &lt;a href="http://www.clarkeching.com/">Clarke Ching&lt;/a> entitled :&lt;/p>
&lt;p>&lt;em>Programmers may be from Mars, Customers may be from Venus ...&lt;br>
but why does everyone think that Project Managers are from Uranus?&lt;/em>&lt;/p>
&lt;p>From the title I was unsure of the content, other than it would be about project management. It turned out to be a workshop on using formal conflict resolution techniques to dig into problems in projects to find solutions and to expose underlying patterns - very interesting. This is set of techniques I had come across (I did got to Bradford University which has a well know &lt;a href="http://www.brad.ac.uk/acad/peace/">Peace Studies&lt;/a> department that studies just this area) but had not considered their use in project management.&lt;/p></description></item><item><title>I think I got away with it!</title><link>https://blogs.blackmarble.co.uk/rfennell/i-think-i-got-away-with-it/</link><pubDate>Sat, 06 Oct 2007 21:23:14 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/i-think-i-got-away-with-it/</guid><description>
&lt;p>I have just got back from &lt;a href="http://www.sqlbits.com/">SQLBits&lt;/a> after giving my session on &lt;em>Unit testing in SQL.&lt;/em> As I said at the start of my session, at developer events I often feel a bit of an outsider when I say I am talking on testing as opposed to development; today  it was doubly so when surround by so many DBAs. I have to say some of the sessions I attended seemed to be from a completely different world to my day to day work. Hey but that is what makes IT interesting is it not?&lt;/p></description></item><item><title>Javascript errors with Escrum</title><link>https://blogs.blackmarble.co.uk/rfennell/javascript-errors-with-escrum/</link><pubDate>Thu, 04 Oct 2007 17:59:21 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/javascript-errors-with-escrum/</guid><description>
&lt;p>Whilst sorting our eScrum installation I kept getting a variety of Javascript errors when selecting a project using the dialog on the top right of the main web form. I also was unable to create new product via the web site.&lt;/p>
&lt;p>It turned out to be two problems:&lt;/p>
&lt;p>&lt;strong>Templates&lt;/strong>&lt;/p>
&lt;p>Some the projects I had registered to be used via the Escrum web site were not using the eScrum template, they were using the Conchango Scrum one.&lt;/p></description></item><item><title>TFS Update to 2008 Beta2 and Escrum Admin</title><link>https://blogs.blackmarble.co.uk/rfennell/tfs-update-to-2008-beta2-and-escrum-admin/</link><pubDate>Tue, 02 Oct 2007 13:33:49 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/tfs-update-to-2008-beta2-and-escrum-admin/</guid><description>
&lt;p>As I posted before I have been updating our TFS server to 2008 Beta2, today it was the WSS from 2.0 to 3.0. Well I followed the &lt;a href="http://blogs.msdn.com/sudhir/archive/2007/05/31/upgrade-2005-with-wss2-0-to-orcas-wss3-0.aspx">process on Sudhir Hasbe's blog&lt;/a> and it just worked, so now we have WSS3.0 running the the TFS application tier. The final step will be to move the SharePoint sites to our main MOSS 2007 farm, but that is for another day.&lt;/p>
&lt;p>As part of today's upgrade I was working on process templates. We use Escrum but I had noticed our Escrum web site was not showing all the projects using that template. I had completely forgotten that you had to manually add Team Projects to the Escrum web site. This is done using a URL like:&lt;/p></description></item><item><title>Upgrading from TFS2005 to TFS 2008 'Orcas' Beta 2</title><link>https://blogs.blackmarble.co.uk/rfennell/upgrading-from-tfs2005-to-tfs-2008-orcas-beta-2/</link><pubDate>Fri, 28 Sep 2007 18:59:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/upgrading-from-tfs2005-to-tfs-2008-orcas-beta-2/</guid><description>
&lt;p>Today I decided to bite the bullet and upgrade our 'live' TFS installation to 2008 Beta2, now there is support from Microsoft. The only reason I have delayed this long has been we have been involved in the delivery of a big project and I did not want to take the TFS server down for any reason.&lt;/p>
&lt;p>Our TFS installation is dual server, the data tier (DT) running on our central SQL2005 64bit server and the application tier (AT) on a virtual server as a VPC. I have kept the AT virtual as it is easy to backup.&lt;/p></description></item><item><title>GUITester and CodePlex</title><link>https://blogs.blackmarble.co.uk/rfennell/guitester-and-codeplex/</link><pubDate>Mon, 24 Sep 2007 13:30:46 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/guitester-and-codeplex/</guid><description>
&lt;p>Due to popular demand, well one person, I have uploaded my &lt;a href="http://blogs.blackmarble.co.uk/blogs/bm-bloggers/archive/2005/03/23/187.aspx">GUITester system I presented about at DDD3&lt;/a> to CodePlex. It can be found at &lt;a href="http://www.codeplex.com/guitester" title="http://www.codeplex.com/guitester">http://www.codeplex.com/guitester&lt;/a>.&lt;/p>
&lt;p>If you are interested in moving the project forward let me know.&lt;/p></description></item><item><title>Disaster Recovery in TFS</title><link>https://blogs.blackmarble.co.uk/rfennell/disaster-recovery-in-tfs/</link><pubDate>Thu, 20 Sep 2007 17:42:28 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/disaster-recovery-in-tfs/</guid><description>
&lt;p>If you are having to support a TFS install there have been some excellent posts on disaster recovery on &lt;a href="http://blogs.msdn.com/sudhir/">Sudhir Hasbe's&lt;/a> blog, he is a PM on the TFS team.&lt;/p>
&lt;p>Well worth a read.&lt;/p></description></item><item><title>Speaking at NxtGenUG Birmingham</title><link>https://blogs.blackmarble.co.uk/rfennell/speaking-at-nxtgenug-birmingham/</link><pubDate>Thu, 20 Sep 2007 17:37:51 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/speaking-at-nxtgenug-birmingham/</guid><description>
&lt;p>I will be speaking at &lt;a href="http://www.nxtgenug.net/EventList.aspx?Un=1">NxtGen usergroup Birmingham&lt;/a> branch on the 17th December about, you guessed it TFS.&lt;/p>
&lt;p>Look forward to seeing you there.&lt;/p></description></item><item><title>Last nights Bristol .NET Developers Network usergroup meeting.</title><link>https://blogs.blackmarble.co.uk/rfennell/last-nights-bristol-net-developers-network-usergroup-meeting/</link><pubDate>Thu, 20 Sep 2007 17:33:12 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/last-nights-bristol-net-developers-network-usergroup-meeting/</guid><description>
&lt;p>As I sit on the train traveling north to our &lt;a href="http://www.blackmarble.co.uk/SectionDisplay.aspx?name=Events">Black Marble hosted MSDN event&lt;/a> I must write to say how much I enjoyed presenting at last night's .&lt;a href="http://www.dotnetdevnet.com/">NET Developers Network&lt;/a> usergroup meeting; thanks to &lt;a href="http://www.guysmithferrier.com/">Guy Smith Ferrier&lt;/a> and the whole group for getting it organized.&lt;/p>
&lt;p>I think I managed to cover all the questions raised about TFS during the meeting. I have been through my slides to add notes to clarify any points raised. The updated set of the slide stack can be downloaded from &lt;a href="http://www.blackmarble.co.uk/SectionDisplay.aspx?name=Publications&amp;amp;subsection=Conference%20Papers" title="http://www.blackmarble.co.uk/SectionDisplay.aspx?name=Publications&amp;amp;subsection=Conference%20Papers">http://www.blackmarble.co.uk/SectionDisplay.aspx?name=Publications&amp;amp;subsection=Conference%20Papers&lt;/a>.&lt;/p></description></item><item><title>TV Mashup</title><link>https://blogs.blackmarble.co.uk/rfennell/tv-mashup/</link><pubDate>Sat, 15 Sep 2007 17:39:10 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/tv-mashup/</guid><description>
&lt;p>I have had a week of Web 2.0 &lt;a href="http://en.wikipedia.org/wiki/Mashup_%28web_application_hybrid%29">mashup&lt;/a> sites at the MIx07 London event so was interested in a thing on the TV last night whilst watching England's appalling performance against South Africa in the rugby.&lt;/p>
&lt;p>eBay ran adverts with a virtually real time feed (20 second delay they claimed) from a live auction. Now I have never seen this before, maybe I just don't watch ITV enough, so this is the first Internet/broadcast TV mashup I have seen. I wonder how much the sale prices of the lucky items featured in the adverts are affected?&lt;/p></description></item><item><title>SQLBits</title><link>https://blogs.blackmarble.co.uk/rfennell/sqlbits/</link><pubDate>Fri, 14 Sep 2007 11:55:14 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/sqlbits/</guid><description>
&lt;p>I have just heard my proposed session for the &lt;a href="http://www.sqlbits.com/">SQLBits conference&lt;/a> has been accepted. I will be talking on &lt;strong>Unit Testing in SQL Server&lt;/strong> my proposal was:&lt;/p>
&lt;p>&lt;em>Test driven development is one of the current hot topics in software development, but how far can these principles be applied in the world of SQL? In this session I will look at the principles of TDD and other testing options using both freeware tools and Microsoft’s Visual Studio Datadude&lt;/em>&lt;/p></description></item><item><title>MIX 07 Day 2</title><link>https://blogs.blackmarble.co.uk/rfennell/mix-07-day-2/</link><pubDate>Wed, 12 Sep 2007 16:32:58 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/mix-07-day-2/</guid><description>
&lt;p>See I was right, in my &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/archive/2007/09/12/end-of-the-first-day-mix07-uk.aspx">post yesterday&lt;/a> I said the key role missing in most WPF projects was the 'designer who can cut code' or 'coder with a design eye', the session &lt;strong>&lt;em>Silverlight, WPF, Expression design projects - where do we get started&lt;/em>&lt;/strong> today was on just this subject &lt;strong>Paul Dawson&lt;/strong> and &lt;strong>Robby Ingebretsen&lt;/strong> discussed the need for 'producers' who take on this bridging role, with tips on where to find them.&lt;/p></description></item><item><title>End of the first day @ Mix07 UK</title><link>https://blogs.blackmarble.co.uk/rfennell/end-of-the-first-day-mix07-uk/</link><pubDate>Wed, 12 Sep 2007 10:12:32 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/end-of-the-first-day-mix07-uk/</guid><description>
&lt;p>So we reach the end of the first day of Mix07 London, what are my thoughts? Well the conference, as conference go, is well organized and I can have no complaint over the quality of the sessions or presenters.&lt;/p>
&lt;p>Has it changed how I think about Silverlight? Well I have realised that 1.0 is a very different product to 1.1. Have no doubt this conference is about SilverLight 1.1, and that the 1.1 Alpha release is missing a lot of functionality at present. As a shipping product 1.1 look a long way off, at least a year (which is forever it seems in the world of Web 2.0).&lt;/p></description></item><item><title>Where is the beer and sandwiches?</title><link>https://blogs.blackmarble.co.uk/rfennell/where-is-the-beer-and-sandwiches/</link><pubDate>Tue, 11 Sep 2007 12:41:43 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/where-is-the-beer-and-sandwiches/</guid><description>
&lt;p>Today and tomorrow I am at the &lt;a href="http://www.microsoft.com/uk/mix07/">Mix07&lt;/a> conference in London which is being held at the &lt;a href="http://www.congresscentre.co.uk/">Congress Centre&lt;/a>, a building that I knew as the Trade Union Congress building. So given this location I expected a Harold Wilson 'beer and sandwiches' style lunch, but no it was small food (very nice tapas style dishes) and as we all know - if it is small and food it is trendy. You know you are at a design orientated event when the even the food is trendy!&lt;/p></description></item><item><title>TFS and CruiseControl</title><link>https://blogs.blackmarble.co.uk/rfennell/tfs-and-cruisecontrol/</link><pubDate>Sun, 09 Sep 2007 20:23:10 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/tfs-and-cruisecontrol/</guid><description>
&lt;p>I am speaking at the &lt;a href="http://www.dotnetdevnet.com/Home/tabid/36/Default.aspx">.NET User group in Bristol&lt;/a> next week and have been putting some final touches to my demos.&lt;/p>
&lt;p>One thing I will be talking about is using &lt;a href="http://www.codeplex.com/Wiki/View.aspx?ProjectName=TFSCCNetPlugin">CruiseControl with TFS&lt;/a>. Whilst getting this running on my demo VPC I hit a problem. I did a default install of CruiseControl .Net 1.3, this was on top of a Visual Studio TFS Orcas VPC I had built for &lt;a href="http://www.developerday.co.uk/ddd/slides.asp">DDD5&lt;/a>.&lt;/p>
&lt;p>When I tried to load the CCNet WebDashBoard (installed onto the default web site) I got an error:&lt;/p></description></item><item><title>It's conference season</title><link>https://blogs.blackmarble.co.uk/rfennell/its-conference-season/</link><pubDate>Fri, 07 Sep 2007 11:18:23 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/its-conference-season/</guid><description>
&lt;p>I am off to loads of conferences and event in the next few week, you wait all year for one then they all come together.....&lt;/p>
&lt;p>Next week&lt;/p>
&lt;ul>
&lt;li>&lt;a href="http://www.microsoft.com/uk/mix07/">Mix07&lt;/a> - London&lt;/li>
&lt;li>&lt;a href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032348074&amp;amp;Culture=en-GB">Office Business Applications Architect Forum&lt;/a> - London&lt;/li>
&lt;/ul>
&lt;p>This month&lt;/p>
&lt;ul>
&lt;li>&lt;a href="http://www.blackmarble.co.uk/events.aspx?event=MSDN:%20Introduction%20to%20.NET%20Framework%20V3.0%20%28including%20sneak%20preview%20of%20v3.5%20changes%29%20%28Martin%20Parry%20and%20Mike%20Taulty%29">MSDN: Introduction to .NET Framework V3.0&lt;/a> - Leeds (hosted by Black Marble)&lt;/li>
&lt;li>&lt;a href="http://www.mssoaandbpconference.com/">Microsoft SOA and Business Process Conference 2007&lt;/a> - Seattle&lt;/li>
&lt;/ul>
&lt;p>Next month&lt;/p>
&lt;ul>
&lt;li>&lt;a href="http://www.mseventseurope.com/TechEd/07/Developers/Pages/Default.aspx">TechEd Developer 2007&lt;/a> - Barcelona&lt;/li>
&lt;li>&lt;a href="http://www.blackmarble.co.uk/events.aspx?event=MSDN:%20What%e2%80%99s%20new%20in%20Visual%20Studio%202008%20and%20.NET%20Fx%203.5%20for%20the%20Web%20Developer%20%28Martin%20Parry%20and%20Daniel%20Moth%29">MSDN: What’s new in Visual Studio 2008 and .NET Fx 3.5 for the Web Developer&lt;/a> - Leeds (hosted by Black Marble)&lt;/li>
&lt;li>&lt;a href="http://www.sqlbits.com/">SQLBits&lt;/a> - Reading&lt;/li>
&lt;/ul>
&lt;p>I aim to blog from all of them WiFi and batteries allowing&lt;/p></description></item><item><title>New version of Live Writer</title><link>https://blogs.blackmarble.co.uk/rfennell/new-version-of-live-writer/</link><pubDate>Fri, 07 Sep 2007 10:37:14 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/new-version-of-live-writer/</guid><description>
&lt;p>&lt;a href="http://windowslivewriter.spaces.live.com/">New version of LiveWriter beta&lt;/a> is out, it adds video support (not sure yet if this feature works with Community Server).&lt;/p>
&lt;p>Watch out of you are installing it as it also updates other Live components such as messenger and tried to add some IE toolbars you might or might not want&lt;/p></description></item><item><title>My TFS wants an upgrade to 2008 and is sulking</title><link>https://blogs.blackmarble.co.uk/rfennell/my-tfs-wants-an-upgrade-to-2008-and-is-sulking/</link><pubDate>Thu, 06 Sep 2007 10:18:24 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/my-tfs-wants-an-upgrade-to-2008-and-is-sulking/</guid><description>
&lt;p>I posted about the problems I had &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/archive/2007/09/03/tf14044-error.aspx">adding a user to a project TFS&lt;/a> earlier this week. Well I have seen a similar problem again today, I added a new user to an AD group but they could not access the project until I restarted the Web Server process on my TFS front end server. I still suspect a cache problem is the root issue.&lt;/p>
&lt;p>However, I have had another thought - it could be because my TFS 2005 server knows I intend to install the 2008 Beta2 but don't have the time as I am off to &lt;a href="http://www.microsoft.com/uk/mix07/">MIX07 in London&lt;/a> next week and won't do a major update if I am not going to be about, so it is sulking!.&lt;/p></description></item><item><title>TF14044 Error</title><link>https://blogs.blackmarble.co.uk/rfennell/tf14044-error/</link><pubDate>Mon, 03 Sep 2007 10:55:38 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/tf14044-error/</guid><description>
&lt;p>Today I tried to add a user to an existing TFS Team project, this user had happily been working on other team projects hosted on the same same server. In theory all I had to do was add the AD user to an existing AD group that was already setup as a contributor to the team project I now wanted them to work on.&lt;/p>
&lt;p>However when I did this I got the error &amp;quot;&lt;strong>TF14044&lt;/strong>: Access Denied: User DomainNameusername needs the CREATE_PROJECTS global permission(s)&amp;quot; when they tried to load the Source Code Explorer tab in VS2005. Basically they could not see any files or the directory containing them.&lt;/p></description></item><item><title>Can't debug into a MOSS Webpart</title><link>https://blogs.blackmarble.co.uk/rfennell/cant-debug-into-a-moss-webpart/</link><pubDate>Fri, 24 Aug 2007 12:10:22 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/cant-debug-into-a-moss-webpart/</guid><description>
&lt;p>I am doing some work at present where I need to debug into webparts hosted in a MOSS 2007 server. Never an easy set of debugging to get right.&lt;/p>
&lt;p>To try to ease the process I wrote a WinForm test application that just calls the webpart method with test parameters so I don't have to go through all the pages I normally would to get to the feature I need, or manually have to attach the debugger to the Sharepoint web process every time.&lt;/p></description></item><item><title>SQLBits Community Conference</title><link>https://blogs.blackmarble.co.uk/rfennell/sqlbits-community-conference/</link><pubDate>Fri, 24 Aug 2007 09:47:57 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/sqlbits-community-conference/</guid><description>
&lt;p>The &lt;a href="http://www.sqlbits.com/default.aspx">proposed session list for SQLBits&lt;/a> (to be held on the 6th Oct at Microsoft TVP) has been published. If you don't know, SQLBits is a free community conference in the style of &lt;a href="http://www.developerday.co.uk/ddd/default.asp">DDD&lt;/a>, but on just SQL related topics.&lt;/p>
&lt;p>Just like DDD all the speakers are volunteers and the attendees get to vote on the sessions they would like to see.&lt;/p>
&lt;p>So if you have any interested in SQL, or as &lt;a href="http://en.wikipedia.org/wiki/Anders_Hejlsberg">Anders Hejlsberg&lt;/a> said at a LINQ session I saw '&lt;em>if you are a developer who uses data'&lt;/em>, why not register and vote for what you would like to see.&lt;/p></description></item><item><title>Installing VS2008Beta2 from an ISO</title><link>https://blogs.blackmarble.co.uk/rfennell/installing-vs2008beta2-from-an-iso/</link><pubDate>Thu, 16 Aug 2007 11:37:31 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/installing-vs2008beta2-from-an-iso/</guid><description>
&lt;p>I tried to install Visual Studio Beta 2 from an ISO today using the Virtual &lt;a href="http://www.sqlservercentral.com/columnists/awarren/useisoimageswithoutburningtodisk.asp">CD Rom tool&lt;/a>. This mounted the ISO fine as drive Z: but when I ran the setup.exe I got an error that it could not load the SITSetup.dll, even though this was in the ISO.&lt;/p>
&lt;p>I copied the contents of the ISO to my physical disk and reran the setup and all was OK, so the tip is mounted ISO don't always work as you expect.&lt;/p></description></item><item><title>Cannot create a new project in TFS - reporting services problem</title><link>https://blogs.blackmarble.co.uk/rfennell/cannot-create-a-new-project-in-tfs-reporting-services-problem/</link><pubDate>Thu, 16 Aug 2007 10:29:01 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/cannot-create-a-new-project-in-tfs-reporting-services-problem/</guid><description>
&lt;p>I tried to create a new TFS team project today and got an error that the TFS server could not access the SQL Reporting Services server. I then checked I could access http://myserver/reports and this also failed. On looking in the event log I saw a number of EventID 107 'cannot connect to the report server database'&lt;/p>
&lt;p>Now I was unsure what could have caused this, it was working last time I created a project! So check the update log on the server and found the only patches that had been applied since I last created a project, and that seemed plausible, were Visual Studio 2005 SP1 (which I thought was already on, but maybe it was just VS TFS SP1) and SQL 2005 SP2.&lt;/p></description></item><item><title>Imagine Cup Coverage</title><link>https://blogs.blackmarble.co.uk/rfennell/imagine-cup-coverage/</link><pubDate>Wed, 08 Aug 2007 09:09:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/imagine-cup-coverage/</guid><description>
&lt;p>If you are reading &lt;a href="http://blogs.blackmarble.co.uk/blogs/boss/default.aspx">Robert's blog&lt;/a> you will know he is in Korea as the mentor of &lt;a href="http://blogs.blackmarble.co.uk/blogs/imaginecup/">The Seedings&lt;/a>, the UK entry for the Microsoft Imagine Cup.&lt;/p>
&lt;p>I have just seen that the is some video coverage on &lt;a href="http://channel8.msdn.com/">Microsoft's Channel8&lt;/a> (which seems to be a Channel9/10 spin off for the Imaging Cup students).&lt;/p>
&lt;p>Enjoy.....&lt;/p>
&lt;p>Technorati Tags: &lt;a href="http://technorati.com/tags/Imagine%20Cup">Imagine Cup&lt;/a>&lt;/p></description></item><item><title>Design goal met</title><link>https://blogs.blackmarble.co.uk/rfennell/design-goal-met/</link><pubDate>Thu, 02 Aug 2007 08:13:48 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/design-goal-met/</guid><description>
&lt;p>I was watching the &lt;a href="http://channel9.msdn.com/ShowPost.aspx?PostID=331171#331171">Channel 9 video&lt;/a> on the Silverlight game &lt;a href="http://zerogravity.terralever.com/">Zero Gravity&lt;/a>, the developers said that their aim was to produce an addictive game - they certainly succeeded.&lt;/p>
&lt;p>This is a great video to watch to get a developers/design view on Silverlight&lt;/p>
&lt;p>Technorati Tags: &lt;a href="http://technorati.com/tags/Silverlight">Silverlight&lt;/a>&lt;/p></description></item><item><title>Every home should have one</title><link>https://blogs.blackmarble.co.uk/rfennell/every-home-should-have-one/</link><pubDate>Thu, 26 Jul 2007 09:24:56 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/every-home-should-have-one/</guid><description>
&lt;p>&lt;a href="http://www.sciam.com/article.cfm?chanID=sa006&amp;amp;colID=1&amp;amp;articleID=B1027B68-E7F2-99DF-352186A04761EB7F">Scientific American has a interesting article on a Data Center in a box&lt;/a>. Basically it is a standard shipping container full of Sun Servers. I am our our IT manager would like one! it should fit on any house's driveway, a stylish addition to any home.&lt;/p>
&lt;p>It is an interesting spin on the old IBM data recovery model where they turned up with a duplicate of your system in a truck in event of a major failure. The key change is it is being sold as a greatly cheaper option than a traditional data center. All it needs is power, a water supply (cooling) and I suppose given our current weather, a location not prone to flooding.&lt;/p></description></item><item><title>How books date</title><link>https://blogs.blackmarble.co.uk/rfennell/how-books-date/</link><pubDate>Mon, 16 Jul 2007 22:11:25 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/how-books-date/</guid><description>
&lt;p>I have been having a &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/archive/2007/01/17/Time-to-revisit-Microserfs.aspx">phase of reading novel's I read years go&lt;/a>, this time it is &lt;a href="http://www.amazon.co.uk/Neuromancer-William-Gibson/dp/0006480411/ref=pd_bbs_sr_1/203-5716631-5820701?ie=UTF8&amp;amp;s=books&amp;amp;qid=1184613964&amp;amp;sr=8-1">Neuromancer&lt;/a> by William Gibson (published 1984). This choice was triggered by it being reviewed on BBC Radio4's &lt;a href="http://www.bbc.co.uk/radio4/arts/agoodread_current_series.shtml">A Good Read&lt;/a>, the suggestion of &lt;a href="http://www.andfinally.com/">Bill Thompson&lt;/a> the BBC technology columnist.&lt;/p>
&lt;p>I have been surprised by how little it seems to have dated, ok in places the sizes of data streams and the like seem small (how fast capacity moves on), and maybe the way cyberspace is visualized was nearer the mark of today's virtual worlds in Neal Stephenson's &lt;a href="http://www.amazon.co.uk/Snow-Crash-Neal-Stephenson/dp/0140232923/ref=pd_bbs_2/203-5716631-5820701?ie=UTF8&amp;amp;s=books&amp;amp;qid=1184617282&amp;amp;sr=8-2">Snow Crash&lt;/a> (published 1992) but on the whole it seems just as believable as a remember it being when I first read it. Still a worthwhile enjoyable read that has not aged as so much Sci-Fi does.&lt;/p></description></item><item><title>TFS Webpart in MOSS2007</title><link>https://blogs.blackmarble.co.uk/rfennell/tfs-webpart-in-moss2007/</link><pubDate>Fri, 13 Jul 2007 16:17:51 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/tfs-webpart-in-moss2007/</guid><description>
&lt;p>&lt;strong>Introduction&lt;/strong>&lt;/p>
&lt;p>I said I would post again when I had something to show in my TFS WorkItem webparts project, well here it is. I have created a pair of web parts, one to list all the work items and the other to display the details of a given item.&lt;/p>
&lt;p>For testing I have create a single ASP.NET 2.0 web page that implements a WebPart manager. This needs to be setup to allow connection between the two WebParts. Note: if you use this sample you will probably have to recreate the connection between the web parts on the test page. Click the edit option (dropdown at top right) for either WebPart and use the connect option. When running it should look like this.&lt;/p></description></item><item><title>Empty Reports with the eScrum Template</title><link>https://blogs.blackmarble.co.uk/rfennell/empty-reports-with-the-escrum-template/</link><pubDate>Thu, 12 Jul 2007 12:40:09 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/empty-reports-with-the-escrum-template/</guid><description>
&lt;p>After I installed the eScrum template everything seemed fine bar the reports, only the work item report showed anything, in fact on the other reports their parameter combo boxes were empty. The key difference is the workitem report is drawn form the SQL DBs, while all the other reports are drawn from the OLAP warehouse cube.&lt;/p>
&lt;p>If you connect to the SQL server and run the command&lt;/p>
&lt;blockquote>
&lt;p>&lt;em>select * from dbo._WarehouseConfig where id in ('LastPRocessTimeStamp','RunIntervalSeconds')&lt;/em>&lt;/p></description></item><item><title>Losing all files when moving a project in TFS Source Control</title><link>https://blogs.blackmarble.co.uk/rfennell/losing-all-files-when-moving-a-project-in-tfs-source-control/</link><pubDate>Thu, 12 Jul 2007 12:17:21 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/losing-all-files-when-moving-a-project-in-tfs-source-control/</guid><description>
&lt;p>&lt;strong>Problem&lt;/strong>&lt;/p>
&lt;p>Today I tried to move VS2005 solution in TFS source control from one Source Control location to another (on the same server) as I had put it in a stupid location to start with.&lt;/p>
&lt;p>So I unbound the source control (File -&amp;gt; Source Control -&amp;gt; Change Source Control) and then went into Source Control Explorer and deleted the directory and then committed the pending delete. This removed the files in the source control &lt;strong>BUT ALSO&lt;/strong> the local ones on my disk, due to the workspace mapping. This was not what I expected, you use source control so you always have copy, a safety net, I had just lost all of my copies by using source control!&lt;/p></description></item><item><title>Another stupid way to waste an hour or two.....</title><link>https://blogs.blackmarble.co.uk/rfennell/another-stupid-way-to-waste-an-hour-or-two/</link><pubDate>Tue, 10 Jul 2007 08:53:57 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/another-stupid-way-to-waste-an-hour-or-two/</guid><description>
&lt;p>When developing SharePoint add-in try to remember if you put a previous version of the DLL in the GAC or not. I have just wasted a couple of hours trying to work out why a new version of a DLL is not being read from a site collection's bin directory, when there was an old version in the GAC.&lt;/p>
&lt;p>Of course this would not have been an issue if I had been checking the version number properly! A good argument for pair programming to avoid these stupid blind spots&lt;/p></description></item><item><title>First thoughts on using the TFS API inside Sharepoint 2007</title><link>https://blogs.blackmarble.co.uk/rfennell/first-thoughts-on-using-the-tfs-api-inside-sharepoint-2007/</link><pubDate>Sun, 08 Jul 2007 21:46:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/first-thoughts-on-using-the-tfs-api-inside-sharepoint-2007/</guid><description>
&lt;p>I have been looking at writing some SharePoint 2007 (MOSS) web parts to show information about TFS workitems. This turned out to be a bit more complex than expected.&lt;/p>
&lt;p>I wrote a ASP.NET 2.0 webpart using the &lt;a href="http://www.codeproject.com/useritems/TFS-WorkItemTracking-Web.asp">TFS WorkItem Tracking Web Project on Codeporject&lt;/a> as a starting point. My first WebPart just listed workitems in a project. This went OK and the webpart worked fine in a simple ASP.NET Web Part Manager based test page.&lt;/p></description></item><item><title>Good pointer to DNR TV from Colin @ DDD5</title><link>https://blogs.blackmarble.co.uk/rfennell/good-pointer-to-dnr-tv-from-colin-ddd5/</link><pubDate>Mon, 02 Jul 2007 10:42:09 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/good-pointer-to-dnr-tv-from-colin-ddd5/</guid><description>
&lt;p>I have just watched the &lt;a href="http://www.dnrtv.com/default.aspx?showID=14">Dot Net Rocks TV Show&lt;/a> that Colin Mackay recommended during his DDD5 session on Mock Objects (and posted about in his &lt;a href="http://blog.colinmackay.net/archive/2007/07/01/91.aspx">blog&lt;/a>). &lt;/p>
&lt;p>I cannot agree more that it is great practical intro to using the Model/View/Presenter pattern, easy to follow and not getting bogged down as is so often the case with anything on patterns.&lt;/p>
&lt;p>I must get round to watching more on DNR TV, I  listen to to the DNR Radio Podcats regularly but subjects like this are far easier understand when you see the code. However between DNR Radio, DNR TV, Channel 9, MSDN TV etc. and wanting some form of home life I am not sure how I will find the time.&lt;/p></description></item><item><title>DDD5, thoughts the day after...........</title><link>https://blogs.blackmarble.co.uk/rfennell/ddd5-thoughts-the-day-after/</link><pubDate>Sun, 01 Jul 2007 19:30:22 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/ddd5-thoughts-the-day-after/</guid><description>
&lt;p>After not really enough sleep it seems a good time reflect on DDD5.&lt;/p>
&lt;p>&lt;strong>My session&lt;/strong>&lt;/p>
&lt;p>I felt my session went well, and the initial feedback was good. It is always good to be asked question all day about your session, proves it got people thinking; I certainly learnt a few tricks for TFS from these conversations.&lt;/p>
&lt;p>A common question I got was '&lt;em>I am using Product XYZ should a change to TFS?&lt;/em>'. To this my answer is always a question '&lt;em>Does your system, whether off the shelf or home grown work for you?&lt;/em>' If it does then don't rush to change it. Certainly look at TFS and see if it is better solution for your project needs - if it is not don't change to TFS. If you don't a working system to manage software development certainly look at TFS, or anything for that matter. Good software only comes out of a structured process, whether the process is Agile or Formal in style all the team must know what it is and adhere to it.&lt;/p></description></item><item><title>DDD5 Presentation - Team Foundation Server</title><link>https://blogs.blackmarble.co.uk/rfennell/ddd5-presentation-team-foundation-server/</link><pubDate>Sat, 30 Jun 2007 22:35:25 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/ddd5-presentation-team-foundation-server/</guid><description>
&lt;p>I have just got back home from today's DDD5 conference. Time for some more considered posting later, it has been a long day, but I thought I would get my slide stack up as quick as I could.  You can find the Power Point stack (with the speaker notes included) at &lt;a href="http://www.blackmarble.co.uk/SectionDisplay.aspx?name=Publications&amp;amp;subsection=Conference%20Papers" title="http://www.blackmarble.co.uk/SectionDisplay.aspx?name=Publications&amp;amp;subsection=Conference%20Papers">http://www.blackmarble.co.uk/SectionDisplay.aspx?name=Publications&amp;amp;subsection=Conference Papers&lt;/a>, along with previous DDD presentation.&lt;/p>
&lt;p>Thanks to everyone who attended my session, I look forward to hearing some feedback, but now some sleep I as up at 5am......&lt;/p></description></item><item><title>eScrum 1.0</title><link>https://blogs.blackmarble.co.uk/rfennell/escrum-1-0/</link><pubDate>Sat, 23 Jun 2007 21:23:38 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/escrum-1-0/</guid><description>
&lt;p>I have been looking at &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=55A4BDE6-10A7-4C41-9938-F388C1ED15E9&amp;amp;displaylang=en">eScrum&lt;/a> and first impressions are good. This is not the first Scrum process template for TFS, there is also the one from &lt;a href="http://www.scrumforteamsystem.com/en/default.aspx">Conchango&lt;/a>.&lt;/p>
&lt;p>My feeling over the Conchango one was that it seemed very like the standard MSF Agile template, more a terminology rename. Hence it felt a bit 'clunky' to use and not too agile. Sticking to a &lt;em>'post-it notes on a white board'&lt;/em>  model seemed a better way to manage a Scrum sprint.&lt;/p></description></item><item><title>Attrice Team Foundation Sidekicks and Teamplain on TFS Orcas release</title><link>https://blogs.blackmarble.co.uk/rfennell/attrice-team-foundation-sidekicks-and-teamplain-on-tfs-orcas-release/</link><pubDate>Fri, 15 Jun 2007 12:22:32 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/attrice-team-foundation-sidekicks-and-teamplain-on-tfs-orcas-release/</guid><description>
&lt;p>If you want to install TFS add-ins, such as &lt;a href="http://www.attrice.info/cm/tfs/index.htm">Attrice Team Foundation Sidekicks&lt;/a> and &lt;a href="http://www.devbiz.com/teamplain/webaccess/default.aspx">Teamplain&lt;/a>, on the TFS Orcas release you have to install the TFS V8 Client (the one which is shipped with Team Foundation Server 2005). If you don't have this version both products fails to start/install as they claim they cannot find the correct assemblies.&lt;/p>
&lt;p>Once you have installed the V8 client (as well as the Orcas V9 ones) both products work fine with Orcas.&lt;/p></description></item><item><title>DDD5 is full</title><link>https://blogs.blackmarble.co.uk/rfennell/ddd5-is-full/</link><pubDate>Sun, 03 Jun 2007 20:07:27 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/ddd5-is-full/</guid><description>
&lt;p>It seems that DDD5 was full within a few hours of registration being opened.&lt;/p></description></item><item><title>DDD5 Registration has opened</title><link>https://blogs.blackmarble.co.uk/rfennell/ddd5-registration-has-opened/</link><pubDate>Fri, 01 Jun 2007 20:29:20 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/ddd5-registration-has-opened/</guid><description>
&lt;p>&lt;a href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032342589&amp;amp;Culture=en-GB">DDD5 Registration&lt;/a> has opened, register fast the DDD events fill up fast.&lt;/p></description></item><item><title>DDD5 Agenda</title><link>https://blogs.blackmarble.co.uk/rfennell/ddd5-agenda/</link><pubDate>Wed, 30 May 2007 14:44:32 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/ddd5-agenda/</guid><description>
&lt;p>I see the &lt;a href="http://www.developerday.co.uk/ddd/agendaddd5lineup.asp">agenda for DDD5&lt;/a> is up, thanks to everyone who voted for my session on TFS.&lt;/p>
&lt;p>I better write it now!&lt;/p></description></item><item><title>Correct cleaning method for Corsair Flash Voyager USB Stick</title><link>https://blogs.blackmarble.co.uk/rfennell/correct-cleaning-method-for-corsair-flash-voyager-usb-stick/</link><pubDate>Tue, 22 May 2007 21:00:32 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/correct-cleaning-method-for-corsair-flash-voyager-usb-stick/</guid><description>
&lt;p>I can confirm that putting a Corsair Flash Voyager USB Stick in 40C Mixed Cotton wash is not the best way to clean it of old data. A traditional format remains the best solution for dirty data.&lt;/p>
&lt;p>However, it does show these rubberized USB sticks are tough, two hours in a washing mean seems to have done no harm. Also the new orange colored moels are fast enough for Vista TurboFlash usage.&lt;/p></description></item><item><title>Great session on TDD</title><link>https://blogs.blackmarble.co.uk/rfennell/great-session-on-tdd/</link><pubDate>Fri, 11 May 2007 20:00:42 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/great-session-on-tdd/</guid><description>
&lt;p>Went to a great session last night at the &lt;a href="http://www.extremeprogrammingclub.com/">Yorkshire Extreme Programming Club,&lt;/a> a intro to Test Driven Development using just Excel. The presentation was given by Clarke Ching, you can find out more about him and this presentation on &lt;a href="http://www.clarkeching.com/2006/04/test_driven_dev.html">his blog&lt;/a>&lt;/p>
&lt;p>I just had not occurred to me that Excel is a great way to show TDD principles to people who are not developers, such as project managers and business analysts. It is interesting how using TDD, refactoring and pair programming (well the whole room actually) anyone can see how to get a complex business requirement to elegant code in nice easy steps.&lt;/p></description></item><item><title>Speaking at the .NET Developers Network</title><link>https://blogs.blackmarble.co.uk/rfennell/speaking-at-the-net-developers-network/</link><pubDate>Mon, 07 May 2007 15:08:22 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/speaking-at-the-net-developers-network/</guid><description>
&lt;p>On Wednesday 19th of September I will be speaking at an evening event organised by &lt;a href="http://www.guysmithferrier.com/">Guy Smith-Ferrier&lt;/a> of the &lt;a href="http://www.dotnetdevnet.com/">.NET Developers Network&lt;/a> in Bristol. The session will be on Microsoft Team Foundation Server.&lt;/p>
&lt;p>For full details have a look at &lt;a href="http://www.dotnetdevnet.com/Meetings/tabid/54/EntryID/7/Default.aspx" title="http://www.dotnetdevnet.com/Meetings/tabid/54/EntryID/7/Default.aspx">http://www.dotnetdevnet.com/Meetings/tabid/54/EntryID/7/Default.aspx&lt;/a>&lt;/p></description></item><item><title>FEST07</title><link>https://blogs.blackmarble.co.uk/rfennell/fest07/</link><pubDate>Mon, 07 May 2007 15:02:35 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/fest07/</guid><description>
&lt;p>Just got my reminder for &lt;a href="http://www.nxtgenug.net/fest07/">NxtGen's FEST07&lt;/a> conference which is at Microsoft TVP on the 23rd of May.&lt;/p>
&lt;p>Unfortunately, due to a busy diary, I cannot make it to the event, but the speaker line up does look good. If you have never seen  &lt;a href="http://www.projectbotticelli.co.uk/expertise.htm">Rafal Lukawiecki&lt;/a> speak, who has topped the polls at TechEd for the last 7 years, this is your chance.&lt;/p>
&lt;p>To quote Dave McMahon, one of the NxtGen organizers:&lt;/p></description></item><item><title>Accessing Virtual Server via VMRC through a ISA firewall with Vista</title><link>https://blogs.blackmarble.co.uk/rfennell/accessing-virtual-server-via-vmrc-through-a-isa-firewall-with-vista/</link><pubDate>Thu, 03 May 2007 11:30:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/accessing-virtual-server-via-vmrc-through-a-isa-firewall-with-vista/</guid><description>
&lt;p>&lt;strong>The problem&lt;/strong>&lt;/p>
&lt;p>We have had an insteresting problem, we have a Virtual Server 2007 R2 (Beta), this is accessed both internally on our company network and externally via a ISA 2006 on the Internet. This has been working fine with our XP PCs, but we saw problems when we tried to use Vista.&lt;/p>
&lt;p>When on our LAN, the Vista PC was fine, you could connect to the Virtual Server console web page and VMRC to any VPC. We had set our domain &lt;em>*.blackmarble.co.uk&lt;/em> as the local intranet in IE security so we were not prompted for for repeated logins.&lt;/p></description></item><item><title>Installing SQL2005 SP2 on Vista</title><link>https://blogs.blackmarble.co.uk/rfennell/installing-sql2005-sp2-on-vista/</link><pubDate>Thu, 03 May 2007 11:19:34 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/installing-sql2005-sp2-on-vista/</guid><description>
&lt;p>We have been having fun installing SQL2005 Developer Edition on Vista PCs with Reporting Services, you need the SP2 for Vista, but installation of  this kept stalling with authentication problems.&lt;/p>
&lt;p>Turns out this is the process to follow:&lt;/p>
&lt;ol>
&lt;li>Do a default Install SQL 2005 Dev. Edition&lt;/li>
&lt;li>Run the Reporting Service Configuration Tools, make sure that the Reporting Services Process is started.&lt;/li>
&lt;li>Make sure the new SQL service has also be started (via control panel)&lt;/li>
&lt;li>Run the SP2 package, we were having problems on the login verification page, it said we could not authenticate the Reporting Services login until we had done steps 2 and 3.&lt;/li>
&lt;/ol></description></item><item><title>Vote early vote oftan....</title><link>https://blogs.blackmarble.co.uk/rfennell/vote-early-vote-oftan/</link><pubDate>Tue, 01 May 2007 11:07:59 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/vote-early-vote-oftan/</guid><description>
&lt;p>The &lt;a href="http://www.developerday.co.uk/ddd/votesessions.asp">voting for the sessions at DDD5&lt;/a> is now open. Have a good read of the options and vote for what you would like to see sessions on.&lt;/p>
&lt;p>Of course I would not be suggesting you should vote for mine, but...............&lt;/p></description></item><item><title>Interesting TFS discussion</title><link>https://blogs.blackmarble.co.uk/rfennell/interesting-tfs-discussion/</link><pubDate>Mon, 30 Apr 2007 18:29:02 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/interesting-tfs-discussion/</guid><description>
&lt;p>&lt;a href="http://ayende.com/Blog/archive/2007/04/29/TFS-Vs.-Open-Source-tools.aspx">Ayende Rahien&lt;/a> and &lt;a href="http://weblogs.asp.net/rosherove/archive/2007/04/29/tfs-or-not-being-a-perfectionist-is-a-realistic-world.aspx">Roy Osherove&lt;/a> have been having an interesting ping-pong about the merits and problems of TFS.&lt;/p>
&lt;p>Well worth a read....&lt;/p></description></item><item><title>Analysis tools not to be without</title><link>https://blogs.blackmarble.co.uk/rfennell/analysis-tools-not-to-be-without/</link><pubDate>Sun, 22 Apr 2007 20:58:34 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/analysis-tools-not-to-be-without/</guid><description>
&lt;p>Maybe it is just my background in network analysis, but I do feel any developer working with remote servers needs a protocol analyzer; in just the same way as you need the SQL profiler when working with a Microsoft SQL server, especially with auto generated code. Without tools like these how can you work out what is actually being sent on the wire? And if the data on the wire is wrong what hope is there for higher levels in the application|&lt;/p></description></item><item><title>Update on my old Dell</title><link>https://blogs.blackmarble.co.uk/rfennell/update-on-my-old-dell/</link><pubDate>Fri, 20 Apr 2007 11:33:18 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/update-on-my-old-dell/</guid><description>
&lt;p>I &lt;a href="http://blogs.blackmarble.co.uk/blogs/bm-bloggers/archive/2006/09/19/More-thermal-grease-please-nurse_2E002E002E002E00_.aspx">posted in the past&lt;/a> about all the problems I had with my overheating Dell 5150, and with the &lt;a href="http://blogs.blackmarble.co.uk/blogs/bm-bloggers/archive/2006/03/11/5239.aspx">problems trying to Vista Beta&lt;/a>s working on it. Well an update on both....&lt;/p>
&lt;ol>
&lt;li>After putting new thermal grease on the CPU heatskin it never overheated again&lt;/li>
&lt;li>With the release version of Vista every bit of hardware (bar the modem which I quickly found a driver for) was detected and worked first time and I have seen no problems with the PC since.&lt;/li>
&lt;/ol>
&lt;p>So I have a healthy, three year old laptop running Vista with the Aero interface (and the 5150 does have a nice high res. screen) perfectly adequately.&lt;/p></description></item><item><title>Follow up on our nVidia RAID problems</title><link>https://blogs.blackmarble.co.uk/rfennell/follow-up-on-our-nvidia-raid-problems/</link><pubDate>Sun, 15 Apr 2007 17:03:14 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/follow-up-on-our-nvidia-raid-problems/</guid><description>
&lt;p>I had &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/archive/2007/03/10/swapping-from-nvidia-raid-to-software-mirroring-on-a-sunfire-x2100.aspx">posted on problems with the nVidia Raid&lt;/a> on our SunFire servers. Well I think I now have the root cause of the problems: not the Sun hardware, the nVidia RAID, or Windows 64 bit drivers.&lt;/p>
&lt;p>All the problems we had were when we used mirrored pairs of Western Digital 500Gb SATA drives that we had bought in a single batch of four drives. Identical drives bought on another day were fine, as were 500Gb drives from Maxtor and Hitachi.&lt;/p></description></item><item><title>An extreme hour</title><link>https://blogs.blackmarble.co.uk/rfennell/an-extreme-hour/</link><pubDate>Fri, 13 Apr 2007 20:35:20 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/an-extreme-hour/</guid><description>
&lt;p>I went to the &lt;a href="http://www.extremeprogrammingclub.com/">Yorkshire Extreme Programming Club&lt;/a> last night, the meeting included an &lt;a href="http://c2.com/xp/ExtremeHour.html">Extreme Hour.&lt;/a> An interesting experience; the idea is that in an hour you go through a number of 10 minute XP iterations, doing 'development' by drawing the solution on a white board.&lt;/p>
&lt;p>Yesterday we had three separate groups of six; each with two customer, two developers (pair programming i.e. with one pen) and two QA/testers, and all had to design moon cheese harvesting solutions. &lt;/p></description></item><item><title>When the server just stops</title><link>https://blogs.blackmarble.co.uk/rfennell/when-the-server-just-stops/</link><pubDate>Thu, 12 Apr 2007 16:37:52 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/when-the-server-just-stops/</guid><description>
&lt;p>Today I rebuilt a PC with new drives and all seemed OK, but after 15 minutes or so it kept stopping (no nice shutdown), irrespective of what the PC was doing. I even swapped back the old disks all to no avail, hence I was stumped for a while.&lt;/p>
&lt;p>The problem turned out to be it was a somewhat full case and a wire was stopping the system fan turning, so the CPU was going into thermal shutdown and leaving no event log messages. Also the motherboard was not complaining as the am was still drawing current.&lt;/p></description></item><item><title>Before you ask...</title><link>https://blogs.blackmarble.co.uk/rfennell/before-you-ask/</link><pubDate>Thu, 05 Apr 2007 10:45:15 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/before-you-ask/</guid><description>
&lt;p>The photo I have added to my blog's header is me at the Ripon Triathlon&lt;/p></description></item><item><title>Problems removing McAfee ProtectionPoint 1.5.0 Agent</title><link>https://blogs.blackmarble.co.uk/rfennell/problems-removing-mcafee-protectionpoint-1-5-0-agent/</link><pubDate>Wed, 04 Apr 2007 21:09:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/problems-removing-mcafee-protectionpoint-1-5-0-agent/</guid><description>
&lt;p>When your try to remove the McAfee ProtectionPilot 1.5.0 agent using the command&lt;/p>
&lt;blockquote>
&lt;p>&lt;em>&lt;strong>frminst /remove=agent&lt;/strong>&lt;/em>&lt;/p>&lt;/blockquote>
&lt;p>you get an error &amp;quot;&lt;em>can't stop service mcafeeframework&amp;quot;&lt;/em> if you are using VirusScan 8.5.&lt;/p>
&lt;p>This is because VirusScan 8.5 has a new option under Access Protection that stops the McAfee services being stopped. So if you want to remove the agent you first have to go into the VirusScan Console and on the access protection properties page uncheck the Proect McAfee Services, then disable Access Protection for good measure. Then run the remove command andall should be OK&lt;/p></description></item><item><title>Microsoft in SCIAM</title><link>https://blogs.blackmarble.co.uk/rfennell/microsoft-in-sciam/</link><pubDate>Wed, 04 Apr 2007 10:52:51 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/microsoft-in-sciam/</guid><description>
&lt;p>There seems to be a good deal of Microsoft stuff over the past few editions of &lt;a href="http://www.sciam.com">Scientific American&lt;/a> (SCIAM), and before you ask yes I do live in the UK, but I find &lt;a href="http://www.nature.com/nature/index.html">Nature&lt;/a> a bit too academic for me and &lt;a href="http://www.newscientist.com/home.ns">New Scientist&lt;/a> has too many job adverts. SCIAM is just &lt;em>'popular'&lt;/em> science enough to read over breakfast.&lt;/p>
&lt;p>The March edition has two such articles, but not on mainstream  Microsoft products:&lt;/p>
&lt;ul>
&lt;li>One is on the Microsoft Theory Group of Microsoft Research and is called  &lt;em>&lt;a href="http://www.sciam.com/article.cfm?chanID=sa006&amp;amp;colID=30&amp;amp;articleID=C70B95A7-E7F2-99DF-3BAE7FAFCA1D414F">Graph Theory and Teatime&lt;/a>&lt;/em>. This looks at the team of top flight mathematicians choosing to work at Microsoft Research, as opposed to a more traditional career in academia, in much the same way as &lt;a href="http://en.wikipedia.org/wiki/Bell_Labs">AT&amp;amp;T Bell labs&lt;/a> operated in the past.&lt;/li>
&lt;li>The other on &lt;a href="http://www.sciam.com/article.cfm?chanID=sa006&amp;amp;colID=1&amp;amp;articleID=CC50D7BF-E7F2-99DF-34DA5FF0B0A22B50">Digital Life&lt;/a>, the current research and possibilities of using computers as external memory. It is written by Gordon Bell and Jim Gemmell again of Microsoft Research who are working on the &lt;a href="http://www.mylifebits.com">www.mylifebits.com&lt;/a> research project. Raises some interesting issues of security and archiving.&lt;/li>
&lt;/ul>
&lt;p>Both of these are every interesting and I think still available free on the web via the links above. I think they show a move by Microsoft to make their more academic and blue sky research known to the general public (or at least the ones who read pop science magazines!)&lt;/p></description></item><item><title>DDD5 Submissions</title><link>https://blogs.blackmarble.co.uk/rfennell/ddd5-submissions/</link><pubDate>Sun, 01 Apr 2007 15:26:40 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/ddd5-submissions/</guid><description>
&lt;p>In case you missed it, you can now make &lt;a href="http://www.developerday.co.uk/ddd/agendaddd5.asp">submissions for presentation slots at DDD5&lt;/a>.&lt;/p>
&lt;p>Even if you don't want to present, keep an eye on the site for a chance to vote on what you would like to see and to register as an attendee.&lt;/p></description></item><item><title>And another point on TeamPlain</title><link>https://blogs.blackmarble.co.uk/rfennell/and-another-point-on-teamplain/</link><pubDate>Fri, 30 Mar 2007 20:26:33 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/and-another-point-on-teamplain/</guid><description>
&lt;p>I just realised that TeamPlain also makes external access easier for remote users outside your firewall. The problem with external access to TFS from VS Team Studio is that you have to open up the TFS server and the associated WSS 2.0 server ports in your firewall. Not a major issue but opening ports is something you want to minimise, or at least your firewall manager will want to minimise.&lt;/p></description></item><item><title>Wow... TeamPlain is easy to install</title><link>https://blogs.blackmarble.co.uk/rfennell/wow-teamplain-is-easy-to-install/</link><pubDate>Fri, 30 Mar 2007 10:03:41 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/wow-teamplain-is-easy-to-install/</guid><description>
&lt;p>As I am sure you have seen Microsoft have purchased &lt;a href="http://www.devbiz.com/">devBiz&lt;/a> and made their TeamPlain product free to all TFS customers. I have just installed the &lt;a href="http://www.devbiz.com/teamplain/webaccess/download.aspx">new free release of TeamPlain&lt;/a> on our TFS system and I must say what a pleasant experience it was; run the MSI answering a few questions, go into the newly created TeamPlain admin web page, enter the URL of the TFS server and that's it. Really easy and it just works. Compared to the the fun I have had with other bits of TFS this is joy.&lt;/p></description></item><item><title>Moving Microsoft CRM 3.0</title><link>https://blogs.blackmarble.co.uk/rfennell/moving-microsoft-crm-3-0/</link><pubDate>Tue, 27 Mar 2007 11:14:04 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/moving-microsoft-crm-3-0/</guid><description>
&lt;p>I had to move our CRM install this week to new hardware, and I had expected it to be a nasty job. However it turned out to be straight forward, though it is really hard to find any useful Microsoft Dynamics CRM documentation beyond the basic manuals. Why do the Dynamics team make it so hard to find things out?&lt;/p>
&lt;p>Anyway these are the steps to follow:&lt;/p>
&lt;p>To move the database (got this process from a Microsoft Knowledgebase document on setting up SQL clustering for CRM)&lt;/p></description></item><item><title>Changing TFS user account passwords</title><link>https://blogs.blackmarble.co.uk/rfennell/changing-tfs-user-account-passwords/</link><pubDate>Fri, 16 Mar 2007 13:14:38 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/changing-tfs-user-account-passwords/</guid><description>
&lt;p>If you change the &lt;em>domaintfsservice&lt;/em> and/or the &lt;em>domaintfsreports&lt;/em> as you would expect your TFS server to stop, and it does. To get it back working you have to reset the passwords in:&lt;/p>
&lt;ul>
&lt;li>The various TFS AppPools on the frontend server need the new tfsservice password&lt;/li>
&lt;li>The datasource in ([frontendserver]/reports) on the reporting services need the new tfsreports password.&lt;/li>
&lt;/ul>
&lt;p>After that all should be OK&lt;/p></description></item><item><title>Shame it is at TVP</title><link>https://blogs.blackmarble.co.uk/rfennell/shame-it-is-at-tvp/</link><pubDate>Sat, 10 Mar 2007 15:19:01 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/shame-it-is-at-tvp/</guid><description>
&lt;p>When I heard the &lt;a href="http://www.nxtgenug.net/">NxtGenUG&lt;/a> were putting on a day conference &lt;a href="http://www.nxtgenug.net/fest07/">Fest 07&lt;/a> on the 23rd May, I had assumed it might be in the midlands, as that is where their user groups are based. However it is at Microsoft TVP in Reading - yet another trek south, does nothing other than an occasional MSDN/TechNet road shows come further north than the M4 corridor?  other than our &lt;a href="http://www.blackmarble.co.uk/SectionDisplay.aspx?name=Events">Black Marble events&lt;/a> of course!&lt;/p>
&lt;p>This said the line up of &lt;a href="http://www.nxtgenug.net/fest07/speakers.aspx">speakers&lt;/a> looks great and well worth the trip.&lt;/p></description></item><item><title>Swapping from Nvidia RAID to Software mirroring on a SunFire x2100</title><link>https://blogs.blackmarble.co.uk/rfennell/swapping-from-nvidia-raid-to-software-mirroring-on-a-sunfire-x2100/</link><pubDate>Sat, 10 Mar 2007 14:55:37 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/swapping-from-nvidia-raid-to-software-mirroring-on-a-sunfire-x2100/</guid><description>
&lt;p>Our SunFire x2100 application servers, running Windows 2003 R2, are configured with Nvidia RAID system (built into the motherboard) to mirror the pair of SATA drives in each servers. Two of these servers keeps losing the mirrors, but a third, and a SunFire x2200, do not. When this happens Windows hanging - not good in a server.&lt;/p>
&lt;p>We have had a support call open with Sun and swapped bits of hardware, but it keeps happening. During the support calls we discovered that the Nvidia RAID is not true hardware, but a 'software trick'. So not a great step up from letting Windows do the mirroring itself.&lt;/p></description></item><item><title>My Presentation at the Extreme Programming Club</title><link>https://blogs.blackmarble.co.uk/rfennell/my-presentation-at-the-extreme-programming-club/</link><pubDate>Fri, 09 Mar 2007 16:10:54 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/my-presentation-at-the-extreme-programming-club/</guid><description>
&lt;p>I did my presentation on Scrum last night for the Extreme programming club in Leeds, seemed to go down well. A lively discussion was had on Scrum and a whole bunch of agile issues. If anyone has questions post them on the &lt;a href="http://www.extremeprogrammingclub.com/board/index.php">club forum&lt;/a>.&lt;/p>
&lt;p>The next meeting on 12th of April an &lt;em>Extreme Hour&lt;/em>, an audience participation event on doing an XP project in a an hour - sounds interesting.&lt;/p></description></item><item><title>At last a working Vista replacement for XP Media Center PC</title><link>https://blogs.blackmarble.co.uk/rfennell/at-last-a-working-vista-replacement-for-xp-media-center-pc/</link><pubDate>Wed, 07 Mar 2007 21:38:30 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/at-last-a-working-vista-replacement-for-xp-media-center-pc/</guid><description>
&lt;p>I decided to completely rebuild my media center PC as I was making no progress on the problems I had discussed in my &lt;a href="http://blogs.blackmarble.co.uk/blogs/bm-bloggers/archive/2007/01/13/Coming-out-of-sleep-mode-in-Vista.aspx">previous post&lt;/a>.&lt;/p>
&lt;p>I dropped in a new hard disk as drive C: (leaving in my old one to allow me to copy data off) and installed Vista Ultimate, no problems there. It did not find drivers for my ASUS motherboard SoundMax card or for my Hauppauge Nova T 500.&lt;/p></description></item><item><title>Speaking on Scrum</title><link>https://blogs.blackmarble.co.uk/rfennell/speaking-on-scrum/</link><pubDate>Sat, 03 Mar 2007 17:49:58 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/speaking-on-scrum/</guid><description>
&lt;p>I will be speaking about Scrum at the second &lt;em>&lt;a href="http://www.extremeprogrammingclub.com/">Yorkshire Extreme Programming Club&lt;/a>&lt;/em> meeting next Thursday 8th March at the Victoria Hotel in Leeds.&lt;/p>
&lt;p>So if you are interested in a quick introduction to Scrum, or just want to meet other developers in the Yorkshire region interested in Agile methods come along.&lt;/p></description></item><item><title>Yorkshire XP Club</title><link>https://blogs.blackmarble.co.uk/rfennell/yorkshire-xp-club/</link><pubDate>Tue, 13 Feb 2007 21:48:42 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/yorkshire-xp-club/</guid><description>
&lt;p>The new Yorkshire Extreme Programing Club seems to be getting off to a good start. The first meeting was well attended and there is activity on the message board.&lt;/p>
&lt;p>Take a look at &lt;a href="http://www.extremeprogrammingclub.com/">http://www.extremeprogrammingclub.com/&lt;/a>&lt;/p></description></item><item><title>Microsoft SQL 2005 starts then stops with 3414 error</title><link>https://blogs.blackmarble.co.uk/rfennell/microsoft-sql-2005-starts-then-stops-with-3414-error/</link><pubDate>Sun, 11 Feb 2007 13:05:05 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/microsoft-sql-2005-starts-then-stops-with-3414-error/</guid><description>
&lt;p>I recently had one of our Windows 2003 server lose it's disk mirrors and locked up. When it was restarted it has two (virtually idenitical) drives C: and E:. It booted off the primary mirror disk (C:) and all seemed OK except SQL.&lt;/p>
&lt;p>I also tried booting off the secondary mirror (E:) but this would not boot (this drive it turns out had some bad blocks).&lt;/p>
&lt;p>So I went back to the primary disk. The actual problems was SQL server started but then stopped after a few seconds, the Windows error log showed the unhelpful 3414 error. I google for this, but all that was mentioned was issues with DTC, but this did not relavent as we not use distributed transactions. There was nothing else on the web of note.&lt;/p></description></item><item><title>When installing Cassini why do I always forget this?</title><link>https://blogs.blackmarble.co.uk/rfennell/when-installing-cassini-why-do-i-always-forget-this/</link><pubDate>Wed, 07 Feb 2007 10:47:31 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/when-installing-cassini-why-do-i-always-forget-this/</guid><description>
&lt;p>If installing the &lt;a href="http://www.asp.net/Projects/Cassini/Download/">Cassini Personal Server&lt;/a> on a PC you will often get the &lt;em>&amp;quot;Cassini managed web server failed to start listening to port 80. Possible conflict with another web server on the same port&lt;/em>.&amp;quot; error.&lt;/p>
&lt;p>You of course think this is a firewall, other web server or anti virus port blocker problems&lt;/p>
&lt;p>&lt;strong>IT IS NOT!&lt;/strong>&lt;/p>
&lt;p>Ok it might be those problems as well but usually it is that you need to run&lt;/p></description></item><item><title>Moving Community Server</title><link>https://blogs.blackmarble.co.uk/rfennell/moving-community-server/</link><pubDate>Fri, 02 Feb 2007 16:49:58 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/moving-community-server/</guid><description>
&lt;p>Today I moved this blog server from an old server to our nice shinny new ones. This meant splitting it so the DB to the dedicated SQL server and the front end to the new web server box. This cause a few problems.&lt;/p>
&lt;p>The actual move was fine, just back and restore the DB and copy over the ASP.NET web contents. I then edited the &lt;strong>web.config&lt;/strong> to point at the new server and had some problems, some expect some not.&lt;/p></description></item><item><title>More on TFS Access from the Internet</title><link>https://blogs.blackmarble.co.uk/rfennell/more-on-tfs-access-from-the-internet/</link><pubDate>Mon, 29 Jan 2007 23:17:47 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/more-on-tfs-access-from-the-internet/</guid><description>
&lt;p>Time for a bit of a follow up on my &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/archive/2007/01/18/Well-that-almost-worked.aspx">server name issues with TFS&lt;/a>. As expected there is correct way to alter the names of the various TFS servers, it involves editing the contents of one of the TFS database tables, not any config file.&lt;/p>
&lt;p>The best documentation I have found is that for setting up the new ISAPI filter provided with TFS Service Pack 1 to assist in authentication. Have a look at &lt;a href="http://msdn2.microsoft.com/en-gb/library/aa833872">http://msdn2.microsoft.com/en-gb/library/aa833872(...&lt;/a>  the section ISAPI does detail how to alter the names in various locations.&lt;/p></description></item><item><title>New Agile user group in Leeds</title><link>https://blogs.blackmarble.co.uk/rfennell/new-agile-user-group-in-leeds/</link><pubDate>Sat, 20 Jan 2007 15:06:13 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/new-agile-user-group-in-leeds/</guid><description>
&lt;p>I got the &lt;a href="http://www.westyorkshire.bcs.org/">West Yorkshire British Computer Society&lt;/a> branch news letter today and I saw there is an extreme programming club being set up locally, the first meeting is in Leeds on Thur 8th Feb at Victoria Hotel, Great George St at 7pm. You can find the blog for the group at &lt;a href="http://extremeprogrammingclub.blogspot.com/">http://extremeprogrammingclub.blogspot.com/&lt;/a>&lt;/p>
&lt;p>I think this is great news, the &lt;a href="http://www.developerday.co.uk/ddd/default.asp">DeveloperDeveloperDeveloper&lt;/a> series of events that I have presented at have shown there is an appetite for community events, so lets hope there is enough interest to get this local group going. I for will will be attending.&lt;/p></description></item><item><title>Well that almost worked</title><link>https://blogs.blackmarble.co.uk/rfennell/well-that-almost-worked/</link><pubDate>Thu, 18 Jan 2007 17:13:10 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/well-that-almost-worked/</guid><description>
&lt;p>&lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/archive/2007/01/17/Lets-just-rename-that-Team-Foundation-Server_2E002E002E002E002E002E002E002E002E002E002E002E002E002E002E002E00_.aspx">My plan for editing&lt;/a> the local copy of the &lt;em>RegProxyFileCache.xml&lt;/em> to change the name of the TFS server is OK until you restart the system.&lt;/p>
&lt;p>I need to look further into this......&lt;/p></description></item><item><title>Lets just rename that Team Foundation Server................</title><link>https://blogs.blackmarble.co.uk/rfennell/lets-just-rename-that-team-foundation-server/</link><pubDate>Wed, 17 Jan 2007 18:21:51 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/lets-just-rename-that-team-foundation-server/</guid><description>
&lt;p>I have &lt;a href="http://blogs.blackmarble.co.uk/blogs/bm-bloggers/archive/2006/12/01/Fun-with-Installing-a-Dual-Server-Team-Foundation-Server.aspx">previously posted&lt;/a> on the fun I had getting TFS running in our office. Well thus far it has been stable, other than some '&lt;em>user too stupid'&lt;/em> errors, and we have been fairly happy.&lt;/p>
&lt;p>The next stage was to expose the TFS server out through our firewall to allow home working. This turned out to not be too bad (expect some posts on our experiences with ISA server soon) but raised an interesting issue.&lt;/p></description></item><item><title>Time to revisit Microserfs</title><link>https://blogs.blackmarble.co.uk/rfennell/time-to-revisit-microserfs/</link><pubDate>Wed, 17 Jan 2007 17:32:53 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/time-to-revisit-microserfs/</guid><description>
&lt;p>I was given a copy of &lt;a href="http://www.amazon.co.uk/JPod-Douglas-Coupland/dp/074758222X/sr=8-1/qid=1169053374/ref=pd_ka_1/203-3258358-8258323?ie=UTF8&amp;amp;s=books">JPod by Douglas Coupland&lt;/a> for Christmas, now I will not be adding anything to the range of reviews to say it is very much Microserf V2.0 - similar story but it is just that people seem not to work as hard (but are still in the office as they have little life outside work) and the strange things that occur to them are very strange indeed. In Microserf you could believe it could happen, but JPod, well it is going a bit far. Also I agree with the comments that this book it is rather self referential.&lt;/p></description></item><item><title>Update on Virtual Server</title><link>https://blogs.blackmarble.co.uk/rfennell/update-on-virtual-server/</link><pubDate>Tue, 16 Jan 2007 14:18:43 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/update-on-virtual-server/</guid><description>
&lt;p>Yesterday I &lt;a href="http://blogs.blackmarble.co.uk/blogs/rfennell/archive/2007/01/15/Accessing-Virtual-Server-via-an-ISA-server.aspx">posted&lt;/a> about problems with accessing remotely the Virtual PCs from the Virtual Server console. It turns out the problem was domain name related. We had a different name on the internal DNS to that on the external side.&lt;/p>
&lt;p>In effect the server was trying to call:&lt;/p>
&lt;blockquote>
&lt;p>vmrc://virtualserver.mydomain.co.uk:5900/my pc&lt;/p>&lt;/blockquote>
&lt;p>when we should have been calling&lt;/p>
&lt;blockquote>
&lt;p>vmrc://virtualserver-external.mydomain.co.uk:5900/my pc&lt;/p>&lt;/blockquote>
&lt;p>even though we had actually accessed the system via&lt;/p>
&lt;blockquote>
&lt;p>&lt;a href="http://virtualserver-external.mydomain.co.uk">http://virtualserver-external.mydomain.co.uk&lt;/a>&lt;/p>&lt;/blockquote>
&lt;p>This has been fixed by getting all our DNS entries in line.&lt;/p></description></item><item><title>Accessing Virtual Server via an ISA server</title><link>https://blogs.blackmarble.co.uk/rfennell/accessing-virtual-server-via-an-isa-server/</link><pubDate>Mon, 15 Jan 2007 23:24:07 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/accessing-virtual-server-via-an-isa-server/</guid><description>
&lt;p>We have been moving over to ISA Server to allow better management of internet resources, one problem we have had is publishing our Virtual Server so our tele-workers can get remote access to the test systems.&lt;/p>
&lt;p>The ISA application publish rule works fine to allow access to the main Virtual Server console page (can create, start stop PC etc) but if you click on a Virtual PC you get a no connection screen, so you cannot actually use the Virtual PC.&lt;/p></description></item><item><title>Opening of a new blog</title><link>https://blogs.blackmarble.co.uk/rfennell/opening-of-a-new-blog/</link><pubDate>Mon, 15 Jan 2007 21:50:00 +0000</pubDate><author>Richard Fennell</author><guid>https://blogs.blackmarble.co.uk/rfennell/opening-of-a-new-blog/</guid><description>
&lt;p>As Black Marble is growing we have decided to split out our individual blogs, hence the opening of 'But it works on my PC!'.&lt;/p>
&lt;p>BM Bloggers will remain an aggregate of all the various sub blogs, which will grow in number over time.&lt;/p></description></item></channel></rss>