読者です 読者をやめる 読者になる 読者になる

ちんとんがめ♪色々備忘録・・・

なんか、メモ的な感じで使えればいいなみたいな。。。前検索したけど、忘れて同じもの検索するのって面倒だよね?・・・でも、結局検索するみたいな。。。

exeファイルとdllファイルを一つにしてみる???

プログラミング C#

C#でexeファイルを作ってみたけど、dllは別ファイルだった。
どうしようと思ったら、下記サイトに「ビルド後に実行するコマンドライン」に
ILMergeをダウンロードして、
「set fname_new=$(TargetName)_merge$(TargetExt)
"C:¥Program Files¥Microsoft¥ILMerge¥ILMerge" /wildcards /out:%fname_new% $(TargetFileName) *.dll」を入れればいいって書いてあった。

.NET - 実行ファイルとDLLを一つにまとめる - Qiita

↓ILMerge
Download ILMerge from Official Microsoft Download Center

でも、自分のは「Visual Studio Community 2013 Update 4」
・・・できるのか?って思って、
もうチョイ検索してみたら、下記サイトに
このオプション「/targetplatform:v4,
をつけるといけるって書いてあった。。。

備忘録 | C#で実行ファイルにdllを埋め込む

「ビルド後に実行するコマンドライン」に
「set fname_new=$(TargetName)_merge$(TargetExt)
"C:\Program Files\Microsoft\ILMerge\ILMerge" /wildcards /out:%fname_new% $(TargetFileName) *.dll /targetplatform:v4,"C:\Windows\Microsoft.NET\Framework\v4.0.30319"」

を入れてやってみた。


けど、うまくいかず。。。
よく見たら、ここのサイトは「Visual Studio 2012 Express for Windows Desktop」だった
Expressじゃないからだめなのか?

くそっと思って、コマンドプロンプトでやってみたら、出来たよ(笑)
いちいちめんどくさいけど、とりあえず、これで行くしかないか~~~?
なんか、他にあったら教えてほしいっす。

例)
>cd c:\test\
>"C:\Program Files (x86)\Microsoft\ILMerge\ILMerge.exe" /wildcards /out:test_new.exe test.exe *.dll /targetplatform:v4,"C:\Windows\Microsoft.NET\Framework\v4.0.30319"

出力されたファイルは2つ?ん?
test_new.exe
test_new.pdb

「test_new.exe」を別ディレクトリに移動して実行してみたけど、特にエラーは出てなかった。。。
でも、不安~・・・まぁ、とりあえずは、いいか。。。