Iis

如何使用 APPCMD.exe 在 WEBROOT (web.config) 中設置“ASPNETCORE_ENVIRONMENT”環境變數?

  • October 14, 2019

如何使用 APPCMD.exe 設置網站web.config “ASPNETCORE_ENVIRONMENT” environmentVariable?

到目前為止,我已經嘗試使用 結束它/commit:MACHINE/WEBROOT/commit:webroot我得到以下資訊:

appcmd.exe set config "Default Web Site/Help" -section:system.webServer/aspNetCore /+"environmentVariables.[name='ASPNETCORE_ENVIRONMENT',value='Standalone']" /commit:MACHINE/WEBROOT
ERROR ( message:Configuration error
Filename: \\?\C:\inetpub\wwwroot\Help\web.config
Line Number: 0
Description: The configuration section 'system.webServer/aspNetCore' cannot be read because it is missing a section declaration
. )

但是,我可以使用與下面相同但不同的程式碼來更新“ applicationHost.config/commit ” 。我不想更新“APPHOST”,因為我需要執行“ web.config ”,這是我需要更新的值:

set config "Default Web Site/Help" -section:system.webServer/aspNetCore /+"environmentVariables.[name='ASPNETCORE_ENVIRONMENT',value='Standalone']" /commit:apphost
Applied configuration changes to section "system.webServer/aspNetCore" for "MACHINE/WEBROOT/APPHOST/Default Web Site/Help" at configuration commit path "MACHINE/WEBROOT/APPHOST"

我想通了。首先,您必須意識到可以承諾的領域。我在https://docs.microsoft.com/en-us/iis/get-started/getting-started-with-iis/getting-started-with-appcmdexe找到了它,下面是我需要使用的“網址”部分:

url — 與預設相同;在為其設置的級別寫入配置

site — 在 Web.config 中寫入設置的 url 的站點根目錄中的配置

app — 在 Web.config 中寫入配置,位於為其設置的 url 的應用根目錄

apphost — 在 applicationHost.config 文件中寫入伺服器級別的配置

由於我們的軟體正在放入一個預設變數,因此我必須首先使用以下命令清除它:

"%windir%\system32\inetsrv\AppCmd.exe" clear config "Default Web Site/My_Site" /section:system.webServer/aspNetCore /commit:url

添加到ASPNETCORE_ENVIRONMENT

"%windir%\system32\inetsrv\AppCmd.exe" set config "Default Web Site/My_Site" /section:system.webServer/aspNetCore /+environmentVariables.[name='ASPNETCORE_ENVIRONMENT',value='Production'] /commit:url

引用自:https://serverfault.com/questions/983983