Your Daily Mark.Net


Treat others as you want to be treated
Every build you break

Redirecting the copy of output assemblies for individual solutions
I search the net for a while for this problem: We using tfs build to perform a daily build. The following tasks are performed in the build:
  1. Run all tests
  2. Update assembly info

The solution contains the following elements:
  • Web services
  • Client application
  • three windows services

So the solution contains 5 applications. What I was looking for is a way to use the tfsbuild to perform a build and as output to spit the binaries to seperated directories. That helps a lot with deployment.
The core of the problem is that i want to have a single build type in tfs with multiple solutions and multiple output directories. A feature that tfsbuild not support.
And finally I found a post that solves this problem. Manish Agarwal write a post: Redirecting the copy of output assemblies for individual solutions to specified subfolders at drop site in Team Build.
I implemented it in my build and it solves my problem...
No time to read and try
There are a couple of articles I want to read and try it out in a project. But I don't have the time.... :-(
Unit test papers
I found some nice papers about unit test and my previous post.
The Test Automation Manifesto
Increasing the Effectiveness of Automated Testing
A collection of papers.
Tags:
Object Mothers
When you are writing unit tests for a system, you need often a lot of test data. The creation of the data takes place in the test fixture. If I want to test the handling of a order then I need to create a customer, products, categories, shipping and so on. That is test data only for a order. But you want also test customer. And Product. For those classes you also need test data. Why don't reuse the test data of order. Well this paper about object mothers is very interesting. And we use it in your project.
And this book about unit testing, xunit patterns is a recommendation. <>
Patterns And Software factories.

Software factories and patterns. Dayly I get confrontated with them.
We developing a application according to the Web service software factory.


But now I found The EFx Architectural-Guidance Software Factory

 
That is also a very interesting factory. And as a client we desided not to use Smart Client Software Factory because of code maintenance and learning curve. But still it is very interesting...

And all those facories uses a lot of patterns.

Silicon valley
Well, where is Silicon valley? Yes I know near San Fransico. But this picture is nice.

And what about this...
Grotere kaart weergeven
some articles about silverlight
Where do i find the time to look at silverlight and wpf.
I want to play with it not only read about it. Look at these articles about silverlight.
examples about wpf can be found here.
.Net and Oracle
The policy at Corus is that as a database, use Oracle. So to connect to the database with .net we don't use the .NET Framework Data Provider for Oracle but the Oracle Data Provider for .Net, ODP.NET. Because there is a lot of maintenance going on, the question I get is, ODP.Net does it contain a Oracle client? This article gives answers to a lot of the questions.
Tags: ,
Specification pattern
The last couple of days I'm learning a lot about the specification pattern. These links can helped me to understand and implement the pattern.
  • The specification pattern by Martin fowler.
  • An example of the specification pattern by Jeff Perrin.
  • An implementation of the specification pattern by Tim McCarthy.
  • Validation In The Domain Layer - Take One and Validation In The Domain Layer - Take Twoby Jean-Paul S. Boodhoo. This is our solution so far.
  • Connect to mainframe with .net

    In the MSDN magazine of December 2007 i read this article Connect to mainframe apps With BizTalk Adapters and .NET. Well in my current project, we are developing an application that communicate with mainframe. While reading the article I was thinking at the solution that is common here. The way the communication here is to communicate through Websphere MQ using XML messages.

    Team Development with Visual Studio Team Foundation Server

    The guideline of Team Development with Visual Studio Team Foundation Server is available.

     
    Deleting a team build

    I had added a couple of team tests to get our daily build right. But now delete the team builds....

    http://msdn2.microsoft.com/en-us/library/ms181719(VS.80).aspx 

    Create a team build with team foundation server

    Creating a team build is not that of a problem. In VS2005 use the wizard and it is pretty straight forward.

    In my case we had some issues. Let me explain the context:

    1. to execute the build we use a dedicated build server.
    2. After the build we want the unit test to be executed and the code analysis performed.
    3. The build is executed by a system account

    The first issue was that to perform a build was that the step to add changesets and update workitems was slow....

    When you are trying to get the build process right that is a pain in the ass.

    So luckily you can skip the  part of adding changesets and updating workitems. the way to do that is check out the TFSBuild.proj and edit it:

    1. change <UpdateAssociatedWorkItems>true</UpdateAssociatedWorkItems> to <UpdateAssociatedWorkItems>false</UpdateAssociatedWorkItems>
    2. To disable work items and changesets for all builds for a particular build type, add the following to your TFSBuild.proj above the project closing tag:-

      <Target Name="GetChangeSetsAndUpdateWorkItems" > </Target>
      <Target Name="GetChangeSetsOnBuildBreak > /Target>
      These two targets are defined in the global TeamBuild.target file. MSBuild allows you to override these targets.

    See also this post.
     

    So now it's possible to test the build quickly.  

    Up to the next problem. When we use the Test view in VS2005 to execute all the unit tests, all tests passed. But in the build process a lot of tests failed. That because some dll's were not copied to the deployment directory. This can be fixed to do the following steps:

    1. in VS2005 go to  Test -> Edit test run Configuration  ->  Local test run.
    2. go to Deployment and add the missing dll's.
    3. click close.

    Now the build runs smoothly but now we entered an error publishing the test results. That was caused due to lack of rights at the share of the drop location.

    The rights of the build account were set right but the rights of the account that runs the team foundation server had not the proper rights. After adding that specific account  the build runs oke.

     

    Mark 

    Slow VS 2005 Web Site Build Performance

    In a project I'm working on we had this problem. Building the project of the web site was slow, and I mean real slow.

    After doing some google-ing  we came across a post of ScottGu's.

    The solution we did, was deleting the refresh files of our library dll's and the performance issue is gone. 

     

    Mark 

    More Posts Next page »