System.configuration web.config和app.config

Pra*_*ant 5 c# asp.net system.configuration

在使用第三方DLL时,我遇到以下异常:

不在独立的exe内部运行时必须指定exePath

具有以下痕迹

System.Configuration.ConfigurationManager.OpenExeConfigurationImpl(ConfigurationFileMap fileMap,Boolean isMachine,ConfigurationUserLevel userLevel,String exePath).

我找到的原因是它正在寻找app.config,我在web.config中提供了详细信息.我的问题是:为什么system.configuration会区分web.config和app.config?有什么想法吗?

Jør*_*ode 7

可执行文件:

几个.NET可执行文件可以存在于同一目录中.由于同一目录中不能有两个具有相同名称的文件,因此应用程序必须为其主配置文件使用不同的名称.该applicationName.exe.config计划解决了这个问题.

Web应用程序/站点:

.NET Web应用程序被编译为DLL,并且网站通常是即时编译的.因此,在这些类型的项目中没有"主要切入点".可以创建一个Web项目,其中每个页面都编译为自己的程序集.哪一个是主要组件?我们应该在哪个程序集中命名配置文件?

幸运的是,只能从一个目录托管一个Web项目,因此只有一个主要配置文件可以在这里存在.这允许按惯例选择主配置文件名,并且该文件名恰好是web.config.


mar*_*c_s 6

web.config仅适用于您的网站和Web应用程序.它保持固定,即不改变其名称; 它总是被称为web.config.

app.config适用于非Web应用程序 - Winforms,WPF,NT Services等.这将YourApplicationName.exe.config在您构建项目时重命名.您将永远不会app.config在应用程序的目录中找到该名称(或者如果您这样做,它将不会被使用).

为什么微软会选择使用两种不同的名字 - 我不知道 - 请问微软.

所以你基本上只需知道你正在处理什么,并在正确的地方提供信息.