Как использовать appcmd для установки debug = false в IIS7 - PullRequest
1 голос
/ 13 ноября 2009

Я пытаюсь использовать APPCMD для установки debug=false в web.config, согласно документации .

Конкретный синтаксис, который я использую:

APPCMD SET CONFIG "SITE/VDIR" section:compilation /debug:False /commit:APP

вывод

INFO ( section:compilation, timetaken:219, hresult:00000000, objects:1 ) Applied configuration changes to section "system.web/compilation" for "MACHINE/W EBROOT/APPHOST/SITE/VDIR" at configuration commit path "MACHINE/WE BROOT/APPHOST/SITE/VDIR"

После этого debug по-прежнему устанавливается на true.

Я исключил доступ к файлу только для чтения; Я использовал монитор процесса, чтобы посмотреть, как appcmd действительно пишет в web.config в правильном месте. Моя среда - Windows 2008 x64, SP2.

Я понимаю, что есть много разных способов решить проблему; разные конфигурационные файлы, делаю это сам в xpath, nant и т. д., но меня особенно интересует, почему APPCMD не работает, и помогаю другим, кто также может бороться с инструментом Спасибо за вашу помощь!

1 Ответ

2 голосов
/ 14 ноября 2009

Я думаю, что это ошибка или «по замыслу». Изучив это, я заметил, что можно добавлять и изменять другие атрибуты раздела <compilation /> (я не пробовал их все).

Например, следующая работа просто отлично работает:

APPCMD SET CONFIG "SITE/VDIR" section:compilation /batch:False /commit:APP
APPCMD SET CONFIG "SITE/VDIR" section:compilation /defaultLanguage:"c#" /commit:APP

Но, как вы заметили, изменить атрибут debug просто невозможно. Возможно, стоит исправить это как ошибку на сайте MS Connect, если у вас есть такая возможность:

Microsoft Connect

Я также задал вопрос на форумах IIS:

Возможная ошибка: невозможно установить атрибут «debug» в разделе «compilation» в web.config (IIS.NET)

Обновление:

Сотрудник Microsoft подтвердил, что это проблема:

Ответить на возможную ошибку: невозможно установить атрибут «debug» в разделе «compilation» в web.config (IIS.NET)

...