我有一个包含两个不同版本(v1和v2)的程序集。这些程序集的两个版本都有自定义ConfigurationSection。我们在machine.config级别设置了此配置部分的部分内容。一切都像GAC中的单个程序集一样有效。
我现在将程序集的v2添加到GAC 我将新配置部分添加到machine.config并将其指向v2。一切都很好,因为它们都指向相同的配置部分并读取相同的部分数据。
让我们说其中一个配置值是一个端口号,我需要在v1上与在v2上不同。我该如何处理这种情况?有没有办法将配置节别名指向machine.config文件中的不同元素?
我考虑过更改config部分的name属性以包含版本,然后在程序集中我可以使用ConfigurationManager.GetSection(“MyConfigSection”+ MyCurVersionDeterminedSomehow)动态加载它,但这看起来像是一个黑客。
我也可以有多个版本的配置节类,但这似乎是一个非常错误的路径。