Dotnet Core 在發布的時候預設會輸出 web.config,發佈到 IIS 伺服器如果有要調整 web.config 的內容,可以用以下幾種做法來達成。
關閉輸出
在 server 上修改,不要讓重新佈署的時候被覆蓋,可以使用 IsTransformWebConfigDisabled 來關閉輸出。
1
   | dotnet publish -c Release -p:IsTransformWebConfigDisabled=true
   | 
 
1 2 3 4
   | <PropertyGroup>   <TargetFramework>net8.0</TargetFramework>   <IsTransformWebConfigDisabled>true</IsTransformWebConfigDisabled> </PropertyGroup>
   | 
 
建立 web.config
如果是希望每個發布的 web.config 都有同樣的內容,那也可以建立 web.config 在專案中。
標準沒有什麼設定的情況下,輸出的檔案內容如下
1 2 3 4 5 6 7 8 9 10 11
   | <?xml version="1.0" encoding="utf-8"?> <configuration>   <location>     <system.webServer>       <handlers>         <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" />       </handlers>       <aspNetCore processPath="dotnet" arguments=".\Server.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" hostingModel="inprocess" />     </system.webServer>   </location> </configuration>
   | 
 
增加一個環境變數在檔案內,可以只設定額外增加的內容,剩下的系統會自動幫你填上
1 2 3 4 5 6 7 8 9 10 11
   | <configuration>   <location>     <system.webServer>         <aspNetCore>           <environmentVariables>             <environmentVariable name="Configuration_Specific" value="Configuration_Specific_Value" />           </environmentVariables>         </aspNetCore>     </system.webServer>   </location> </configuration>
   | 
 
上面的內容在執行 publish 指令後會是長這樣
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
   | <?xml version="1.0" encoding="utf-8"?> <configuration>   <location>     <system.webServer>       <handlers>         <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" />       </handlers>       <aspNetCore processPath="dotnet" arguments=".\Cimes.Server.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" hostingModel="inprocess">         <environmentVariables>           <environmentVariable name="Configuration_Specific" value="Configuration_Specific_Value" />         </environmentVariables>       </aspNetCore>     </system.webServer>   </location> </configuration>
   | 
 
Reference