2017-02-27 57 views
1

我已經嘗試了網上找到的幾乎所有東西來解決這個問題,但它似乎不起作用! 我使用wpf從visual studio 2013項目創建了一個.exe文件。我想要這個文件來創建PDF文件,所以我添加了關於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

通常你只要把你的DLL在同一文件夾中的EXE。你爲什麼想做一些不同的事情? –

+0

爲了防止需要拖拽@JoeWhite周圍的噸的dll –

+2

你必須在每次構建後運行ilmerge。是你做的嗎?還要檢查事件日誌,並在您的應用程序中添加異常處理。它可能會指出你的問題。 –

回答

1

使用Fody.Cosura項目進行合併。與ILMerge相比,合作很多。

所有你需要做的是在項目中安裝NuGet包:

PM> Install-Package Costura.Fody 

而你幾乎完成。您可以調整configuration,但這並不總是必需的,因爲只需安裝該軟件包即可滿足您的需求。

+1

非常感謝!它工作正常,你解決了我一個大問題:)謝謝! – Aranel