Проблема связана с тем фактом, что представления компилируются только при запуске приложения, поэтому определенный вами символ TEST
больше не применяется компилятором, поскольку он не знает об этом.
Предполагая, что вы используете C #, вам нужно настроить компилятор на использование символа TEST
при построении представлений, и для этого вам нужно переопределить его конфигурацию в Web.config
, используя следующее:
<system.codedom>
<compilers>
<compiler
language="c#;cs;csharp"
extension=".cs"
type="Microsoft.CSharp.CSharpCodeProvider, System, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
compilerOptions="/define:TEST"
warningLevel="1" />
</compilers>
</system.codedom>
Важной частью является то, что вы определяете compilerOptions="/define:TEST"
. Остальную часть конфигурации необходимо адаптировать к вашим конкретным потребностям, например, переключаться между .NET 2.0 или .NET 4.0.
Если вы примените это непосредственно в Web.config
, оно будет работать, но каждый раз будет определять TEST
. Так что вам действительно нужно использовать преобразования Web.config , чтобы символ применялся только для правильных конфигураций сборки.