2

我有一个包含两个不同版本(v1 和 v2)的程序集。这些程序集的两个版本都有一个自定义的 ConfigurationSection。我们将此配置部分的部分设置在 machine.config 级别。对于 GAC 中的单个程序集,一切正常。

我现在将程序集的 v2 添加到 GAC。
我将新的配置部分添加到 machine.config 并将其指向 v2。一切都很好,因为它们都指向相同的配置部分并读取相同的部分数据。

假设其中一个配置值是端口号,我需要在 v1 上与在 v2 上不同。我该如何处理这种情况?有没有办法将配置部分别名为指向 machine.config 文件中的不同元素?

我考虑过更改配置部分的名称属性以包含版本,然后在程序集中我可以使用 ConfigurationManager.GetSection("MyConfigSection" + MyCurVersionDeterminedSomehow) 动态加载它,但这似乎是一个 hack。

我也可以有多个版本的配置节类,但这似乎是一条极其错误的道路。

4

0 回答 0