Visual studio 同时使用Razor和Nancy会导致Visual Studio 2015错误地报告.cshtml文件中的错误
我正在使用Nancy和Razor一起构建我的web应用程序。我能够提供剃须刀视图,它们显示得非常好。然而,Visual Studio 2015报告my.cshtml文件中几乎每一行的错误,尽管根本没有运行时错误: 我看到的具体错误有:Visual studio 同时使用Razor和Nancy会导致Visual Studio 2015错误地报告.cshtml文件中的错误,visual-studio,razor,nancy,Visual Studio,Razor,Nancy,我正在使用Nancy和Razor一起构建我的web应用程序。我能够提供剃须刀视图,它们显示得非常好。然而,Visual Studio 2015报告my.cshtml文件中几乎每一行的错误,尽管根本没有运行时错误: 我看到的具体错误有: 未定义或导入预定义类型“System.Boolean” 未定义或导入预定义类型“System.String” 类型“Object”是在未引用的程序集中定义的。您必须添加对程序集“mscorlib,Version=4.0.0.0,Culture=neutral,
- 未定义或导入预定义类型“System.Boolean”
- 未定义或导入预定义类型“System.String”
- 类型“Object”是在未引用的程序集中定义的。您必须添加对程序集“mscorlib,Version=4.0.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089”的引用
,但这没有效果。我想Nancy文档中缺少了一些内容,如果有人愿意告诉我这是什么,我将提供这些内容。您可能需要指定您使用的Visual Studio版本。我记得有一次我和Nancy尝试使用Razor的完整版本时,也遇到了同样的问题。我认为问题在于Nancy不是它的完整版本,所以Razor引擎有一个Nancy特定的版本。如果您的web.config中有
,我不确定您是否也需要指定视图继承自它。您能删除该行并仅使用标准的@model…
行吗?@DavidG-当我指定@model
时,它表示“model”符号不存在。当我尝试使用该模板查看页面时,会引发异常。从您链接的文档中,它还表示您需要使用@Model…
,而不是@Model…
。Nancy以前没用过,所以帮不上什么忙。@DavidG-谢谢你试一试。我以为您是想指定@model MyApp.MyModel
——这在MVC5中正常工作。文档实际上是说模型内容可以从@model
中获得,这就是我在模板中所做的。你的帖子确实让我找到了一些我以前从未忽视过的调查途径,所以这仍然很有帮助。
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
<section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
<section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
</sectionGroup>
<section name="razor" type="Nancy.ViewEngines.Razor.RazorConfigurationSection, Nancy.ViewEngines.Razor" />
</configSections>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" />
</startup>
<appSettings>
<add key="webPages:Enabled" value="false" />
</appSettings>
<system.web.webPages.razor>
<pages pageBaseType="Nancy.ViewEngines.Razor.NancyRazorViewBase">
<namespaces>
<add namespace="Nancy.ViewEngines.Razor" />
</namespaces>
</pages>
</system.web.webPages.razor>
<razor disableAutoIncludeModelNamespace="false">
<assemblies>
<add assembly="System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<add assembly="mscorlib , Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
</assemblies>
</razor>
<system.web>
<compilation>
<assemblies>
<add assembly="System.Runtime, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<add assembly="System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<add assembly="mscorlib , Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
</assemblies>
</compilation>
</system.web>
</configuration>