これについてはここにたくさんの投稿があります。私は別のSO投稿からこのコードを使用し、Main()メソッドにデリゲートの割り当てを配置しています。他の投稿はどれも私の質問に直接答えていません。
サードパーティのアセンブリをリソースとして埋め込んでいますが、アプリを起動すると次のようになります。
- FileNotFoundExceptionの内部を持つTypeInitializationExceptionが発生しています。ファイルシステムでアセンブリを見つけようとして失敗します。
- AssemblyResolveのイベントハンドラーが割り当てられているMainメソッドに到達することはありません。
Resources.resxに埋め込まれている2つのアセンブリ参照があります。1つはサードパーティツール(コマンドラインパーサー)で、もう1つはアプリケーションの要点が存在するライブラリファイルです。
たぶん、これはコンソールアプリでは不可能ですか?ありそうもないようですが、私はそれを回避する方法がわかりません。
Re:ILMergeなど:ツールを使用せずに、これを完全にコードで実行したいと思います。理由:リポジトリにソースコードを入れたくないので、他のチームメンバーがおそらくまだ持っていないツールをインストールする必要があります。それが不可能な場合、ILMergeは次善の選択肢のように見えます。