古い INI ファイルを長年使用してきた経験から、最近 XML ファイルの使用を開始しました。
私の同僚が、System.Xml.XmlDocument.Save を使用する CodeProject サンプル コードを見つけました。2 つのプログラムが同時に同じファイルに書き込もうとすると、例外が発生します。
System.IO.IOException: 別のプロセスで使用されているため、プロセスはファイル 'C:\Test.xml' にアクセスできません。
これは後から考えると明らかですが、Win32 API を介した INI ファイルへのアクセスにはこの制限がないため、予期していませんでした。XmlDocument.Save メソッドよりも高いレベルで機能する Win32 呼び出しによって何らかの調停が行われると思います。
.Net ライブラリのどこかに、Win32 関数と同様に機能する高レベルの XML ルーチンがあることを願っていますが、どこから探し始めればよいかわかりません。
それとも、複数のプログラムが同じファイルに書き込めるようにファイル アクセス許可を設定できますか?
時間は短く (ほぼすべての SW プロジェクトと同様)、解決策がすぐに見つからない場合は、我慢して INI ファイルに戻る必要があります。