January 2006 - Posts

Adam Cogan's Rules page
25 January 06 05:05 PM | MikeD

Looks very interesting...


Filed under:
MSBuild, MSTest, Biztalk and CruiseControl.Net
12 January 06 10:24 PM | MikeD | 4 comment(s)

I've been working on a project that will incorporate a number of pieces of technology: Biztalk, Host Integration Server, Hummingbird Document Management, Sybase, and perhaps a few others.

We're going to use VS2005, the only question is, whether we will be using Team Suite or Professional. If we don't use Team Suite, then we don't have the Microsoft testing tools, so we'll use NUnit instead. But in hopes that when the decision (finally) comes down, that we'll be using Team Suite, I am working on integrating MSBuild and MSTest into CruiseControl.Net, the continuous integration server. (It is definitely not in the cards that we will use Team Foundation Server at this client.)

CruiseControl can run MSBuild tasks directly, so that was easy enough. I worked on building project files for NDoc and MSTest that would be executed by MSBuild. Not so hard to do. I also worked on a CruiseControl task to run the VB6 compiler to compile a VB6 COM application that will simplify the Hummingbird DM API so we don't have to cross the COM/CLR boundary as many times as if we just linked to the DM API directly.

I've also worked on integrating the build output - CruiseControl has a summary for MSTest and MSBuild output, but I modified the MSTest xsl file a bit to show a few more details of the tests - classname, assembly file, duration, as well as the warnings and messages from the testing process. I also created an MsTestDetails.xsl as well that shows all the tests, the passes and the failures, accessible from the CruiseControl portal sidebar.

Today I began to work on the MSTest coverage results. WHAMMO. Big brick wall. Obviously, Microsoft had some kind of scope constraint on this feature, because the test results xml file does not include any of the coverage data. The results.coverage file generated when test coverage is included in MsTest, is a binary file that can be read by one of the assemblies with Team Suite. The CoverageInfo object reads the results file and the instrumented assemblies and symbol files to create a typed dataset. There's stuff about the paths for those files, which I'm not quite clear on today, but essentially I found the process works best if you don't move the files once they've been produced in a build/test session.

So I wrote a command line utility that "converts" the .coverage file into an xml file. It isn't tested yet, but I should get that done tomorrow, and I also hope to make a MsTestCoverage.xsl file to show the coverage results in the CruiseControl portal.

Oh, and the Biztalk thing - we're going to try BizUnit (available on GotDotNet, written by Microsoft Consulting Services) to drive our Biztalk unit tests. I'll keep you posted on this. It looks good.



Application Designer and Web Application Projects and Biztalk
12 January 06 08:57 PM | MikeD

I'm working on a project now that has a lot of components and web services and a few client applications. And Biztalk.

I'm using Application Designer from Visual Studio 2005 Team Architect edition to model the components of the system. While the model has been quite useful to help me flesh out the project names and interfaces and such, there are a few "wishes" I would like to have to make it a little more useful:

  • it would be nice if you could model class libraries in there somewhere, because our web services in particular have very little logic in them, rather the logic is in the class libraries.
  • it would be nicer if you could use the new (beta) Web Application Project as an application type in the model - I prefer this project type especially when the web service project is a pass-through mechanism for the functional class library.
  • it would be nicest if the Biztalk web service model shape would let me model a Biztalk web service. I know, I know, that sounds stupid, but I expected to be able to model an as-yet-non-existent Biztalk web service in my system, but what the shape wants is the WSDL for an existing Biztalk web service.


Visual Studio 2005 Web Application Projects
02 January 06 01:48 PM | MikeD

There is a Web Application project in VS 2005.

Well, sorta. It's beta. But it's like the VS 2003 web application project…


"The Visual Studio 2005 Web Application Projects model uses the same project, build and compilation semantics as the Visual Studio 2003 web project model. Specifically:

All files contained within the project are defined within a project file (as well as the assembly references and other project meta-data settings). Files under the web's file-system root that are not defined in the project file are not logically considered part of the web project.

All code files within the project are compiled into a single assembly (that gets built and persisted in the \bin directory on each compile).

The compilation system uses a standard MSBuild based compilation process. This can be extended and customized using standard MSBuild extensibility rules. You can therefore control the build through the property pages, so for example, you can name the output assembly.

Because the Visual Studio 2005 Web Application Projects model option has the same conceptual semantics as the Visual Studio 2003 web project model, it can also make migrating projects forward much easier - and not require code-changes.

This current release is intended as an early preview and is therefore not yet feature-complete, but does provide a core feature-set that will enable advanced developers to start building projects with it today. Please check back for future updates to this preview as further enhancements are made.

To get more information about this product, provide a review this product or provide feedback, please visit the Visual Studio 2005 ASP.NET forums. You can view samples and walkthroughs for this product in Scott Guthrie's blog. "

Filed under:
More Posts