Monday, August 21, 2006

NHibernate at the Austin .Net User's Group

About 55 people listened as Weston M. Binford III and Reddy Rajanala presented NHibernate at our .Net User's Group.

They recommended two books:

Click to read reviews or buy Hibernate In Action

Hibernate In Action by Christian Bauer and Gavin King

Click to read reviews or buy Hibernate Quickly

Hibernate Quickly
by Patrick Peak Nick Heudecker

Weston recommended winmerge and the iesi collections especially sets .
What's with the lack of an ordered set in .Net anyway?

Thursday, August 17, 2006

VS2003, Perforce, and Web Projects

At work we are converting our source control from pvcs to Perforce. The transition has not been smooth. I tested Perforce before our purchase and a web project worked fine. But web projects are very sensitive. Perforce even states they don't support web projects integration with Visual Studio.
We kept getting errors like

One or more of the project's destination paths are invalid. To open this solution, you must specify valid paths for each project. The error returned was "The Web at already contains a project. You need to choose another location for your Web project.


Visual Studio 2003 already contains a project. You need to choose another location for your Web project.

The best we can tell the steps to integrating a web project in Visual Studio 2003 and Perforce are as follows:

Check all the web project code directly into Perforce not using Visual Studio.
Create a virtual directory in IIS manually. Under the tab "Virtual Directory" remove the application.
In Visual Studio create a blank solution. Select "File/Source Control/Open From Source Control".
The perforce dialog box appears. Select the right attributes on the first panel and select "OK". On the second dialog box select your csproj file. If the moon is in the right phase and fortune smiles on you, the next dialog will have your web site url correct. If the proposed web site has "_1" appended, abandon all hope; somethings wrong. If the proposed web site url is correct, contine and life looks good.

We get an oddity where sometimes when adding the second web project Visual Studio will create an entire new .sln file for us and not add the second project into the current solution.

Well, all that being said, we are moving soon to VS2005 and all these problems will be solved. Right?

Wednesday, August 16, 2006

Converting Web Projects from VS2003 to VS2005

As we all slowly move from .Net 1.1 to 2.0 and from VS2003 to VS2005 you should consider NOT upgrading your web projects to the default "Web Site Project" in VS2003, but instead to the recently released "Web Application Project".
The default "Web Site Project" is very different from the 2003 web project. Files are no longer stored in a tidy dll, but spread all over the place. This makes unit testing very difficult.

Many developers hated the new project type so Scott Guthrie's team released on May 8th 2006 a new project type, "Web Application Project" more like the VS2003 project. Scott has a nice introduction here and the official microsoft docs are here

Monday, August 14, 2006

Upgrading an Asp.Net application from Windows 2000 to 2003 Server

Today we upgraded our main application from Windows 2000 to Windows 2003. One of the problems was the more restrictive settings of IIS in Windows 2003. Our problem was that IIS would no longer serve .dtd documents. We had to explicitly tell IIS that .dtd and .ent files were ok to process.
Here's how to do it:

Open IIS Management Console
Right Click on your virtual directory
Select "Properties"
Select "HTTP Headers"
Select "MIME types"
Select "New..."
Set the extension to ".dtd"
and application to "application/octet-stream"

Thursday, August 10, 2006


The Parrot project has interesting possibilities. Parrot is a virtual machine specification like java and .Net bytecode to be used for Perl6. Parrot's difference is that it is being designed to implement any language. Java's bytecode has difficulties with untyped objects which makes a Ruby implementation difficult. .Net's bytecode is more robust, but still has issues. The designers of Parrot are testing different langauges like Forth to make sure the language has all the operators needed to support most known languages.

An interesting possibility is to have browsers interpret Parrot code so we can write any language and have it interpreted by the browser instead of just javascript.

Now if we could just get an open source spec for denser DVDs and bypass the whole HD-DVD and Blu-Ray war.