C#プロジェクトでは、デフォルトでEmbedded Resource
の生成されたリソース名には、名前付けされた有効な言語識別子となるように、ある程度マングリングが行われます。埋め込みリソースの生成されたManifestResourceNameを変更する方法
たとえば、Foo/Bar/123.txt
は{Default Namespace}.Foo.Bar._123.txt
になり、asm.GetManifestResourceStream("Yuck.Foo.Bar._123.txt")
でロードする必要があります。
asm.GetManifestResourceStream("Foo/Bar/123.txt")
のようにロードすることができるので、仮想ファイルシステムをよりよくシミュレートするために、私のリソースにはFoo/Bar/123.txt
のような相対パスを保持する方がはるかに簡単です。
私は、.Netはリソース名に制限を設けていないことがわかっているので、実現可能なようです。
しかし、ビルドエンジンでわかりやすいパス名を生成するにはどうすればよいですか?