Skip to main content

Automated Builds in a typical .NET development

A typical .NET development involves regular builds taking latest versions from the respective SourceControl system. To ensure that each build is unique in itself and ensure cross verification of the same, when the build is made, a labelling of the same would be useful on the Source Control level. Perhaps this labelling concept is easy to describe and use as far as Microsoft Visual SourceSafe  is considered. 

Though there may be Build Managers in the Team, to assist in daily builds and sending reports to the team, it would be an effective way to have regular builds moved to an Automated Scheduled Task, so that the system itself would automatically take care of getting the latest versions of the files from the Source Control, make the build and generate appropriate reports. The advantage is that an automated tool ensures accuracy of the sequence of operations, as this would have gone through an exhaustive testing stage, removes monotony that is a bane with human interventions and operations.

Of late, I came across a nice automated BuildTool from MSDN. The tool is cute in almost all the aspects that you see. Some of the salient features of the same (from a core developer's perspective) are:
  1. The Tool comes with full Source Code in C#. It is quite well documented in each step of what it does, so that a starting developer also can learn to program and an advanced developer learns more advanced techniques in programming as well refines his programming practices.
  2. It does not reinvent the wheel in making the Build Operation:
    1. The files are automatically checked out by the program itself from Visual SourceSafe, a Label is Set in SourceSafe.
    2. The building is done via Visual Studio .NET itself by automating Visual Studio .NET. This way if you had set a previous Build Options in Visual Studio .NET Solution or the project file, they are reused.  Furthermore, from the developer's perspective, we learn about automating Visual Studio .NET programmatically.
    3. Application Logging is achieved via Microsoft Application Blocks for Exceptions. All exceptions are logged onto the System EventLog. So some more interesting Exception Handling strategy that we can learn and adopt in our programming practices.
Perhaps, you can try out the free BuildIT Tool from the following URL:

In short, BuildIt is just not a Build Tool. It is a developer Guru for Beginners and advanced developers and also for Project and Technical Leads in giving them the exact picture of the daily build status.


Popular posts from this blog

Google NCR

Google NCRMost of you would be knowing about this trick in navigating to Google generic website. But I just came to know only a few days before and hence thought I would share the information with others too.
Whenever you type, Google automatically tries to redirect you to your country-specific website. For me, it always redirects to (Google India). But when we specifically want to navigate to Google Generic website for some reason, there are two ways to accomplish the same.Click the 'Go to' link at the bottom of the webpage that is displayed from prevent this redundant click, you can opt to type which would prevent the redirect from happening. The NCR stands for No Country Redirect. There is a brief discussion about this NCR over this forum.You may also like to check out Google help documentation regarding the country redirections from here.

Elegant 'MailTo' Replacement

Elegant 'MailTo' Replacement

MailTo tags have become a bane to all websites since spammers run spam robots which crawl the web to capture the email addresses, add to their catalogs and send spams to them. I just thought of sharing with others a simple JavaScript function which would trigger open the default email client instead of having mailto: embedded in the HTML Page.

Just have the following function included in your webpage

<script language='Javascript'>
function WriteMailTo(user,domain)
location.replace ('mailto:'+user+'@'+domain);

And whereever you want to invoke the mailto, just called WriteMailTo('user','') and the user's default email client should be launching (if configured) without any hassles.

Contacts import utility from Web2Project to Addressbook

I have been using Web2Project for planning my personal and professional tasks for a few years now. Now I have bifurcated the tools into the following:

Project PierAddress Book The only issue I had was to import my addressbook from Web2Project to AB. PP is a different animal. It does not serve as a comprehensive candidate for addressbook and hence I needed this bifurcation. 
I wrote up a following simple script to import the contacts to AB. The pre-requisite for this script is to hop on to PhpMyAdmin, export the contacts as a PHP array and then  modify the path in our import script to whatever you downloaded from PhpMyAdmin.
Our import script would explode the entries as SQL scripts into the browser window. Copy them and execute into PhpMyAdmin AB database to have the contacts imported.

Script URL: