1

根据文档,我正在尝试使用APPCMD设置debug=falseweb.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似乎不起作用,并帮助其他可能也在使用该工具苦苦挣扎的人。谢谢你的帮助!

4

2 回答 2

2

我认为这是一个错误或“设计使然”。对此进行调查后,我注意到可以添加和修改该<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 网站上将此作为错误提出:

微软连接

我还在 IIS 论坛上提出了一个问题:

可能的错误:无法在 web.config (IIS.NET) 的“编译”部分中设置“调试”属性

更新:

Microsoft 员工已确认这是一个问题:

回复可能的错误:无法在 web.config (IIS.NET) 的“编译”部分中设置“调试”属性

于 2009-11-14T15:53:51.860 回答
0

根据Catherine Shan 的回答,“/debug”是 AppCmd.exe 的特殊开关,需要转义为“/!debug”。

例如:

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

答案是 2013 年 2 月 21 日,但它在今天帮助了我,迟到总比没有好。

于 2019-08-15T12:49:54.900 回答