2011-01-05 63 views
2

我試圖合併vintasoft條碼sdk與我的數據訪問DLL,它不工作後ilmerge。任何想法,歡迎需要ILMerge提示

這裏是錯誤:

 
IndexOutOfRangeException: Index was outside the bounds of the array.] 
2.┌.©(Byte[] param0) in :0 
2.┌..cctor() in :0 

[TypeInitializationException: The type initializer for '2.┌' threw an exception.] 
2.┌.¥Σ() in :0 
Vintasoft.Barcode.WriterSettings..cctor() in :0 

[TypeInitializationException: The type initializer for 'Vintasoft.Barcode.WriterSettings' threw an exception.] 
Vintasoft.Barcode.WriterSettings..ctor() in :0 
Vintasoft.Barcode.BarcodeWriter..ctor() in :0 
_Default.buttonGenerateBarcode_Click(Object sender, EventArgs e) in E:\ILMergeSample\WebBarcodeWriterDemo\QRBarcode.aspx.vb:27 
System.EventHandler.Invoke(Object sender, EventArgs e) +0 
System.Web.UI.WebControls.Button.OnClick(EventArgs e) +111 
System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +110 
System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +10 
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +13 
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +36 
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1565 

在此先感謝

+1

歡迎使用Stackoverflow,請閱讀[常見問題](http:// stackoverflow.com/faq)。 – 2011-01-05 06:23:31

+0

什麼,具體來說,不工作 - 你的代碼,第三方代碼?你試圖診斷問題的是什麼?你得到什麼錯誤信息/異常?爲什麼你需要使用ilmerge?你有沒有嘗試任何合併的替代品? - 更新你的問題,包括這些信息將幫助我們給你答案。 – 2011-01-05 06:25:19

+0

合併程序集後,使條形碼編寫器的實例拋出異常。 – 2011-01-05 06:41:37

回答

1

您試圖合併混淆組裝。機會很好,它根本不會工作。

3

像leppie說的那樣,合併混淆的程序集通常會導致問題。

一種選擇是堅持違規DLL到嵌入的資源,並使用

byte [] bytes = Resources.SomeAssemblyDll; 
Assembly.Load(bytes); 

從那裏加載它,我們做它在我們的AppDomain的程序集解析器需求:

AppDomain.CurrentDomain.AssemblyResolve += new 
    ResolveEventHandler(CurrentDomain_AssemblyResolve); 

我們測試框架正在尋找的組件,以及是否需要從嵌入式資源中加載它。