我正在開發一個C#.NET程序集(名稱:A.exe時)需要被延遲簽名,然後由第三方公司簽署全面。爲了延遲登錄,我使用公鑰。 程序集引用程序集B.Core.dll,B.Common.dll,B.Logging.dll,它們是公共庫的一部分。 B組件沒有延遲簽名,所以我使用ildasm/ilasm來拆卸它們並重新組裝延遲簽名。 我提交A.exe時和B.Core.dll,B.Common.dll,B.Logging.dll和他們現在完全簽名,然而,當它開始與錯誤抱怨:
無法加載文件或程序集「 Assembly B1 PublicKeyToken = null'
該問題不應與A.exe相關,因爲它引用了延遲簽名的程序集(它們的Strong Name屬性設置爲True),但我懷疑罪魁禍首是B.Core。
的確,B.Core引用了B.Common和B.Logging,而B.Common和B.Logging是相互獨立的。
錯誤的原因可能是B.Core使用非簽名B.Common裝配初步建成,然後拆卸和重新組裝所有三個組件並沒有改變引用... 爲了解決這個問題,我想要做的是將所有四個程序集合併爲一個延遲簽名程序集,作爲A的後期構建步驟。您認爲它會起作用嗎?
有一點要記住的是,B.Core使用.NET MEF動態加載導出接口從A請問這個過程中出現任何問題?
預先感謝您的幫助延遲簽名的程序集鏈
0
A
回答
0
我找到了解決辦法:我設法使用ILMerge四個組件合併成一個,因此一切都按預期。即使調試符號被「合併」成單個PDB文件(訣竅是在相應程序集的相同文件夾中有B.Core.pdb,B.Common.pdb和B.Logging.pdb)。
MEF所做的工作,從無怨言。
相關問題
- 1. 延遲簽名程序集
- 2. 在程序集中添加延遲
- 3. MEF CachedAssemblyCatalog - 延遲加載程序集
- 4. 強簽名的程序集
- 5. 在Compact Framework上延遲簽名
- 6. 加載延遲簽名組件在MEF
- 7. 無法加載文件或程序集:程序集可能已被篡改,或者延遲簽名,但沒有用正確的私鑰完全簽名
- 8. 延遲承諾鏈
- 9. UIwebView鏈接延遲
- 10. Dojo延遲鏈接
- 11. Raspberry Pi程序延遲
- 12. FPS延遲調度程序?
- 13. 延遲一個java程序
- 14. 延遲應用程序
- 15. 延遲加載程序
- 16. 延遲加載程序
- 17. 我延遲簽署的程序集正在調試。這是爲什麼?
- 18. .NET程序集簽名
- 19. 如何測量低延遲C++應用程序的延遲
- 20. 延遲的鏈路點擊
- 21. 從簽名程序集動態加載未簽名的程序集
- 22. 如何控制程序集中的延遲循環
- 23. .net中的延遲簽名和強名稱究竟是什麼?
- 24. 的Visual Studio:對簽名的程序集
- 25. Python Tkinter標籤延遲
- 26. UIButton標題標籤延遲
- 27. 延遲鏈接付款
- 28. 超鏈接延遲工作?
- 29. EventMachine延遲迴調鏈
- 30. Apache Storm:執行程序之間的關係,執行延遲和進程延遲?
正確的方法來表示你的問題解決了是接受一個答案(通過選擇複選標記,解決你的問題的答案旁)。有*沒有問題*自己發佈答案(雖然有一段時間才能接受它)。簡單的規則是問題屬於問題,答案屬於答案。我建議你從問題的底部提取答案,將答案*作爲答案*並在適當時間內接受答案。 –
謝謝,我遵循了你的建議。 – peval27