.Net Core 8.0 ShadowCopy 陰影複製

2024/08/02

後端

.Net Core 8.0 ShadowCopy 設定介紹

ASP.NET Core 部署至 IIS , *.dll 檔案會被鎖定,導致這些檔案無法順利更新,必須暫時關閉應用程式集區才能順利對網站進行部署

舊版本可以利用app_offline.htm,但 *.dll不會馬上解除鎖定

 

web.config 範例配置:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <location path="." inheritInChildApplications="false">
    <system.webServer>
      <handlers>
        <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" />
      </handlers>
      <aspNetCore processPath="dotnet" arguments=".\Test.dll" stdoutLogEnabled="true" stdoutLogFile=".\logs\stdout">
        <handlerSettings>
          <handlerSetting name="enableShadowCopy" value="true" />
          <handlerSetting name="shadowCopyDirectory" value="./ShadowCopyDirectory/" />
          <!-- Only enable handler logging if you encounter issues-->
          <handlerSetting name="debugFile" value="./ShadowCopyLogs/aspnetcore-debug.log" />
          <handlerSetting name="debugLevel" value="FILE,TRACE" />
        </handlerSettings>
      </aspNetCore>
    </system.webServer>
  </location>
</configuration>

 

參數解釋:

配置參數說明
enableShadowCopy啟用陰影複製
shadowCopyDirectory複製資料夾路徑
debugFile陰影複製Log路徑
debugLevel寫入Level

 

注意事項:

1. Log不要放在同WebSite資料夾內,shadowCopy也會整個複製,導致容量過大

Copyright © 2025 - All right reserved