2017-07-17 31 views
1

私は2つのDLLを埋め込む必要があるVisual Studioでプロジェクトに取り組んでいます。
これまでのところ、私はそれらのDLLを参照してきたが、その後、私は実際に私のEXEと同じフォルダ内のファイルがなくても、それらを使用することはできません。
はもちろん、私は、ユーザーが唯一のEXEが同様のDLLをダウンロードすることなく、それらを使用する必要がしたいです。
私はこれまでこのチュートリアルに従っているしようとした事:https://www.youtube.com/watch?v=lx2tSY4joDg
しかし、これは一つのファイルと悲しげには私のためではない仕事をしたチュートリアルです。プロジェクトにDLLを埋め込むには?

どうすればよいですか?ありがとう!

EDIT:プロジェクトがWindowsによって建設されたフォームアプリケーション。

+0

理由だけではなく、参照されたDLLは、ビルドに出力フォルダにコピーしていませんか? –

+0

好奇心の渦中に、exeとDLLを圧縮されたアーカイブ形式で提供してみませんか?それらを圧縮すると帯域幅が節約され、ほとんどのユーザーはファイルを解凍する方法に精通しています。アーカイブを自己解凍するとさらに簡単になります。 – Kdawg

+0

@KDawgサイズの点では、私のプログラムのサイズはまったく大きくありません。そして、アーカイブのことでは、ユーザーが解凍をするのをやめさせるのではなく、ソフトウェアがコンピュータ内のプロセスを単純化するため、すべてを単純に保つだけです。 – avi12

答えて

0

あなたは、あなたは、Visual Studioでビルドした後、あなたがこのようにライブラリをマージすることができILMerge

を使用する必要があります:あなたは、.NETのコアを使用していない限り

ilmerge /target:winexe /out:MergedAssembly.exe VSBuiltAssembly.exe Lib1.dll Lib2.dll 
+0

まだ私のために働かなかった。私はおそらく何か間違っている。私は3つのファイルをすべて同じディレクトリに置いてコマンドを実行し、フォルダはリフレッシュされましたが、それをテストすると(私はデスクトップにEXEを置いています)、動作しませんでした。 – avi12

+0

私は以下のチュートリアルをフォローしても何らかの理由で動作しませんでした:https://www.youtube.com/watch?v=a_r3tQ06xpE – avi12

0

を、それがありますCostura.Fody(回答したようにhere)でこれを行うのは本当に簡単です。

ただ、このようなnugetパッケージを追加し、それは基本的にそこからターンキーです! Install-Package Costura.Fody

+0

うまくいかなかった - 私はすべての3つのファイルがありますが、Windows Powershellがエラーを返しました。 http://i.imgur.com/0JyOa6j.png – avi12

関連する問題