Сборочные ссылки в Нхамле - PullRequest
0 голосов
/ 24 августа 2010

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

У меня есть представления 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 = нейтральный, 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>

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

1 Ответ

0 голосов
/ 25 августа 2010

На всякий случай, если вы упустили что-то очевидное или совершенно неправильно поняли ссылку на сборку ...

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

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

...