使用NancyFX时出现Razor编译错误
我正在使用VisualStudio 2012中的Nancyfx和Razor视图引擎,用C#创建一个black jack程序。visualstudiosintelisense可以工作,但我遇到了这些错误。我尝试在app/web.config中指定名称空间,但没有结果使用NancyFX时出现Razor编译错误,razor,namespaces,nancy,Razor,Namespaces,Nancy,我正在使用VisualStudio 2012中的Nancyfx和Razor视图引擎,用C#创建一个black jack程序。visualstudiosintelisense可以工作,但我遇到了这些错误。我尝试在app/web.config中指定名称空间,但没有结果 Error Details Error compiling template: Views/Game.cshtml Errors: [CS0246] Line: 1 Column: 11 - The type or namespac
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>
错误详细信息
编译模板时出错:Views/Game.cshtml
错误:
[CS0246]行:1列:11-找不到类型或命名空间名称“Black_Jack”(是否缺少using指令或程序集引用?)
[CS0246]行:24列:73-找不到类型或命名空间名称“Black_Jack”(是否缺少using指令或程序集引用?)
细节:
@使用Black_Jack.Models
@继承Nancy.ViewEngines.Razor.NancyRazorViewBase
@{
foreach(var player in@Model.Players.Players)
{
foreach(玩家中的var卡。手牌。卡)
{
@卡片名称
}
}
}
请再次查看您的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>
谢谢!我在前面查看了链接,它不包括项目本身的assemblyname。添加它给了我另一个错误:无法将“System.Dynamic.ExpandoObject”类型的对象强制转换为“Black\u Jack.Models.Game”
。我对代码进行了重构,使其不向视图发送ExpandoObject,并且成功了。但是,这也使得web.config中的assemblyname条目变得多余。奇怪的