過去数日間、私は単一の実行可能ファイル内のアセンブリのマージに苦労していました。単一の実行可能ファイルをユーザーに配布できるようにします。私ILMerge
はこれとは別にこれを行うことを知りましたILMerge
、それを行うように見えるツールは他にもいくつかあります。BoxedAPP
パッカーも試してみSmartAssembly
ました。NetShrink
うまく機能しているようですが、すべて有料ツールです。そこで、Googleを閲覧して検索し、StackOverflowから多くの作業を行った後、タスクを完了したかったのでILMerge
、解決策を見つけました。
アセンブリをマージするために、以下の一連の行を試しました
c:\"Program Files"\Microsoft\ILMerge\ILMerge.exe"
/lib:"C:\Windows\Microsoft.NET\Framework\v3.5"
/lib:"C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\PublicAssemblies"
/t: winexe
/target:exe
/targetplatform:v3.5,C:\Windows\Microsoft.NET\Framework\v3.5
/out:”MergedProduct.exe”
"$(TargetDir)Product.exe"
"$(TargetDir)CButtonLib.dll"
"$(TargetDir)Common Tools.dll'
"$(TargetDir)Core.dll"
"$(TargetDir)ProgressIndicator.dll"
"$(TargetDir)TaskScheduler.dll"
Build-Events>Post-Buildeventコマンドライン内で上記の一連の行を使用しました
プロジェクトをビルドした後、ビルドが成功したときに取得しました。また、アプリケーションのビルド中は、F5キーを押してデバッグを開始したかのように実行されます。したがって、要約すると、上記の一連の行は正しいと確信していますが、出力実行可能ファイル(つまりMergedProduct.exe
)がどこにも見つかりませんでした。Visual Studio 9.0のモードも使用してみましRelease
たが、それでも出力のマージされた実行可能ファイルが見つかりませんでした。
私が行方不明になっていることは本当に明白なことですか?
Product.exe.config
また、を使用してファイルをマージできますILMerge
か?
どんな助けや提案も本当にありがたいです。