共用方式為


組態檔

更新:2011 年 3 月

組態檔是可以按需要變更的 XML 檔。 開發人員可以使用組態檔來變更設定值,而不需重新編譯應用程式。 系統管理員可以使用組態檔來設定原則,影響應用程式如何在其電腦上執行。

注意事項注意事項

Managed 程式碼可以使用 System.Configuration 命名空間中的類別,以讀取 (而非寫入) 組態檔設定。

本主題描述組態檔的語法,並提供有關組態檔的三種類型資訊:電腦、應用程式和安全性。

組態檔格式

組態檔包含一些項目,為設定組態資訊的邏輯資料結構。 在組態檔內,您要使用標記 (Tag) 來標記項目的開頭和結尾。 例如,<runtime> 項目是由 <runtime>子項目</runtime> 組成。 空白項目具有開始標記,但沒有結束標記。

您要使用預先定義的屬性 (項目之開始標記內的名稱/值組) 來指定組態設定。 下列範例會為 <codeBase> 項目指定兩個屬性 (version 與 href),以指定執行階段可以找到組件的位置。如需詳細資料,請參閱指定組件的位置)。

<codeBase version="2.0.0.0"
          href="http://www.litwareinc.com/myAssembly.dll"/>
重要事項重要事項

就如同所有的 XML 檔,組態檔中的語法要區分大小寫。

電腦組態檔

電腦組態檔 Machine.config 包含套用於整個電腦的設定值。 這個檔案位於 %runtime install path%\Config 目錄。 Machine.config 包含全電腦的組件繫結、內建遠端通道和 ASP.NET 的組態設定。

組態系統首先會在電腦組態檔中尋找 appSettings 項目以及開發人員可能定義的其他組態區段。 接著會查看應用程式組態檔。 若要讓電腦組態檔易於管理,最好將這些設定值放在應用程式組態檔中。 然而,將設定值置於電腦組態檔可讓您的系統更容易維護。 例如,如果您有用戶端和伺服器應用程式都使用到的協力廠商元件,將那元件的設定值放在一個地方會比較容易。 在這個情況中,電腦組態檔是設定值的適當位置,所以您在兩個不同檔案中沒有相同的設定值。

注意事項注意事項

使用 XCOPY 部署應用程式將不會複製電腦組態檔中的設定值。

如需 Common Language Runtime 如何使用電腦組態檔執行組件繫結的詳細資訊,請參閱執行階段如何找出組件

應用程式組態檔

應用程式組態檔包含應用程式特有的設定值。 這個檔案包含 Common Language Runtime 讀取的組態設定 (例如組件繫結原則、遠端處理物件等) 以及應用程式可以讀取的設定值。

應用程式組態檔的名稱和位置取決於應用程式的主應用程式 (Host),可以是下列其中一個:

  • 可執行檔裝載的應用程式。

    可執行的主應用程式裝載的應用程式組態檔位在與應用程式相同的目錄。 組態檔的名稱為具有 .config 副檔名的應用程式名稱。 例如,稱為 myApp.exe 的應用程式可以和稱為 myApp.exe.config 的組態檔相關聯。

    注意事項注意事項

    在 Visual Studio 專案中,將 .config 檔置於專案目錄,並將其 [複製到輸出目錄] 屬性設定為 [永遠複製] 或 [有更新時才複製]。Visual Studio 會將檔案自動複製到要在其中編譯組件 (Assembly) 的目錄。

  • ASP.NET 裝載的應用程式。

    如需 ASP.NET 組態檔的詳細資訊,請參閱 ASP.NET 組態設定

  • Internet Explorer 裝載的應用程式。

    如果裝載於 Internet Explorer 的應用程式具有組態檔,這個檔案的位置會以下列語法在 <link> 標籤中指定:

    <link rel="ConfigurationFileName" href="location">

    這個標記中,location 為組態檔的 URL。 這會設定應用程式基底。 組態檔必須位在與應用程式相同的 Web 網站。

安全組態檔

安全組態檔包含程式碼群組階層架構和與原則層級相關聯的使用權限集合的資訊。 強烈建議您使用 .NET Framework 組態工具 (Mscorcfg.msc)程式碼存取安全性原則工具 (Caspol.exe) 來修改安全性原則,確保原則變更不會損毀安全組態檔。

注意事項注意事項

從 .NET Framework 4 開始,安全性組態檔只有在安全性原則已變更時才會出現。

安全性組態檔位於下列位置:

  • 企業原則組態檔:%runtime-install-path%\Config\Enterprisesec.config

  • 電腦原則組態檔:%runtime-install-path%\Config\Security.config

  • 使用者原則組態檔:%USERPROFILE%\Application data\Microsoft\CLR security config\vxx.xx\Security.config

請參閱

參考

Mscorcfg.msc (.NET Framework 組態工具)

Caspol.exe (程式碼存取安全性原則工具)

概念

指定組件的位置

重新導向組件版本

Common Language Runtime 中的組件

其他資源

.NET Framework 的組態檔結構描述

ASP.NET 組態設定

安全性原則管理

Remote Objects

變更記錄

日期

記錄

原因

2011 年 3 月

已更新安全性組態檔的相關資訊。

內容 Bug 修正。