Зайдите в настройки уровня своего компьютера iis и добавьте
<deployment retail="true" />
Как указано в http://msdn.microsoft.com/en-us/library/ms228298.aspx
Создайте новый веб-проект, добавьте метку и затем следующий код.
protected void Page_Load(object sender, EventArgs e)
{
Label1.Text = HttpContext.Current.IsDebuggingEnabled.ToString();
}
//Result: true
Чего мне не хватает?
Обновление: Я обновил значение в 64-битной и 32-битной версиях конфигурации машины. Сервер работает под управлением IIS7.5. Перезагрузка не помогла.
Обновление 2:
Проходя через V4 фреймворка с помощью Reflector, я получаю следующий код.
public bool IsDebuggingEnabled
{
get
{
try
{
return CompilationUtil.IsDebuggingEnabled(this);
}
catch
{
return false;
}
}
}
internal static bool IsDebuggingEnabled(HttpContext context)
{
return MTConfigUtil.GetCompilationConfig(context).Debug;
}
//Here is where I lose whats going on... Either way, if what Yaur said is correct then
//I believe that value is not only useless but dangerously misleading.
internal static CompilationSection GetCompilationConfig(HttpContext context)
{
if (!UseMTConfig)
{
return RuntimeConfig.GetConfig(context).Compilation;
}
return GetConfig<CompilationSection>(context);
}
В любом случае. Что я могу подтвердить, так это то, что функциональность не работает.
PS: @Yaur - Да, я пытался изменить значение, и мне хорошо известны альтернативы использованию этого метода, но суть в том, что этот метод должен упростить развертывание.