Select Top N using a stored procedure parameter

by Jon 13. September 2010 17:22

If you want to allow your users to select the top N rows to reduce the strain your database, but you want to be able pass N in as a parameter as a stored procedure just wrap the Parameter in () and it wont complain.

Alter Procedure cp_StoredProcedureName

@TopN as integer


select top (@TopN) Field1,Field2 from TablleName

where Field3 = "Something"




Using MsBuild with TeamCity, (dotnet 3.5). Look Ma no Visual Studio!

by Jon 12. September 2010 01:08

I am currently moving our TeamCity to a different Virtual Server using this post by Mikael Henriksson.  Its is a fresh server install I thought it would be a great excuse to blog the steps you need to take to get MsBuild Working on your TeamCity.  In my previous post I described how to get started with Team City in under 5 Minutes, this short post follows on from that.

MsBuild gives you more flexibility when compiling your projects/solution.  However it isn't especially clear from documentation how you get your server configured to use MSBuild, or even what a basic MsBuild file will look like.  I got there painfully through trial and error, if you want to get up and running with MSBuild in TeamCity without having to install Visual Studio 2008 at all on your server follow the following six steps:

1. Install the MsBuild Community Tasks via the Msi Installer

2. Download an Install Windows SDK for Windows Server 2008 and .NET Framework 3.5 on your server.  During the install you only need to Select the DotNet Development Tools to be installed.

3. Update the Build Targets so you can build the projects you work on your Server.  You need to copy the relevant files from your development machine to your Build Server by updating files in "C:\Program Files (x86)\MSBuild\Microsoft\"

4. Create the SolutionName.msbuild in the root directory of your solution, where SolutionName is the name of your solution.  You will need to update "SolutionName.sln" inside the MsBuild File to point at your solution.

<?xml version="1.0" encoding="utf-8"?> 

<Project DefaultTargets="ReleaseBuild" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 

<Import Project="$(MSBuildExtensionsPath)\MSBuildCommunityTasks\MSBuild.Community.Tasks.Targets"/> 

    <Target Name="ReleaseBuild"> 

        <Message Text="Building Your Solution"/> 

        <MSBuild Projects="SolutionName.sln" Targets="Rebuild" />



5. Go to your TeamCity and Edit your Build Runner so is is MsBuild, Change your Target to Release Build to Match the Target in the MsBuildFile, and update any command line parameters you may need. I am using an additional commandline parameter /p:OutDir=%teamcity.build.checkoutDir%\target\ which will compile a solution full of separate webapplications to a single target directory.

6. When you are happy you have the MsBuild File and TeamCity Build Runner correctly matching, commit your msbuild file to SVN.  Your Build will be automatically trigggered and MsBuild will be used to compile your solution instead of Visual Studio.  

This should give you alot more flexibility in future.  If this doesn't work for you or if I have made a mistake just leave me a comment and I will improve the post for others in future.

Tags: , ,

ddd | MsBuild | SVN | TeamCity.Net


Getting Started with Continuous Integration with TeamCity in under 5 minutes!

by Jon 31. August 2010 22:17

Continuous integration is a way of increasing your productivity by automating the repetitive tasks you perform each day and as a function will improve the quality of the code you check into your source control system. It will give you more free time to develop better code, and will help you constantly improve yourself. If you find yourself doing the same thing day after day as a developer you really start automating those steps.

The good thing is it is really easy to setup a Continuous Integration. Within 5 minutes you could have installed and configured a system that will automatically compiled your code on a server when you perform a check-in and have any problems automatically reported back to you! What are you waiting for:

Make sure you choose a free TCP Port
Make sure you choose a free TCP port

Confirm the url for the Team City Installation has the correct port
Confirm the url for the Team City Installation has the correct port

Start the Services, and start TeamCity
Start the Services, and start TeamCity

Team City Starts
Team City Start

Accept the licence
Accept the licence

Enter an administrators details
Enter an administrators details

Team City is Started, and is prompting you to create a project
Team City is Started

Enter a project name
Enter a project name

Create a Build Configuration Called Build
Create a Build Configuration Called Build

Enter your SVN Settings for the project
Enter your SVN Settings for the project

Test the SVN Connection
Test the SVN Connection

Choose VisualStudio (2005/2008 or 2010) as a Build Runner, and Enter the Solution you want to Build
Choose VisualStudio as a Build Runner, and Enter the Solution you want to Build

Confirm the solution Builds from the Projects Screen, and then edit the Build
Confirm the solution Builds from the Projects Screen, and then edit the Build

Set the build to be automatically triggered when you Commit changes to SVN
Set the build to be automatically triggered when you Commit changes to SVN

and that's it, your Continuous Integration Server is up and running. Every time you commit a code change to SVN your solution will be automatically compiled. The sky is the limit, you can move over to a MSBuild Build Runner, perform automated tests, Generate Documentation, Code Statistics, Build and Install Deployment Packages. I've only just started using CI/TeamCity in my day job but I plan to Blog about my experiences as I implement more features. So far I have moved the office Build over to msBuild, automated developer statistics and RSS feed, and automated deployment to our test server. So expect some Blog entries on this in the coming weeks...

Guathon 2010, London

by Jon 15. August 2010 01:57

Guathon is about to start

Four people chatting before the guathon starts...

Tags: , , , , , , ,

asp.net | Deploy | development | scottgu | vs2010 | WP7


Where is WebDeploy aka MsDeploy installed to

by Jon 30. June 2010 11:54

Microsoft has a funky tool that atomates the deployment of web appplications.  It has a GUI interface and importantly a command line interface.  It isn't obvious where it is installed to, and microsoft have a naming issue (it is called webdeploy but the exe is called msdeploy)!  The folder msdeploy/webdeploy is installed to is here, enjoy

C:\Program Files\IIS\Microsoft Web Deploy

MSDN documentation is here

A Basics Blog here, but it is a little confusing

A sample Manifest.xml

Turns out its actually quite simple to do, the docs are over complicated.  All you need to go is create a blank zip file and Create a new xmlfile called Manifest.xml inside it and a directory for content.  When I finally have it working I will put together a easy step by step blog post.  Got a few things in the pipeline at the moment.

Tags: , , ,


Powered by BlogEngine.NET
Original Design by Laptop Geek, Adapted by onesoft, and finally some tiny tweaks by JonAlb