resx ファイルを作成してストリームに書き込もうとしているので、すぐにファイルに保存するのではなく、文字列として返すことができます。ただし、そのストリームを読み込もうとすると、空です。ここで何が間違っていますか?エントリがnullでないことを確認しました。ディスクに正常に保存する ResXResourceWriter コンストラクターを実際に使用できますが、一時ファイルの使用を避けようとしています。また、ループ前のストリームの長さが 0k で、ループ後のストリームの長さが約 8k であることがわかります。
using (var stream = new MemoryStream())
{
using (var resx = new ResXResourceWriter(stream))
{
// build the resx and write to memory
foreach (var entry in InputFile.Entries.Values)
{
resx.AddResource(new ResXDataNode(entry.Key, entry.Value) { Comment = entry.Comment });
}
var reader = new StreamReader(stream);
var text = reader.ReadToEnd(); // text is an empty string here!
return null;
}
}