我在MVC4项目中有一个剃刀视图,它在两个不同的环境中以不同的方式处理相同的输入。我在MVC部分有一个脚本块。
在我的实时部署中,每当我创建一个小于比较(if(a < b)
)时,<
将被解释为HTML块,并且该部分将以奇怪的方式呈现。目前,我必须使用Html.Raw("<")
。在我的开发机器上,我没有这个问题。
我确信有一个简单的答案可以解释为什么剃刀没有意识到<
是我的javascript的一部分,但是现在,我只关心为什么行为会不同跨越delpoyments。我知道这两个设置都运行razor v2,因为条件属性等新功能在两者中都有效。
可能是造成这种差异的原因是什么?
答案 0 :(得分:3)
检查两个环境中System.Web.Razor.dll的文件版本,看看它们是否在两个地方都是2.0.20715。我们确实发布了通过Web PI包含在MVC 4安装程序中的Razor v2的更新,但不在Visual Studio 2012的框中,这可能会解释您所看到的行为差异。