Increase value by understanding usage

Our responsibility as technologists is to provide solutions which address user pains. The rapid pace of today’s businesses requires swift development, testing and deployment of application features.

However, our responsibilities don’t stop there. Understanding and measuring the value of our solutions requires insight on the usage of our solutions. This information is important as we continually make adjustments while iterating on features. How cool would it be to have your solutions team addressing bugs before there are end user complaints,  or focusing the solution team on areas or features of the application(s) users are concentrated in?

Join me on October 3oth at the St. Louis Silver Linings Conference. I will be presenting on the importance of understanding the availability of our solutions, how these solutions are performing, and if our solutions are successfully being utilized. In this interactive session, I invite you to share your experiences and toolsets, and interact with your peers who have similar needs/challenges.



Attendee Registration Opens Soon!

St. Louis Days of .NET 2014 will be opening attendee registration soon! Take advantage of the early bird discount that is valid only until October 13th. Check out the sessions and speakers already confirmed for this year’s event. Keep checking the site as more speakers and sessions get booked each day.

This year’s conference will be held at the Ameristar Conference Center in St. Charles, MO on November 13th –15th. In addition to over 140 technical sessions, the conference also includes optional full day workshops, the TechExpo, the Conference Kickoff Party, and the Attendee Party. All the generous sponsors will be located throughout the conference center looking to network and  give away all kinds of free goodies!

Nov. 13 –1 5, 2014 Save the date!

St. Louis Days of .NET 2014 is back! Held at the Ameristar Conference Center, the conference features over 140 breakout sessions from local and national technologists on Friday and Saturday (14th & 15th). If that is not enough, you can opt in for the full day hands on workshops on Thursday (13th).

Of course, the halls will be littered by all the supportive sponsors who help make this conference possible. Lots of giveaways, prizes, and networking opportunities. And don’t forget the social events…stay tuned to the St. Louis Days of .NET website for conference details as they become available.

First timer? Checkout the speakers and topics featured during last year’s conference by visiting the site.

St. Louis Days of .NET 2013


The St. Louis Days of .NET 2013 conference is set to kick off in less than one month away on November 14 – 16th at the St. Charles Ameristar Conference Center. If you have not yet registered, you may still get your hands on the few available slots here.

Covenant Technology Partners, LLC is one of the many proud sponsors of this year’s event. Carve some time out during the conference to drop by their sponsor booth.

Additionally, some of Covenant’s own are presenting on various topics . These include:

  • Simplifying and improving your SQL queries with CTE’s and Windowing Functions – Clayton Groom, Partner
  • SharePoint 2013 App Model – Bill Feldker, Senior Architect
  • #MustHashTag with #SignarR – Mike Green, Senior SharePoint Consultant and Rick Kight
  • Solution Forecast: Partly Cloudy – R. Michael Querimit, Architect

Check out the St. Louis Days of .NET 2013 website for details on the various sessions and speakers featured in this year’s conference.

Windows Azure Mobile Services


At the 2013 Build Conference, on June 26th, Microsoft announced the official release of Azure Mobile Services. There are already over 20,000 companies using Azure Mobile Services for production mobile apps. In this webcast we will introduce you to Mobile Services, discuss the features and demonstrate how to get started building a mobile app.

Join Rick Kight (@rickwkight) and I for the second webcast in the Azure Webcast Series on August 20, 2013 1:00PM – 2:00PM CDT. Register now at

Setting up TFS Build 2010 for SharePoint 2010 Projects and Private MyGet Feeds

Recently, I set up our TFS 2010 Build Server to be able to build SharePoint projects and to leverage our private package feed on MyGet  for custom framework components used in our SharePoint projects. It wasn’t as straightforward as I thought and I had to leverage MyGet support from Xavier Decoster to finally hammer things out. (Thanks for your help, Xavier!)

To do this, there are two general one time setup tasks which needs to happen on the TFS 2010 Build Server. These are:

  • Setup Build Server to Build SharePoint Projects
  • Configure Package Sources to the Private MyGet feed on the Build Server.

Once the setup is finished on the Build Server, you will be able to create build definitions for your SharePoint 2010 projects and even specify for the build server to also package a WSP automagically.

Finally, Xavier Decoster outlined a few check list items in our correspondence back and forth. I thought it might be worth noting these in this blog entry, too. Xavier had mentioned that much of this information is scattered and will be consolidating the guidance on the MyGet blog…stay tuned there.

So here we go…

Setup Build Server to Build SharePoint Projects

SharePoint projects reference SharePoint Server 2010 assemblies which must be present on the build server. One option is to install SharePoint Server 2010. Another options is to copy the following assemblies from your development machine to a Reference Assembly folder on the build server:

  • Microsoft.SharePoint.dll
  • Microsoft.SharePoint.Security.dll
  • Microsoft.SharePoint.WorkflowActions.dll

On the development machine, the above assemblies are typically located at

c:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\ISAPI

and it is recommended to be copied to the build server in the folder

..\Program Files\Reference Assemblies\SharePoint\

Modify the registry to specify the reference assembly location. On a 64 bit Windows Server 2008 R2 Standard machine, add a key named SharePoint14 in:


and specify the location where you copied the assemblies to in the step above.


Copy the following assemblies to the GAC of the build server (these are located in c:\Windows\Microsoft.NET\assembly\GAC_MSIL on the development machine):

  • Microsoft.VisualStudio.SharePoint.Designers.Models.dll
  • Microsoft.VisualStudio.SharePoint.Designers.Models.Features.dll
  • Microsoft.VisualStudio.SharePoint.Designers.Models.Packages.dll
  • Microsoft.VisualStudio.SharePoint.dll

Finally, for build and package of SharePoint projects, the following custom target and tasks must be copied to the build server:

  • Microsoft.VisualStudio.SharePoint.Targets
  • Microsoft.VisualStudio.SharePoint.Tasks.dll

The files above are located in ..\Program Files\MSBuild\Microsoft\Visual Studio\v10.0\SharePointTools on the development machine and should be copied to ..\Program Files (x86)\MSBuild\Microsoft\Visual Studio\v10.0\SharePointTools on the Build Server.


Configure Private MyGet Package Sources

If you are setup like we are, you likely do not have Visual Studio installed on your build server. If this is the case, you will have to specify your MyGet private feed as a package and source and specify an account which has access to this feed. The following steps guide you through using the command line to do this:

  • Start a command prompt and specify to run as the build service account. Provide the password for the build service account when prompted.

runas /user:DomainName\[TfsBuildServiceAccountName] cmd

  • Run the following NuGet commands under the build service account

nuget.exe sources add –name [friendly feed name] –source [url to your private MyGet Feed]

nuget.exe setapikey [apikey] –source [url to your private MyGet feed]

nuget.exe sources update –Name [friendly feed name]-User [username] -pass [password]



Specify to create a WSP Package in Build Definition

Visual Studio does not generate a WSP package by default for SharePoint projects. To do generate a WSP as part of your build definition, specify the /p:IsPackaging=True build parameter in the MSBuild Arguments.


Optionally, if you want to build a WSP package when you queue up a build, you can specify the build parameter at that time.


Gotchas and Considerations

Xavier Decoster (MyGet) was extremely helpful in making sure we got up an running.  The following are a items he listed as a checklist when setting up TFSBuild 2010 to use private MyGet feeds:

  1. When using Enable Package Restore within Visual Studio, you have to make sure that the .nuget folder is checked into source control (including nuget.exe, nuget.targets and nuget.config).
  2. By default, enable package restore only enables those projects that already consume NuGet packages. If you first enabled package restore and then started consuming packages, it is possible that some projects aren’t configured properly. You can verify this by checking whether the project files contain the <RestorePackages>true</RestorePackages> MSBuild property.
  3. NuGet package restore assumes you have a solution in a root directory $(SolutionDir) and all projects have their own subdirectory (e.g. $(SolutionDir)\ProjectA\ProjectA.csproj). If you deviate from this convention, you have to manipulate the <SolutionDir> MSBuild element in the project files accordingly.
  4. NuGet package restore requires a consent (due to privacy policy & legal requirements). This can be set using a system-wide environment variable, which is explained on the NuGet blog (
  5. Double-check whether your solution has the the actual nuget.exe commandline in the .nuget folder, and not the bootstrapper. The commandline is around 600Kb in file size, the bootstrapper 15Kb. The bootstrapper requires internet access, and has been made obsolete now. If you do not have this, it can be downloaded from
  6. Ensure the nuget.targets file <PackageSources> element is pointing to the correct URL (in this case MyGet).
  7. Ensure you checked in the Packages\repositories.config file (see my blog on how you can configure your workspace mapping accordingly). 
  8. If you upgraded some regular references to NuGet package dependencies, ensure the <hintpath> in the project file for that reference is pointing towards the correct locatoin in the packages folder.
  9. To verify package restore is fully functional on your local development machine, clear the $(SolutionDir)\Packages folder (except for the repositories.config file), clear all bin/obj folders, and clear the %LocalAppData%\NuGet\Cache folder. Then try building and see if all packages are restored correctly. Works on my local development machine.

Publishing with a Saved Profile causes Visual Studio 2012 RC to crash :(


Recently, I needed to deploy a WCF service to IIS and used the publish feature in Visual Studio 2012 RC. On the first cycle, you are asked to create a publish profile by which you preserve publish settings that could be used later. It worked beautifully the first time.

After making a few changes to my service, I tried to publish the service again, and VS 2012 would just crash! It seems that the .pubxml file created for the publish profile is marked as read only. In Windows Explorer, remove the read only attribute on the file and then try to publish again.

Hope this saves someone the wasted time I had to spend trying to research and figure this out. The good news is that the fix for this bug will be included in the next release of VS 2012, which seems like RTM early August.

Technorati Tags: ,