【发布时间】:2012-02-21 18:33:44
【问题描述】:
我有一个项目正在移植到 Mono 下的 Linux 上工作。该项目包括多个 C# 库,它们有自己的用户范围的应用程序设置(通过 VS2008 自动生成)。最终,该项目将在 Windows 的 .NET 和 Ubuntu 10.04 的 Mono 上运行。
在 Windows 中运行时,应用程序设置存储在单个 user.config 文件中,每个库都有单独的配置部分:
<configuration>
<configSections>
<sectionGroup name="userSettings" type="UserSettingsGroup ...>
<section name="LibFoo.Properties.Settings" type="ClientSettingsSection ... />
<section name="LibBar.Properties.Settings" type="ClientSettingsSection ... />
</sectionGroup>
</configSections>
<userSettings>
<LibFoo.Properties.Settings>
<setting name="strFoo" serializeAs="String">
<value>An example string value.</value>
</setting>
</LibFoo.Properties.Settings>
<LibBar.Properties.Settings>
<setting name="strBar" serializeAs="String">
<value>An example string value.</value>
</setting>
</LibBar.Properties.Settings>
</userSettings>
</configuration>
在 Ubuntu 中,创建了一个 user.config,但是,我发现只为首先调用 Properties.Settings.Save() 的库创建了一个部分,并且所有库都使用相同的部分:
<configuration>
<configSections>
<sectionGroup name="userSettings" type="UserSettingsGroup ... >
<section name="LibFoo.Properties.Settings" type="ClientSettingsSection ... />
</sectionGroup>
</configSections>
<userSettings>
<LibFoo.Properties.Settings>
<setting name="strFoo" serializeAs="String">
<value>An example string value.</value>
</setting>
<setting name="strBar" serializeAs="String">
<value>An example string value.</value>
</setting>
</LibFoo.Properties.Settings>
</userSettings>
</configuration>
当库之间的设置具有相同名称时,这变得特别麻烦。
这是 Mono 中的一个错误,还是我需要为 Mono 更改一些内容以便为我的库设置生成单独的部分?
- Ubuntu v10.04
- 单运行时 v2.10.8
- Visual Studio 2008 专业版
【问题讨论】:
-
如果您有使用或具有相同名称的库..您是否考虑过完全限定命名空间或更好的别名..?
-
@DJ KRAZE - 如果我理解你的建议,我想我可能误导了你。没有一个库具有相同的名称,但它们的应用程序设置可能。