I'm trying to get Nhaml working for an ASP.NET MVC 2 project. The backend of the project is Mongo DB, using the NoRM driver. NoRM specifies some custom types, particularly ObjectID as a reference to Mongo's unique _id column.
I've got the Nhaml views compiling and outputting data from a strongly typed model, but it's choking on the ObjectID type written as such:
%td= Html.ActionLink("Update", "Update", new { id=Model._id })
Specifically, the error message is:
c:\Windows\Temp\a7lwemtp.0.cs(83,9) : error CS0012: The type 'Norm.ObjectId' is defined in an assembly that is not referenced. You must add a reference to assembly 'Norm, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'.
...which seems fairly straightforward, except I still get the same error message after adding the Norm assembly reference to the Nhaml configuration part of my web.config file:
<nhaml autoRecompile="true" templateCompiler="CSharp3" encodeHtml="false" useTabs="false" indentSize="2">
<assemblies>
<add assembly="Norm" Version="1.0.0.0" Culture="neutral" PublicKeyToken="null"/>
<add assembly="MyApp"/>
</assemblies>
<namespaces>
<add namespace="MyApp"/>
<add namespace="MyApp.Controllers"/>
<add namespace="MyApp.Models"/>
<add namespace="Norm"/>
<add namespace="Norm.BSON.DbTypes"/>
</namespaces>
</nhaml>
I rather expected that to fix the problem. Am I missing something obvious, or completely misunderstanding the assembly reference that Nhaml is looking for?