2010-08-24 4 views
0

Я пытаюсь заставить Nhaml работать над проектом ASP.NET MVC 2. Бэкэнд проекта - Mongo DB, используя NoRM driver. NoRM указывает некоторые настраиваемые типы, в частности ObjectID, в качестве ссылки на уникальный столбец _id Монго.Ссылки на сборку в Nhaml

У меня есть мнение 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 сборки в конфигурации части Nhaml моего файла web.config:

<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> 

Я довольно ожидал, что устранить проблему. Я пропущу что-то очевидное или полностью недопонимаю ссылку на сборку, которую Нхамль ищет?

+0

какая версия nhaml r u используя? – Simon

ответ

0

Только в случае, если вы являются отсутствует что-то очевидное или полностью непонимание сборки опорного Тханг ...

CS0012 является C# компилятор просит ссылку на DLL или проект, который содержит Norm.ObjectId. Добавление элементов в файл конфигурации не будет исправлено, вы должны убедиться, что ваш проект MVC 2 имеет ссылку на построенную DLL-версию NoRM или проект NoRM, если вы добавили исходный код в свое решение.

http://msdn.microsoft.com/en-us/library/x0dz51e1%28VS.90%29.aspx

+0

Тогда я смущен, потому что у меня есть dll NoRM, на который ссылается VS. И драйвер NoRM работает в остальной части моего проекта. Хм. – DanielMason