Sco*_*y H 12 c# asp.net iis visual-studio visual-studio-2017
我有一个包含多个项目的C#解决方案,其中一个是由IIS运行的Web服务器.我已经设置<UseGlobalApplicationHostFile>True</UseGlobalApplicationHostFile>了该项目的csproj文件.
当我打开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:\Users\sehch\Documents\Paragon\ParagonCore\servers\SealingService\SealingService" />
</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>
Run Code Online (Sandbox Code Playgroud)
我希望能够从命令行使用IIS Express运行我的项目(用于构建服务器集成测试目的).如何SealingService从命令行生成applicationhost.config 的站点部分(无需打开Visual Studio)?
我试过跑步
"C:\Program Files (x86)\IIS Express\iisexpress.exe"
Run Code Online (Sandbox Code Playgroud)
在我的解决方案文件夹中,但它只生成该WebSite1部分.
如果我理解正确,您要做的是将您指定的部分添加到〜/ Documents/IISExpress/config/applicationhost.config文件中.
您可以使用AppCmd.exe命令行工具执行此操作:
"C:\Program Files\IIS Express\appcmd.exe" add site /name:SealingService /bindings:"http/*:61800:localhost" /physicalPath:"C:\Users\sehch\Documents\Paragon\ParagonCore\servers\SealingService\SealingService"
"C:\Program Files\IIS Express\appcmd.exe" set site /site.name:SealingService /[path='/'].applicationPool:Clr4IntegratedAppPool
"C:\Program Files\IIS Express\appcmd.exe" set site /site.name:SealingService /+bindings.[protocol='https',bindingInformation='*:44300:localhost']
Run Code Online (Sandbox Code Playgroud)
使用第一个命令创建站点,设置其http绑定及其物理路径 ; 使用第二个,我们将其应用程序池设置为所需的应用程序池 ; 第三个我们添加https绑定.
如果您使用x86版本的IIS Express,则可以在C:\ Program Files(x86)\ IIS Express\appcmd.exe中找到AppCmd