Visual studio 同时使用Razor和Nancy会导致Visual Studio 2015错误地报告.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,

我正在使用Nancy和Razor一起构建我的web应用程序。我能够提供剃须刀视图,它们显示得非常好。然而,Visual Studio 2015报告my.cshtml文件中几乎每一行的错误,尽管根本没有运行时错误:

我看到的具体错误有:

  • 未定义或导入预定义类型“System.Boolean”
  • 未定义或导入预定义类型“System.String”
  • 类型“Object”是在未引用的程序集中定义的。您必须添加对程序集“mscorlib,Version=4.0.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089”的引用
我相信我已经按照以下要求正确配置了app.config:



,但这没有效果。我想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>