首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >什么是Machine.config,Web.config,App.config

什么是Machine.config,Web.config,App.config
EN

Stack Overflow用户
提问于 2013-07-12 06:43:38
回答 1查看 7.1K关注 0票数 3

有人能告诉我Machine.config,Web.config,App.config之间有什么区别吗?

EN

回答 1

Stack Overflow用户

发布于 2013-07-12 06:51:19

它们都是.NET XML配置文件,用于处理它们的API称为System.Configuration (不幸的是,这并不是最容易处理的)。

machine.config为在安装.NET (即计算机机器)上运行的所有.NET应用程序(相同CLR版本)设置配置。此文件存储在%windir%\Microsoft.NET\Framework\%version%\CONFIG下。(请注意,.NET 3.0和3.5没有自己的machine.config,因为它们使用2.0CLR)。

applicationHost.config设置IIS的配置,然后由IIS的子对象(如网站和应用程序池)继承。该文件位于IIS的文件夹中,对于“真实”IIS,这是%windir%\system32\inetsrv\config,IIS是%programfiles%\IIS Express\AppServer您可以在MSDN上阅读更多内容。

web.config最初是ASP.NET特有的,用于在每个应用程序和每个目录的基础上设置配置。

  • 某些配置项只有在应用程序作用域根目录中的web.config文件中( IIS中的“魔术”类型文件夹,也是bin目录所在的位置)时才会生效。
  • 在IIS7.0及更高版本中,web.config文件还用于存储本地applicationHost.config配置,以替代applicationHost.config,例如,如果您想直接将配置存储在文件系统中(这样您就可以物理地移动目录树并保留配置,而无需直接或使用IIS更改applicationHost.config )。
    • 您可以通过在树节点的特性视图中使用“配置编辑器”选项来指示instead使用web.config而不是applicationHost.config。

  • 配置由子目录继承,可以被重写(因此,如果/foo有一个web.config文件,那么/foo/bar就可以有自己的web.config来重写或扩展/foo的配置中定义的设置. )。
    • 令人困惑的是,还有一个<location>元素,它允许您从父配置文件中设置和覆盖目录的子配置。

app.config不是一个实际的文件名(开发期间除外),它指的是桌面和控制台应用程序的EXE特定配置。配置文件与*.exe本身位于同一个文件夹中,并与程序具有相同的名称(例如:"MyProgram.exe“将有一个名为”MyProgram.config“的配置文件)。在构建过程中部署配置文件时,Visual将" App.config“重命名为”MyProgram.exe.config“。App.config不适用于ASP.NET项目。

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17608939

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档