Monday, March 24, 2008

ASP.NET MVC Preview 2 - Opening the box

Download of msi: http://www.microsoft.com/downloads/details.aspx?FamilyId=38CC4CF1-773A-47E1-8125-BA3369BF54A3&displaylang=en
Scott Hanselman's screen casts: http://www.hanselman.com/blog/ASPNETMVCPreview2ScreencastTutorials.aspx
I found comments under his screen cast to be quite interesting (e.g. that MVC is only targeted probably to 5% of the developers and then again Scott can't imagine LOB apps to be created with web forms, does it leave 95% of web apps to be non-LOB??!!)
ASP.NET MVC Preview 2 source code: http://www.codeplex.com/aspnet
MVCContrib project: http://www.codeplex.com/MVCContrib
Again, it is very interesting to read discussions there.

Project setup notes:

The project templates from the ASP.NET Futures March 2008 will not work with the ASP.NET Preview 2 dlls. There are quite few differences in the code so project will not compile.

As samples for the Scott's videos don't seem to be available yet, I had to install ASP.NET Preview 2 via msi, even if I really be happier only having dlls compiled out of the source code in my bin folder. The installation effectively wiped out the ASP.NET futures templates, arrrgh!

Brief analysis of dependencies in the web.config shows that System.Web.Extensions version in the "assemblies" section is actually 3.5.0.0. Hurray!, as it used to be the 3.6.0.0 in the March's futures. System.Web.Abstractions and System.Web.Routing are also marked as version 3.5.0.0. in contrary to 3.6 of the futures release. All this seems to be leaving 3.6.x.y to the Silverlight related stuff (like System.Web.UI.SilverlightControls), keeping asp.net mvc part of 3.5.x.y universe (which is quite good I believe).

After template project is created and is running my intent actually was to uninstall the Preview 2 and only use its and mvccontrib source code, so i know there are no hidden "preview" dependencies in GAC.
Uninstallation breaks the project loading: "The project file 'C:\DEV\Tools\Src\Dsi.Tools.LogViewer\Dsi.Tools.LogViewer.Web.csproj' cannot be opened. The project type is not supported by this installation." which I don't think should be happening as project template doesn't provide any extra services or menu/context items. Just removing the extra ProjectTypeGuid: {603c0e0b-db56-11dc-be95-000d561079b0} from the web project file resolves this.

At the end it is 13 projects I want to have in my solution for a start:

image

It looks like upon creation, the preview template just dropped the System.Web.Mvc, System.Web.Abstractions and System.Web.Routing in the bin folder of the web project. I changed it immediately to be a project reference so I can use "Go to definition" to see the mvc code instead of metadata.

All builds and runs.

No comments: