System.configuration的web.config和app.config中
-
20-09-2019 - |
题
虽然使用第三方DLL我得到以下异常:
必须指定exePath当独立的exe内没有运行
用下面的跟踪
System.Configuration.ConfigurationManager.OpenExeConfigurationImpl(ConfigurationFileMap fileMap,布尔isMachine,ConfigurationUserLevel的UserLevel,字符串exePath)。
我发现的原因是,它一直在寻找的app.config和我提供了在web.config中的细节。我的问题是:为什么system.configuration的web.config和app.config中区分?任何想法?
解决方案
<强>可执行文件:强>
若干.NET可执行可以住在同一目录中。因为不能在同一个目录的两个文件具有相同的名称,应用程序必须为其主要的配置文件使用不同的名称。所述applicationName.exe.config
方案解决这个问题。
网络应用/网站:强>
.NET Web应用程序被编译成DLL和网站通常只是在实时编译。因此,不存在“主入口点”,在这些类型的项目。它可以创建每个页面被编译到自己的程序集的Web项目。其中一个主要组件是什么?其装配,我们应该命名后的配置文件?
幸运的是,只有一个web项目,可以从一个单一的目录托管,所以只有一个主配置文件是要住在这里。这允许按照惯例被拾取的主配置文件名,和该文件名恰好是web.config
。
其他提示
web.config
是为您的网站,只有Web应用程序。它保持固定,即不改变其名称;它总是被称为web.config
。
app.config
对非Web应用程序 - 的WinForms,WPF,NT服务等,这将被重命名为当你建立你的项目YourApplicationName.exe.config
。你永远不会发现这个名字的app.config
在应用程序的目录(或如果你这样做,它不会被使用)。
为什么微软选择使用两种不同类型的名字 - 我不知道 - 问微软
。所以你基本上只需要知道你正在处理什么用,并提供在正确的位置信息。