代码之家  ›  专栏  ›  技术社区  ›  Prashant

system.configuration web.config和app.config

  •  5
  • Prashant  · 技术社区  · 16 年前

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

    当不在独立的exe中运行时,必须指定exepath

    带有以下跟踪

    system.configuration.configurationmanager.openexeconfigurationimpl(configuration filemap filemap,boolean ismachine,configuration userlevel userlevel,string exepath)。

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

    2 回复  |  直到 7 年前
        1
  •  7
  •   yoozer8    14 年前

    Executables:

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

    Web应用程序/网站:

    .NET Web应用程序被编译为DLL,而网站通常是及时编译的。因此,在这些类型的项目中没有“主要入口点”。可以创建一个Web项目,其中每个页面都编译为自己的程序集。哪个是总成?我们应该在哪个程序集之后命名配置文件?

    幸运的是,一个目录只能承载一个Web项目,所以这里只能驻留一个主配置文件。这允许按照约定选择主配置文件名,而该文件名恰好是 web.config .

        2
  •  6
  •   marc_s MisterSmith    16 年前

    web.config 仅用于您的网站和Web应用程序。它保持不变,也就是说,它不改变名字;它总是被称为 Web.CONFIG .

    app.config 用于非Web应用程序-winforms、wpf、nt services等。将重命名为 YourApplicationName.exe.config 当你建立你的项目。你永远找不到 App.CONFIG 在应用程序的目录中使用该名称(如果使用,则不会使用该名称)。

    为什么? 微软选择使用两种不同的名字——我不知道——问微软。

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

    推荐文章