Powershell - IIS上的ConvertTo-WebApplication

The*_*ger 3 .net iis powershell

我正在尝试使用powershell将.NET 4应用程序部署到虚拟目录.我使用以下代码;

Import-Module webadministration
New-Item IIS:\AppPools\MainAppPool
Set-ItemProperty IIS:\AppPools\MainAppPool managedRuntimeVersion v4.0

New-Item IIS:\AppPools\Site1AppPool
Set-ItemProperty IIS:\AppPools\Site1AppPool managedRuntimeVersion v4.0

New-Item IIS:\Sites\DemoSite -physicalPath C:\DemoSite -bindings @{protocol="http";bindingInformation=":82:"}
Set-ItemProperty IIS:\Sites\DemoSite -name applicationPool -value DemoAppPool

New-Item IIS:\Sites\DemoSite\Site1 -physicalPath C:\Deployment\application -type VirtualDirectory
ConvertTo-WebApplication IIS:\Sites\DemoSite\Site1
Set-ItemProperty IIS:\sites\DemoSite\Site1 -name applicationPool -value Site1AppPool
Run Code Online (Sandbox Code Playgroud)

当我运行它,它似乎工作正常,但在运行该网站时,我收到以下错误;

Configuration Error

**Description**: An error occurred during the processing of a configuration file required to service this request. Please review the specific error details below and modify your configuration file appropriately. 

**Parser Error Message**: It is an error to use a section registered as allowDefinition='MachineToApplication' beyond application level.  This error can be caused by a virtual directory not being configured as an application in IIS.

Source Error: 

Line 13:       ASP.NET to identify an incoming user. 
Line 14:     -->
Line 15:     <authentication mode="Windows" />
Line 16:     <!--
Line 17:        The <customErrors> section enables configuration 
Run Code Online (Sandbox Code Playgroud)

如果我然后在IIS中删除该应用程序并手动重新创建它,该网站工作正常.你能告诉我我错过了什么吗?

Car*_*rlR 5

运行命令行开关Convert-ToWebApplication时,先前的虚拟目录条目仍保留在applicationhost.config中.我遇到了同样的错误.

更改命令直接创建应用程序,而不是创建虚拟目录然后转换它.

New-Item IIS:\Sites\DemoSite\Site1 -physicalPath C:\Deployment\application -type Application
Run Code Online (Sandbox Code Playgroud)