使用NancyFX的Razor编译错误

时间:2013-03-04 10:35:58

标签: razor namespaces nancy

我正在使用Nancyfx和Visual Studio 2012中的Razor视图引擎在C#中创建一个黑色插孔程序。视觉工作室Intelisense有效,但我得到了这些Razor编译错误。我已经尝试在app / web.config中指定名称空间而没有结果。

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>

1 个答案:

答案 0 :(得分: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