我正在尝试让 Nhaml 为 ASP.NET MVC 2 项目工作。该项目的后端是Mongo DB,使用NoRM 驱动程序。NoRM 指定了一些自定义类型,特别是 ObjectID 作为对 Mongo 的唯一 _id 列的引用。
我有 Nhaml 视图从强类型模型编译和输出数据,但它在 ObjectID 类型上被这样写:
%td= Html.ActionLink("Update", "Update", new { id=Model._id })
具体来说,错误信息是:
c:\Windows\Temp\a7lwemtp.0.cs(83,9):错误 CS0012:类型“Norm.ObjectId”在未引用的程序集中定义。您必须添加对程序集“Norm,Version=1.0.0.0,Culture=neutral,PublicKeyToken=null”的引用。
...这似乎相当简单,但在将 Norm 程序集引用添加到我的 web.config 文件的 Nhaml 配置部分后,我仍然收到相同的错误消息:
<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>
我宁愿希望它能解决问题。我是否遗漏了一些明显的东西,或者完全误解了 Nhaml 正在寻找的程序集参考?