剃刀安全检查无效表达式术语

本文关键字:术语 表达式 无效 安全检查 剃刀 | 更新日期: 2023-09-27 18:32:34

我正在尝试在 Web 应用程序中呈现 Razor 视图。它在这条线上惨败:

if (Model?.Items == null)
{
    return;
}

它抛出一个 InvalidExpressionException,因为安全导航运算符。我的同事没有遇到此错误,我已经确认我的 bin dir 中的所有 MVC 和 Razor dll 版本都是相同的。

谢谢本

剃刀安全检查无效表达式术语

作为记录,这是从 Web.config 中省略此条目(或与之类似的条目)时出现的错误。就我而言,有一个gulp任务转换了目标Web.config并添加了此条目。一旦我运行它,一切都起作用了。

<compilers>
  <compiler language="c#;cs;csharp" extension=".cs"
    type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
    warningLevel="4" compilerOptions="/langversion:6 /nowarn:1659;1699;1701"/>
  <compiler language="vb;vbs;visualbasic;vbscript" extension=".vb"
    type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.VBCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
    warningLevel="4" compilerOptions="/langversion:14 /nowarn:41008 /define:_MYTYPE='&quot;Web'&quot; /optionInfer+"/>
</compilers>