分析器錯誤訊息:在應用程式層級之外使用註冊為 allowDefinition='MachineToApplication' 的區段是錯誤的。如果在 IIS 中沒有將虛擬目錄設定為應用程式,則可能導致此錯誤。 來源檔案:C:\Program Files\pdd\pro\web.config 第 127 行
web.config,其中定義 <sessionState>、<authentication> 等僅允許在應用程式根層級的區段(allowDefinition="MachineToApplication")。pro 同樣放置 web.config 並重複定義這些區段,導致設定系統在合併層級設定時拋出錯誤。pro 子目錄下,未受該錯誤 web.config 影響。pro 目錄不需獨立設定,直接刪除 pro\web.config,繼承根目錄設定即可。pro →「轉換為應用程式」,使其擁有獨立應用程式根,可擁有完整 web.config。<appSettings>、<connectionStrings>、<location>、<system.webServer/handlers> 等允許在子層級的區段,移除 <sessionState>、<authentication>、<httpModules> 等根層級專用區段。| 區段 | allowDefinition | 可用層級 |
|---|---|---|
| <sessionState> | MachineToApplication | 機器、網站、應用程式根 |
| <authentication> | MachineToApplication | 機器、網站、應用程式根 |
| <httpModules> / <httpHandlers> | MachineToApplication | 機器、網站、應用程式根 |
| <appSettings> | Everywhere | 任意層級 |
| <connectionStrings> | Everywhere | 任意層級 |
| <location> | Everywhere | 任意層級(含 path 屬性指定子路徑) |
| <system.webServer> | AppHostOnly / Everywhere | 視子區段而定 |
web.config。web.config,找出重複的根層級區段。web.config。<location path="pro"> 在根 web.config 中針對子目錄覆寫設定,而非放置子 web.config。MachineToApplication 區段。