【发布时间】:2017-09-20 10:16:10
【问题描述】:
在我的软件安装过程中,我正在使用IIS Express 和appcmd.exe 工具将网站添加到 IIS Express,如下所示:
appcmd.exe add site /name:MySite /physicalPath:"C:\Program Files\MySite" /bindings:http://*:8087/
这可以正常工作,并且该站点被添加到 IIS Express。
问题是,我稍后需要从属于我的应用程序一部分的 Windows 服务通过命令行启动 IIS Express。我正在使用以下命令:
iisexpress.exe /site:MySite
但是,从 Windows 服务启动的命令显然是问题所在。服务在 SYSTEM 帐户下运行,而站点是在安装时从安装程序添加的,该安装程序在当前登录用户的帐户下运行。因此,当我尝试使用以下命令列出网站时:
appcmd.exe list site
我收到以下错误:
ERROR ( message:Configuration error
Filename: \\?\C:\WINDOWS\system32\config\systemprofile\Documents\IISExpress\config\applicationHost.config
Line Number: 0
Description: Cannot read configuration file. )
有没有办法解决这个问题?我可以在 IIS Express 中“全局”(针对所有用户)注册网站吗?解决这个问题还有其他想法吗?
【问题讨论】:
-
我遇到了同样的错误 (
Cannot read configuration file.),当我用单反斜杠替换路径名中的双反斜杠时解决了这个错误(例如D:\webroot\\applicationhost.config->D:\webroot\applicationhost.config)
标签: c# iis windows-services iis-express