2009-08-06 7 views
3

私はC#アプリケーションをいくつかのアセンブリを使用しているので、コンパイルすると私の.exeファイルと2つまたは3つの.dllファイルになります。理想的には、1つの.exeファイルのみが必要です。現時点ではILMergeを使用していますが、私が使用しているアセンブリはオープンソース(同じライセンスの下にあります)のように、ソリューションに追加して.exeにコンパイルする簡単な方法があるのでしょうか?1つのC#プロジェクトを別のファイルにコンパイル

私ははないが欲しいん何:

  • は私のメインの.exeファイル内のサブフォルダを作成し、そこに他のすべてのファイルをコピーする
  • 別の溶液として、それを追加するが、その後、私にそれを追加します。 "リンクとして追加する"というexeプロジェクト

私はILMergeが多かれ少なかれ私が望んでいると思っていますが、私がコンパイラレベルでマージを適用することができれば、それは私の望むものになります。

言うまでもなく、参照されているアセンブリにはmain()関数がないことは言うまでもなく、衝突は予期されません。

+0

実際にILMergeをビルド後のステップとして使用することで問題が発生することはありません。私は同じことをするだけで、問題なくシームレスに動作します。 –

答えて

1

これは一度も試したことがないので、これがうまくいくかどうかわかりませんが、アセンブリの代わりにnetmoduleに.netコードをコンパイルするオプションがあります。理論的には、他のアセンブリに追加することができます。それについてはherehereについて読むことができます。

2

埋め込みリソースとして依存関係を追加してからload themを手動で追加することもできますが、これはコードを変更する必要があり、理想的ではありません。

私はILMergeが最良の選択肢だと思います。

関連する問題