我在 MVC4 项目中有一个 Razor View ,它在两个不同的环境中以不同的方式处理相同的输入。我在 MVC 部分中有一个脚本 block 。
在我的实时部署中,每当我创建小于比较 ( if(a < b)
) 时, <
将被解释为 HTML block ,并且该部分将以奇怪的方式呈现。目前,我必须使用 Html.Raw("<")
。在我的开发机器上,我没有这个问题。
我确信有一个简单的答案可以解释为什么 razor 没有意识到 <
是我的 javascript 的一部分,但现在,我只对为什么部署之间的行为会不同感兴趣。我知道这两种设置都运行 razor v2,因为条件属性等新功能都可以在这两种设置中使用。
造成此类差异的原因是什么?
最佳答案
检查两个环境中 System.Web.Razor.dll 的文件版本,看看两个地方是否都是 2.0.20715。我们确实发布了 Razor v2 的更新,该更新包含在通过 Web PI 的 MVC 4 安装程序中,但未包含在 Visual Studio 2012 中,这可能是您所看到的行为差异的原因。
关于deployment - MVC.NET Razor View 在部署中呈现不同的方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13681538/