投稿者 SSD  (社会人) 投稿日時 2022/6/21 09:42:59
埋め込まれたリソースの読込について教えてください。
環境はVisual Studio 2019 Community, .Net Framework 4.7.2です。

プロジェクト内に配置したXMLファイルを読み込もうとしています。
対象のファイルのビルドアクションを「埋め込みリソース」にして、
assembly.GetManifestResourceStreamによって読み込むコードを作りしました。

ソリューションの構成、対象のファイルは以下のようにしています。
https://drive.google.com/file/d/11PCk-PxeD5K0oBHfpU6HsiZaQYFuTqLt/view?usp=sharing
https://drive.google.com/file/d/1TEaRJ7v3CADpFj5EgGiQVbkzBf3bX-Yq/view?usp=sharing

※いくつか試したのですが、[IMAGE]タグ?で表示できなかったので画像のURLを直貼りしました。
お手数ですが、URLをコピーの上ブラウザの別画面でご覧ください


コードは以下のような感じです。
    Public Sub SetItems()
        Dim assembly As Assembly = Assembly.GetExecutingAssembly
        '↓この時点でstreamがNothing = 読み込まれていない 
        Dim stream As Stream = assembly.GetManifestResourceStream("SHConvert.XML.CSVLayout.xml")
        Dim xmlDocument As New XmlDocument()
        '↓これはエラー(NullArgument) 
        xmlDocument.Load(stream)
        '↓こっちだとうまくいく 
        xmlDocument.Load("[社内共有フォルダのパス]\CSVLayout.xml")
    End Sub


このコードでデバッグを開始すると、
xmlDocument.Load(stream)の部分でエラーになります。
社内サーバーの共有フォルダに保存した同じファイルのコピーを読み込む
xmlDocument.Load("[社内共有フォルダのパス]\CSVLayout.xml")
の方であればうまく読み込めます。

リソースの指定文字列は間違っていないと思うのですが、なぜか読み込んでくれません。
もし原因が分かる方いらっしゃいましたら教えて頂けないでしょうか?