MonoでLinux上で動作するように移植されているプロジェクトがあります。プロジェクトには、複数のC#ライブラリが含まれています。これらのライブラリには、ユーザースコープのアプリケーション設定(VS2008経由で自動的に生成されます)があります。結局のところ、このプロジェクトはWindowsでは.NETで、Ubuntu 10.04ではMonoで実行されます。Monoで複数のC#ライブラリのアプリケーション設定(Linux)
のWindowsで動作し、アプリケーションの設定は、各ライブラリに個別の構成セクションを持つ単一のuser.configファイルに格納されている場合:単一user.configが作成され、Ubuntuので
<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>
、しかし、私は見つけます唯一つのセクションがどのライブラリ用に作成されていることは、最初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 Professionalの
あなたが同じ名前を持っている、または同じ名前のライブラリを持っているなら、名前空間を完全修飾することを考えましたか? – MethodMan
@DJ KRAZE - 私があなたの提案を理解すれば、私はあなたを欺いたかもしれないと思います。同じ名前のライブラリはありませんが、アプリケーションの設定は可能です。 – walkingTarget