2017-02-27 10 views
1

私はこの問題を解決するためにネット上にあるほとんどすべてを試しましたが、うまくいかないようです! wpfを使用してVisual Studio 2013プロジェクトから.exeファイルを作成しました。私はこのファイルにpdfsを作成したいので、itextsharpに関する参考文献.dllsを追加しました。 私の.exeファイルをitextsharpの.dllと同じディレクトリに置いておくと、すべてうまく動作します。しかし、外部に.exeを実行しようとすると、プログラムがクラッシュします。外部の.dllで.exeファイルを作成する方法

私はILMergeを使用しようとしましたが、.exeと.dllをマージするのはかなり良いですが、新しく作成した.exeファイルをダブルクリックしても何も起こりません。

私は私のコマンドウィンドウに書いたコマンドは、一度ILMergeフォルダにあった:あなたの助けのための

ilmerge C:\Users\Utente\Desktop\PDFWriter.exe C:\Users\Utente\Desktop\itextsharp.dll /out:C:\Users\Utente\Desktop\merged.exe /target:winexe /targetplatform:"v4,C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5" 

ありがとう!

+2

通常、EXEと同じフォルダにDLLを配置します。なぜあなたはそれ以外の何かをしたいのですか? –

+0

@ JoeWhiteの周りにたくさんのdllをドラッグする必要性を避けるために –

+2

毎回ビルドの後にそのilmergeを実行する必要があります。あなたはそれをやりました?また、イベントログを確認し、アプリで例外処理を追加します。それはあなたに問題を指摘するかもしれません。 –

答えて

1

マージのためにFody.Cosuraプロジェクトを使用してください。 ILMergeよりもうまく動作します。

PM> Install-Package Costura.Fody 

そして、あなたはかなり行われています。

あなたがする必要があるのは、プロジェクトにnugetパッケージをインストールすることです。 configurationを調整することはできますが、パッケージをインストールするだけで大​​丈夫ですので、必ずしも必要というわけではありません。

+1

ありがとう!それはうまく動作し、あなたは私に大きな問題を解決:)感謝! – Aranel

関連する問題