Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Razor Compilation Error using NancyFX

I am creating a black jack program in C# utilizing Nancyfx and the Razor view engine in Visual Studio 2012. Visual studios Intelisense works but I get these Razor compiling errors. I have tried specifying the name space in app/web.config with no results.

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>
like image 454
Emil Hacklin Avatar asked Mar 04 '13 10:03

Emil Hacklin


1 Answers

Please take another look at your web.config and ensure you have the razor settings defined.

You'll need the below:

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

It is explained further here - https://github.com/NancyFx/Nancy/wiki/Razor-View-Engine

like image 121
Jon Avatar answered Oct 10 '22 21:10

Jon