Andrew Stopford's Weblog

poobah

Sponsors

News

Articles

Family

Old Blogs

November 2005 - Posts

aspnet_compiler pain

Ever tried to use aspnet_compiler to compile your website? I tried it on a known good VS2005 building set of source, works a treat. I then tried on clean set of source (not been built before) and it bombs out, the aspnet_compiler is not getting referancing the target.dll files and getting the latest set of dll's before it starts a compile. I am using the release version of .NET so am I missing something here or is time to visit betty bug again.

Thoughts for the day

Em is out tonight so thats some dedicated geek time tonight :), gonna start with a pizza then a trip down to StarBucks\Borders before I settle into some MbUnit hackory.

On another note, the post on the MS TDD description with VSTS and this post on VSTS licensing (and the resulting comments) has set me thinking. OSS tools are still alive and well in the wake of VSTS, non of the projects have stopped working hard on features and you can use all of these tools if your devellopment needs. The trick with OSS tools is taking the time to "glue" up each application, so for example you get your code building in msbuild/nant, integrate that into ccnet and then start adding unit testing, code coverage etc. The deeper you go the more glue you need, integration between ccnet and a defect tracker etc. Lots of folks are working on these things though, out sude of the OSS sphere and the more folks post there solutions and work arounds the better.  

Of course what VSTS has the upper hand on is IDE integration and workflow and thats an area that OSS needs to address (I know NTeam had this in mind but I am unclear how far on they are with it). I was talking with a friend he mentioned that VSTS supports rules, using rules a source commit must conform to what ever rules you have defined for your project (unit tests have been created, if your not using Agile\TDD, for example).  If this could be done using OSS how much use would it be for you?

SCM and SE books

A trip to borders tonight and I spent some time with following (plus a cup of some of fine StarBucks).

The Microsoft SCM book is a little dated, 2004 it covered MSBuild but not in any great depth and has no coverage of VSTS. That said it has some interesting info on testing and SCM and I found the sections on build management interesting. The name of the tool I have forgot but largely it was system that queues check-ins, performs the checkins on a non main branch, runs tests in the resulting build and if successful then add's the checkins into the main branch. This is a different approach to a CI approach and I was left wondering how the source control was managed to perform this.

Coder to Developer is book that lists out best pratices that every good developer should know (back to the basic rule, anyone can write code, not eveyone can be a developer nor software engineer). Things you may take for granted but things that graduate or new programmers may not (and sloppy programmers choose to ignore), items covered included using source control, using builds, using defect management, using unit tests, documentation and other subjects.

I picked up these two books to see what text exist for SCM and software engineer subjects and it was great to see that its subject that is quite well covered.

Dilbert meets Agile

http://www.dilbert.com/comics/dilbert/archive/dilbert-20051116.html

So very funny, I wonder if Scott will cover WHISKY, JFDI next :)

CCNet 1.0 goes gold
CCNet has reached its 1.0 milestone, the release notes are here and download here . Congrats to all the team.
MSBuild bug and web projects pt2

More MSBuild pain, this time by way of the aspnet_compiler. Take a web project, some pages are nonsecure, some pages are secure and need forms authentication before you see them. Lets assume the project not in the IIS wwwroot directory either.

  • webpage1
  • secure\webpage2

In the web config you then assign forms authentication using

<authentication mode="Forms">

<forms name=".LOGIN" loginUrl="login.aspx" protection="All" timeout="60" path="secure"/>

</authentication>

If you compile this in VS2005 is fails with the following.

error ASPCONFIG: It is an error to  use a section registered as allowDefinition='MachineToApplication' beyond application level.  This error can be caused by a virtual directory not being configured as an application in IIS.

To fix this we make the secure directory a virtual directory in IIS, our project root is a virtual directory and so is the secure directory. You then compile this and it works, all good. Now more fun begins. If you build in MSBuild then we it gets the aspnet_compiler stage it fails with the same error. If you create one of the new fangled web projects it also fails when it reaches the aspnet_compiler stage. At this point no matter much you try it refuses to budge.

More interestingly if you look at VS2005 it hides the contents of secure and when you click them asks you if you want to add them to the project or view out side of the project, doing either option fails your build inside of VS2005,  thanks very much.

Update: check this for how to resolve this.

MSBuild bug and web projects

A bug I have run into before was where MSBuild can't cope with changes to IIS virtual and physical paths in web project sln files. I have run into this again with the RTM.

When created the sln file contains referances to the IIS virtual path and its physical location, lets say

  • VirtualPath = \test which points as C:\test
  • PhysicalPath = C:\test

The virtual path then changes to C:\test2 and C:\test is deleted. If you compile in VS it seems to cope with this, MSBuild however states that C:\test cannot be found and fails the build. While true, the virtual path remains but it defaults to the PhysicalPath. To get around this you will need to edit the sln file manually and remove.

  • Debug.AspNetCompiler.PhysicalPath
  • Release.AspNetCompiler.PhysicalPath
  • alter these paths to the correct physical paths

VS2005 will honor your changes so you should only need to do this once.

Update: delete will screw up the compile process in copying bin folders, use the fix suggested instead.

Microsoft mobile devices
If you use mobile devices in your workplace or you develop for mobile devices then this link is well worth checking out. I work for the company mentioned.
MbUnit installer

I have added this task to JIRA that tasks up improving the MbUnit installer. While fully functional, its none too user friendly at the moment. So my next job is look into improving this.

Posted: Nov 09 2005, 08:55 AM by astopford | with no comments
Filed under:
TD.net 2.0/MbUnit
Jamie has announced that his latest shiny new stuff has been released. The latest release of MbUnit can/should be used with this release and is available both in the build directory and on the FolderShare that Jamie mentiions.
Posted: Nov 08 2005, 08:36 AM by astopford | with no comments
Filed under:
More Posts « Previous page - Next page »