有谁能告诉我Machine.config,Web.config,App.config有什么区别?
答案 0 :(得分:5)
它们都是.NET XML配置文件,使用它们的API称为System.Configuration
(不幸的是,它不是最容易使用的)。
machine.config
设置在Windows安装(即计算机)上运行的所有.NET应用程序(相同CLR版本)的配置。此文件存储在%windir%\Microsoft.NET\Framework\%version%\CONFIG
下。 (请注意,.NET 3.0和3.5没有自己的machine.config,因为它们使用的是2.0 CLR。)
applicationHost.config
设置IIS的配置,然后由IIS的子对象(例如网站和应用程序池)继承。此文件位于IIS'文件夹中,对于“真正的”IIS,这是%windir%\system32\inetsrv\config
,对于IIS Express,这是%programfiles%\IIS Express\AppServer
。 You can read more on MSDN
web.config
最初是特定于ASP.NET的,用于在每个应用程序和每个目录的基础上设置配置。
bin
目录所在的位置)。applicationHost.config
,例如,如果要将配置直接存储在文件系统中(这样您就可以实际移动目录树和保留配置,无需直接或使用IIS管理器更改applicationHost.config。
/foo
具有web.config文件,那么/foo/bar
可以拥有自己的web.config来覆盖或扩展{{1}中定义的设置1}}的配置。
/foo
元素,它允许您从父配置文件中设置和覆盖目录的子配置。 <location>
不是实际文件名(开发期间除外),并且是指桌面和控制台应用程序的EXE特定配置。配置文件与app.config
本身位于同一文件夹中,并且与程序名称相同(例如“MyProgram.exe”将具有名为“MyProgram.config”的配置文件)。在构建过程中部署配置文件时,Visual Studio将“app.config”重命名为“MyProgram.exe”。 App.config不适用
到ASP.NET项目。