我有一个我构建的 .NET 3.5 类库,它读取一个 App.config 文件以获得它需要的值。当我在 Visual Studio 中测试它时,它可以很好地提取配置值。为了测试它,我只是将项目更改为控制台应用程序并执行方法调用。
我需要从许多其他 .NET 程序调用这个类库,我希望类库是自给自足的(我应该能够从任何其他程序调用它,并且它应该使用自己的配置文件,不知道任何调用配置文件等)。
我可以添加对 dll 的引用(因为我仍在开发中,我正在使用 VS 2008,还没有向 GAC 中添加任何东西)但是类库正在读取的 App.config 来自调用程序的 App .config,而不是类库的 App.config。
类库 dll 在同一目录中有它的配置文件,因此它应该能够很好地找到它,并且调用应用程序的名称不同。我在 App.config 中使用标准键值对(例如配置文件 myClassLibrary.dll.config 的名称)并使用以下代码行获取值:
String myVal = ConfigurationSettings.AppSettings["myConfigSetting"];
有人知道如何解决这个问题吗?
最佳答案
C# 中的应用程序域只能有一个程序集级别的 app.config 文件。 See here on MSDN .可执行文件将始终启动 AppDomain,并默认查找名称为:EXECUTABLE_NAME.config 的配置文件。例如,SampleApp01.exe 将查找 SampleApp01.exe.config 作为其配置文件。
关于c# - 加载了错误的 App.config,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/471042/