配置文件

更新:2011 年 3 月

配置文件是可以按需要更改的 XML 文件。 开发人员可以使用配置文件来更改设置,而不必重编译应用程序。 管理员可以使用配置文件来设置策略,以便影响应用程序在计算机上运行的方式。

注意注意

托管代码可以使用 System.Configuration 命名空间中的类从配置文件中读取设置,但不向这些文件写入设置。

本主题描述配置文件的语法,并提供有关三种配置文件的信息:计算机配置文件、应用程序配置文件和安全配置文件。

配置文件格式

配置文件包含元素,它们是用来设置配置信息的逻辑数据结构。 在配置文件内,使用标记来标记元素的开头和结尾。 例如,<runtime> 元素由 <runtime>子元素</runtime>组成。 空元素有开始标记,但没有结束标记。

使用预定义特性来指定配置设置,这些特性是元素开始标记内的名称/值对。 下面的示例为 <codeBase> 元素指定两个特性(version 和 href),该元素指定运行时在何处可以找到程序集(有关更多信息,请参见指定程序集的位置)。

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

与所有 XML 文件一样,配置文件中的语法区分大小写。

计算机配置文件

计算机配置文件 Machine.config 包含应用于整个计算机的设置。 该文件位于 %运行时安装路径%\Config 目录中。 Machine.config 包含整个计算机范围内的程序集绑定、内置远程处理信道和 ASP.NET 的配置设置。

配置系统首先查看计算机配置文件以查找 appSettings 元素,然后查看开发人员可能定义的其他配置节。 然后查看应用程序配置文件。 为使计算机配置文件可管理,最好将这些设置放在应用程序配置文件中。 但是,将这些设置放在计算机配置文件中可以使系统更易维护。 例如,如果有第三方组件,且客户端和服务器应用程序同时使用该组件,那么将该组件的设置放在一个位置更方便。 在这种情况下,计算机配置文件是存放设置的合适位置,这样就不会将相同的设置放在两个不同的文件中。

注意注意

使用 XCOPY 部署应用程序将不会复制计算机配置文件中的设置。

有关公共语言运行时如何使用计算机配置文件进行程序集绑定的更多信息,请参见运行时如何定位程序集

应用程序配置文件

应用程序配置文件包含应用程序特定的设置。 该文件包含公共语言运行时读取的配置设置(如程序集绑定策略、远程处理对象等等),以及应用程序可以读取的设置。

应用程序配置文件的名称和位置取决于应用程序的宿主,可以是下列情况之一:

  • 可执行文件承载的应用程序。

    由可执行文件宿主承载的应用程序的配置文件与该应用程序位于同一目录。 配置文件的名称是带有 .config 扩展名的该应用程序的名称。 例如,名为 myApp.exe 的应用程序可以与名为 myApp.exe.config 的配置文件关联。

    注意注意

    在 Visual Studio 项目中,将 .config 文件放置在项目目录中,并将其“复制到输出目录”属性设置为“始终复制”“如果较新则复制”。Visual Studio 自动将此文件复制到要在其中编译程序集的目录中。

  • ASP.NET 承载的应用程序。

    有关 ASP.NET 配置文件的更多信息,请参见 ASP.NET 配置设置

  • Internet Explorer 承载的应用程序。

    如果 Internet Explorer 承载的应用程序有配置文件,那么该文件的位置在 <link> 标记中指定,语法如下:

    <link rel="配置文件名" href="位置">

    在该标记中,location 是指向该配置文件的 URL。 它设置了应用程序基。 配置文件必须位于与应用程序所在的同一网站中。

安全配置文件

安全配置文件包含有关与策略级别关联的代码组层次结构和权限集的信息。 强烈建议使用 .NET Framework 配置工具 (Mscorcfg.msc)代码访问安全策略工具 (Caspol.exe) 来修改安全策略,以确保策略更改不会损坏安全配置文件。

注意注意

从 .NET Framework 4 开始,仅在安全策略发生更改时提供安全配置文件。

安全配置文件位于以下位置:

  • 企业策略配置文件:%运行时安装路径%\Config\Enterprisesec.config

  • 计算机策略配置文件:%运行时安装路径%\Config\Security.config

  • 用户策略配置文件:%USERPROFILE%\Application data\Microsoft\CLR security config\vxx.xx\Security.config

请参见

参考

Mscorcfg.msc(.NET Framework 配置工具)

Caspol.exe(代码访问安全策略工具)

概念

指定程序集的位置

重定向程序集版本

公共语言运行时中的程序集

其他资源

.NET Framework 的配置文件架构

ASP.NET 配置设置

安全策略管理

Remote Objects

修订记录

日期

修订记录

原因

2011 年 3 月

更新了有关安全配置文件的信息。

内容 Bug 修复