C# | 埋め込まれたリソースの取得
XMLFile1.xml と XMLFile2.xml は「埋め込まれたリソース」に設定。
以下の手順で読み取る。
1.ソースが埋め込まれているAssemblyを取得する。
2.GetManifestResourceStreamでリソースを読み込む
3.リソース名は プロジェクト名.フォルダ名.ファイル名
MainProjectからXMLFile1.xmlを読みに行くには
// XMLFile1が埋め込まれているアセンブリを取得 Assembly executingAssembly = Assembly.GetExecutingAssembly(); using (Stream stream = executingAssembly.GetManifestResourceStream( "MainProject.MainResourceFolder.XMLFile1.xml")) { //略 }
ReferenceProjectからXMLFile2.xmlを読みに行くには
// XMLFile2が埋め込まれているアセンブリを取得 Assembly executingAssembly = Assembly.GetExecutingAssembly(); using (Stream stream = executingAssembly.GetManifestResourceStream( "ReferenceProject.ReferenceResourceFolder.XMLFile2.xml")) { //略 }
ReferenceProjectからXMLFile1.xmlを読みに行くには
// XMLFile1が埋め込まれているアセンブリを取得 Assembly executingAssembly = Assembly.GetEntryAssembly(); using (Stream stream = executingAssembly.GetManifestResourceStream( "MainProject.MainResourceFolder.XMLFile1.xml")) { //略 }参照関係から言って、これやるぐらいなら、MainProjectでリソース読み込んで、ReferenceProjectに渡したほうが自然だよね。