由于View(.cshtml)的运行时编译关系,在项目级别中定义的symbols是无法被直接使用的。需要在Web.config中添加compilerOptions(在View目录下的Web.config添加无效),该设置同样适用于ASP.NET其它技术。假如你需要一个TEST的定义,参考如下:
Web.config
<system.codedom> <compilers> <compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CSharp.CSharpCodeProvider, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" compilerOptions="/define:TEST" warningLevel="1" /> </compilers> </system.codedom>
.cshtml
@{ #if TEST var sum = 0; for (var i = 0;i< 100;++i) sum += i; #endif }
ASP.NET MVC View使用Conditional compilation symbols,布布扣,bubuko.com