将项目 A 的配置值读入项目 B

Reading config values from Project A into Project B

我在同一解决方案中有 2 个项目:一个是 windows 项目,另一个是控制台应用程序。他们在每个项目中都有 2 app.config。

我正在尝试将 windows 应用程序(项目 1)中的 .vshost.exe.config 的值读取到控制台应用程序(项目 2)中。

我发现很难将此配置文件的路径读入第二个项目。

实现此目标的任何指示都将大有帮助

有关配置文件的 .NET Framework 行为是每个版本一个程序集的行为。

路径由框架在内部管理:

UserAppData\Company\[AssemblyName]_Url_[some obfuscated id per version]

如果你想共享配置,你可以像这样创建一个手工制作的应用程序设置文件:

例如,您可以将其存储在 UserAppData\Company\SomeFixedName\ 或您想要的任何位置。

基本上我会重新考虑你的设计 - 特定项目的设置应该只能在该项目内读取。

例如如果您需要一些信息(比如从存储在 #1 项目配置文件 中的路径 "xxx" 获取一些数据,那么您的 #1 项目 应该有一个 public API 来做到这一点,#2 Project 应该只使用那个 API)

如果仍然非常需要这样做,那么您最好为此创建一个新项目或将这些配置存储在数据库中。