参照されたdllを使用したC#ソリューションがあります(同じ.NetバージョンのC#も)。ソリューションをビルドして結果のexeを実行すると、exeと参照されたdllをマージせずに、すべて正常に動作します。
これらを1つのexeにマージしたいと思います。ILMerge を実行すると、すべて正常に動作しているように見えます。私はexeを実行しようとしましたが、参照されたdllで定義されたオブジェクトを逆シリアル化しようとするまで、問題なく実行されているようです。
using (Stream fstream = new FileStream(file_path, FileMode.Open))
{
BinaryFormatter bf = new BinaryFormatter();
return bf.Deserialize(fstream) as ControlledRuleCollection;
// throws unable to find assembly exception
}
ここに欠けているILMergeオプションはありますか?