DLLのプロジェクトはClassLibrary1という名前で、sample.txtというファイルが登録済みであり、ビルドアクションを「埋め込まれたリソース」に変更済みとする。
using System;
using System.Reflection;
using System.IO;
class Program
{
static void Main(string[] args)
{
const string path = @"リソースを持っているDLLのパス名";
var assem = Assembly.ReflectionOnlyLoadFrom(path);
using (var stream = assem.GetManifestResourceStream(@"ClassLibrary1.sample.txt"))
{
var reader = new StreamReader(stream);
Console.WriteLine(reader.ReadToEnd());
}
}
}
リソースを使ったのが初めてというわけではありませんが、ロードせずに(ReflectionOnlyLoadFromは使っているが実行されることはない)という条件を付けると急に面倒くさくなる感じ。ネットを検索してもロードしている場合のサンプルばかり。