IIS CLI为我的项目生成带有site的applicationhost.config

枕上诗书闲处好,门前风景雨来佳。这篇文章主要讲述IIS CLI为我的项目生成带有site的applicationhost.config相关的知识,希望能为你提供帮助。
我有一个包含多个项目的C#解决方案,其中一个是由IIS运行的Web服务器。我在该项目的csproj文件中设置了< UseGlobalApplicationHostFile> True< /UseGlobalApplicationHostFile>
当我打开Visual Studio时,它会在?/ Documents / IISExpress / config / applicationhost.config中生成:

< sites> < site name="WebSite1" id="1" serverAutoStart="true"> < application path="/"> < virtualDirectory path="/" physicalPath="%IIS_SITES_HOME%WebSite1" /> < /application> < bindings> < binding protocol="http" bindingInformation=":8080:localhost" /> < /bindings> < /site> < site name="SealingService" id="2"> < application path="/" applicationPool="Clr4IntegratedAppPool"> < virtualDirectory path="/" physicalPath="C:UserssehchDocumentsParagonParagonCoreserversSealingServiceSealingService" /> < /application> < bindings> < binding protocol="http" bindingInformation="*:61800:localhost" /> < binding protocol="https" bindingInformation="*:44300:localhost" /> < /bindings> < /site> < siteDefaults> < logFile logFormat="W3C" directory="%IIS_USER_HOME%Logs" /> < traceFailedRequestsLogging directory="%IIS_USER_HOME%TraceLogFiles" enabled="true" maxLogFileSizeKB="1024" /> < /siteDefaults> < applicationDefaults applicationPool="Clr4IntegratedAppPool" /> < virtualDirectoryDefaults allowSubDirConfig="true" /> < /sites>

我希望能够从命令行使用IIS Express运行我的项目(用于构建服务器集成测试目的)。如何从命令行生成applicationhost.config的SealingService站点部分(无需打开Visual Studio)?
我试过跑步
"C:Program Files (x86)IIS Expressiisexpress.exe"

在我的解决方案文件夹中,但它只生成WebSite1部分。
答案如果我理解正确,您要做的是将您指定的部分添加到?/ Documents / IISExpress / config / applicationhost.config文件中。
您可以使用AppCmd.exe命令行工具执行此操作:
"C:Program FilesIIS Expressappcmd.exe" add site /name:SealingService /bindings:"http/*:61800:localhost" /physicalPath:"C:UserssehchDocumentsParagonParagonCoreserversSealingServiceSealingService" "C:Program FilesIIS Expressappcmd.exe" set site /site.name:SealingService /[path='/'].applicationPool:Clr4IntegratedAppPool "C:Program FilesIIS Expressappcmd.exe" set site /site.name:SealingService /+bindings.[protocol='https',bindingInformation='*:44300:localhost']

使用第一个命令创建站点,设置其http绑定及其物理路径; 使用第二个,我们将其应用程序池设置为所需的应用程序池; 第三个我们添加https绑定。
【IIS CLI为我的项目生成带有site的applicationhost.config】如果您使用x86版本的IIS Express,则可以在C: Program Files(x86) IIS Expressappcmd.exe中找到AppCmd

    推荐阅读