我有2个项目的解决方案;我们称它们为项目A(基础项目)和项目B(用于项目A中方法的一些测试) 在项目A中,我使用App.config存储一些配置选项,例如连接字符串和appsettings。
当我将项目B设置为启动项目并从A运行方法时,程序会在B的app.config中(而不是A)中查找配置,这些配置选项不存在。 这将导致“ System.NullReferenceException”。
(当我将A设置为我的启动项目,并且从A中访问该方法时,它工作正常) 我该如何解决?我希望我的项目A始终使用自己的app.config文件。
答案 0 :(得分:0)
如前所述,加载的应用程序确定加载哪个app.config。 如果可能,请尝试提取要在项目库C中测试的方法。
另一种解决方案是在永恒的配置文件中加载配置设置。 Write appSettings in external file
对此进行了说明A和B都需要在自己的app.config中进行一些编辑以引用外部配置文件。
答案 1 :(得分:0)
查看ProjA \ bin \ Debug。那里有ProjA.exe.config文件。当您运行ProjA.exe时,该进程将从ProjA.exe.config中读取配置设置。
对于测试项目ProjB,它将是ProjB \ bin \ Debug以及ProjB.dll和ProjB.dll.config。
是的,您需要将配置设置复制到ProjB \ App.config文件中,以使其正常工作。