IIS CLI 为我的项目生成带有站点的应用程序主机.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 绑定

如果使用 x86 版本的 IIS Express,则会在C:\Program Files (x86(\IIS Express\appcmd 中找到 AppCmd.exe

最新更新