Wednesday, August 15, 2007

Web Service Softwary Factory v3 drop 117 available

It has been more than six weeks since the last drop of the next generation service factory was released. Since this is way more than the usual two-week schedule, you may wonder what has been going on...well...a lot!

After going through the pain of migrating our existing models (the internal XML format has changed considerably), we (me and three other developers) have been using this build for the entire day. These are our first experiences:


  • An installer that saves you from having to build everything yourself (although the source code is installed as a .msi file). However, you can't create your own installer yet, but P&P is working on that.
  • Support for GAX 1.3 (although building your own version of the factory from the source code does require some manual changes).
  • Primitive members of a Data Contract support a CollectionType property. Message Contract members will get similar support in the next drop.
  • Primitive members of a Message Contract support an IsNullable property.
  • Models open up much quickly than before.
  • You can force generating code to a dedicated code folder of the implementation project (e.g. GeneratedCode)
  • The Create Translator recipe from the v2 factory has been added.
  • There are new recipes for creating the implementation projects with one click of a button
  • The model project can be placed anywhere in the solution, for instance, as a sibling of the target projects such as is so common in the v2-style Service Interfaces solution folder.
  • Specifying the XmlSerializer as the SerializerType now generates proper code
  • Visual Studio no longer attempts to check out model files when opening from source control
  • You can now add empty Message Contracts without causing validation errors. This allows adding unforeseen new members to a request message without breaking existing clients.


  • The Order property of a Data Contract attribute must be unique. But a new recipe is under development to ease the effort of ensuring uniqueness.
  • Can't select an existing service contract from the deployment designer.
  • Can't add a new model project to an existing solution (although a workaround exists).
  • Unexpected attempts to save the Data Contract model upon building the project (causing check-out requests).

Friday, August 03, 2007

.NET community news 2007 issue 1

On a daily basis, I try to keep track of what's going on at the .NET community by reading blog entries, articles and stuff I ran into myself. I decided to compile the most important facts into a regular post here.

  • Microsoft released a whitepaper on the most important features of Visual Studio 2008.
  • The Wayward Weblog has published an extensive four-part walkthrough on how to write your own LINQ-compatible data provider. I wonder when Oracle will create a provider so that we can use the new Entity Framework with their database.
  • You may recall that Microsoft bought the company that created the Team System Web Access Client a little while ago. Since then it was downloadable free of charge. They've now released a re-branded version of it which includes quite a list of fixes and improvements.
  • It was already announced a while ago, but GAX/GAT July 2007 (1.3) has been released with support for Visual Studio 2005, 2008 Beta 1 and 2008 Beta 2. It should work with your own custom guidance packages, but will not help you running the Patterns & Practices software factories. I've already posted these questions on the corresponding CodePlex forums.
  • As you know, Team Foundation Server v1 uses Windows Sharepoint Services 2.0. Many have requested support for the new WSS 3.0 so that the team sites gain the extra features so common to Sharepoint 2007 users. Microsoft has released proper instructions (including a hotfix) for supporting this scenario.
  • The next version of the AJAX Control Toolkit will be released around August 24th and be labelled 10824.
  • If you've been developing Domain Specific Languages with the Visual Studio SDK, you may be happy to know that a CTP version has been made available for Visual Studio 2008 Beta 2.
  • One of the new C# 3.0 features that did not get much attention is called partial methods. Huh, I hear you asking? Check out this short explanation.
  • Some Visual Studio 2008 Beta 2 posts that may help you while switching to Visual Studio 2005.
    • TFS 2008 Build agent configuration options
    • Using VS 2008 to target ASP.NET AJAX 1.0
    • Upgrading ASP.NET AJAX 1.0 Websites and Web Applications to .NET Framework 3.5
    • Workaround: Beta 2 not showing your JavaScript Intellisense / Intellicode / Syntax Highlighting? 
    • New TFS offline support in Beta 2
    • ReadMe's for VS, Express, .NET Framework and MSDN Available Online

Wednesday, August 01, 2007

Barbara turned 29!

Last Tuesday, my girlfriend Barbara turned 29. Initially she didn't really want to celebrate this milestone, but at the end of last week she decided to invite some friends after all. Trying to get a just a few agendas aligned is extremely difficult. But somehow, this time everybody accepted the invitation. The result? Almost 20 people in our apartment!

We had barely enough soup for everyone, but we compensated that with a lot of snacks, cookies and other small appetizers. The only miscalculation we made was that we expected them to drink more wine and less soda. Obviously, you can't expect people to drink that much during a normal weekday. Oh well, we still had a great evening.

The most noticeable gift she got, she got from Raymond and Chantal. Alongside our front door we have two flower pots from which the original plants died within a few months after we bought our apartment. And while lacking green fingers, I have never bothered buying some new plants. Fortunately, after two years of having a dull entrance, they brought us two nice flowery plants including the necessary potting soil. In fact, Raymond even put everything in the jar for us. Great isn't it!?

You can find the remainder of the pictures (some taken with my Samsung U600) here.