由於各種原因,我們使用ilmerge將我們的所有應用程序集合放到一個文件中,以便用戶只需處理一個文件。不幸的是,似乎沒有辦法將.pdb文件與程序集合並在一起。任何人都知道解決這個問題的方法嗎?有沒有辦法將pdb文件與ilmerge合併?
19
A
回答
24
好吧,我想出了這一個,雖然它花了一段時間。
那篇文章有/ ndebug正好倒退。
從附帶ILMerge(ILMerge.doc,重點煤礦)的發行說明:
2.8 debuginfo軟公共BOOL debuginfo軟{獲得;組; } 當此參數設置爲true時, ILMerge爲 輸出程序集創建一個.pdb文件,並將其合併到爲其輸入程序集找到的任何 .pdb文件中。 如果你不希望一個.pdb文件的輸出組件創建 ,要麼設置 此屬性設置爲false或者指定 在命令行 的/ NDEBUG選項。默認值:true命令行選項 :/ NDEBUG
的解決方案是專門不有該標誌在命令行上。 ILMerge默認會合並pdb文件。確保源程序集的所有pdb文件位於相同的目錄中,與其關聯的dll一起,以便ILMerge可以找到它們。 (我們正在使用項目參考,並有一個ILMerge項目,該項目負責照顧此項需求。)
這是我的ILMerge csproj文件中的相關部分。
<Target Name="AfterBuild">
<CreateItem Include="@(ReferencePath)" Condition="'%(CopyLocal)'=='true'">
<Output TaskParameter="Include" ItemName="IlmergeAssemblies" />
</CreateItem>
<Exec Command=""..\..\Libraries\Ilmerge.exe" /copyattrs /allowMultiple /out:"@(MainAssembly)" "@(IntermediateAssembly)" @(IlmergeAssemblies->'"%(FullPath)"', ' ')" />
<Delete Files="@(ReferenceCopyLocalPaths->'$(OutDir)%(DestinationSubDirectory)%(Filename)%(Extension)')" />
</Target>
爲了完整起見,我使用的是最新版本的ilmerge.exe:版本2.10.219.0,隨着2010/2/19 9:49
-3
相關問題
- 1. 有沒有辦法將兩個.gcda文件合併爲一個?
- 2. 有沒有辦法將兩個gcov文件合併爲一個
- 3. 嘗試合併pdb文件時出現ILMerge異常
- 4. 有沒有辦法在reportlib中用python3合併PDF文件?
- 5. 有沒有辦法在pdf.js中合併PDF文件?
- 6. 有沒有辦法整合zephyr與github?
- 7. 我有沒有辦法將這3種方法合併爲1?
- 8. 如何使用ILMerge將XML文檔文件與DLL合併?
- 9. 有沒有辦法將這些查詢合併爲一個?
- 10. 有沒有辦法將這兩條線合併爲一個?
- 11. 有沒有辦法將python代碼合併到moinmoin頁面中?
- 12. 有沒有辦法將這3個查詢合併爲一個
- 13. 有沒有辦法將兩個LINQ查詢合併爲一個?
- 14. 有沒有辦法使用iTextSharp合併動態XFA文檔
- 15. 有沒有辦法將SQL列與LIKE結合起來
- 16. 有沒有辦法將spring roo與couchdb整合
- 17. 有沒有辦法將JSON文件捆綁到Jar文件?
- 18. 有沒有辦法讓pdb和Mac Terminal玩得很好?
- 19. 有沒有辦法將g套件服務整合到php中?
- 20. 用ILMerge合併.dll文件失敗
- 21. C#使用ILMerge合併.dll文件
- 22. 有沒有辦法切換JavaScript文件?
- 23. 有沒有辦法調試plist文件?
- 24. 有沒有辦法解壓JavaScript文件?
- 25. 有沒有辦法保護iCalender文件?
- 26. 有沒有辦法測試CSS文件?
- 27. 有沒有辦法區分C++文件?
- 28. 有沒有辦法將文本文件放入數據庫(SQLite)?
- 29. 有沒有辦法將兩個或更多.DEX文件合併到使用Scala的一個.DEX文件?
- 30. 有沒有辦法將標記與文本關聯?
最後修改日期,但爲什麼你需要的?你想添加只是作爲一個資源? – 2009-09-17 15:55:00
當應用程序崩潰堆棧跟蹤時,只顯示失敗的函數的名稱。通過可執行文件中的pdb文件,它還顯示出現錯誤的源文件中的行號。 – pat 2009-09-17 16:21:10