2013-03-04 2 views
5

Я создаю программу черного джек на C#, используя Nancyfx и механизм просмотра Razor в Visual Studio 2012. Визуальные студии Intelisense работают, но я получаю эти ошибки компиляции Razor. Я попытался указать пространство имен в app/web.config без каких-либо результатов.Ошибка компиляции Razor с использованием NancyFX

Error Details 
Error compiling template: Views/Game.cshtml 

Errors: 
[CS0246] Line: 1 Column: 11 - The type or namespace name 'Black_Jack' could not be found (are you missing a using directive or an assembly reference?) 

[CS0246] Line: 24 Column: 73 - The type or namespace name 'Black_Jack' could not be found (are you missing a using directive or an assembly reference?) 

Details: 
@using Black_Jack.Models 
@inherits Nancy.ViewEngines.Razor.NancyRazorViewBase<Game> 
<!DOCTYPE html> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
    <title></title> 
</head> 
<body> 
    @{ 

     foreach(var player in @Model.Players.players) 
     { 
      foreach(var card in player.Hand.Cards) 
      { 
       <p>@card.Name</p> 
      } 
     } 

    } 
</body> 
</html> 

ответ

12

Просьба еще раз взглянуть на ваш web.config и убедиться, что у вас установлены настройки бритвы.

Вам нужно ниже:

<configSections> 
    <section name="razor" type="Nancy.ViewEngines.Razor.RazorConfigurationSection, Nancy.ViewEngines.Razor" /> 
</configSections> 

<razor disableAutoIncludeModelNamespace="false"> 
    <assemblies> 
     <add assembly="MyAssemblyName" /> 
    </assemblies> 
    <namespaces> 
     <add namespace="Black_Jack.Models" /> 
    </namespaces> 
</razor> 

Это объясняется далее здесь - https://github.com/NancyFx/Nancy/wiki/Razor-View-Engine

+0

Спасибо! Я посмотрел ссылку ранее, и она не включает имя сборки самого проекта. Добавление этого дало мне еще одну ошибку: 'Невозможно наложить объект типа 'System.Dynamic.ExpandoObject' на тип 'Black_Jack.Models.Game''. Я реорганизовал мой код, чтобы не отправлять ExpandoObject в представление, и он сработал. Однако это также сделало запись nodename в файле web.config излишней. Weird. –