翻譯|使用教程|編輯:李顯亮|2021-03-09 10:34:50.947|閱讀 252 次
概述:Microsoft Office主互操作程序集使我們能夠從.NET應(yīng)用程序創(chuàng)建和修改Excel電子表格。應(yīng)用保護(hù)時,我們必須保留其中一些嵌入式類型和方法,以維護(hù)COM的互操作性。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
Microsoft Office初級互操作程序集使我們能夠從.NET應(yīng)用程序中創(chuàng)建和修改Excel電子表格。 像Excel這樣的Office應(yīng)用程序是用非托管代碼編寫的。 主互操作程序集提供了包裝器,以便從受管的.NET應(yīng)用程序中調(diào)用非受管的COM對象。
默認(rèn)情況下,當(dāng)您引用Office主互操作程序集時,互操作類型會被嵌入到您的應(yīng)用程序中,以避免必須部署額外的程序集。 在應(yīng)用保護(hù)時,我們必須保留其中的一些嵌入式類型和方法,以保持 COM 的互操作性。
本文將使用Dotfuscator將這個簡單的 C# 應(yīng)用程序使用 Excel Interop 創(chuàng)建電子表格并填充單元格。
當(dāng)使用Dotfuscator申請完全保護(hù)時,在運行時遇到一個TypeLoadException。
為了避免這個錯誤,將為嵌入式Interop類型配置一個重命名排除。 所有嵌入的Interop類型都在Microsoft.Office.Interop.Excel命名空間中。 需要保留的特定類型是接口,其中大部分包含"_VtblGapX_XX "形式的占位符方法,也必須保留。
基于這些模式,可以利用自定義規(guī)則來簡化重命名配置。 從我的DotfuscatorConfig.xml中。
配置這個規(guī)則后,受保護(hù)的輸出能正常運行,我的電子表格也被創(chuàng)建了。
以上模式很通用,如果用Office主界面程序集創(chuàng)建任何類型的Office文檔,都可以使用。Excel電子表格、PowerPoint演示文稿、Word文檔等。
完整的例子可以在這里下載。
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請郵件反饋至chenjj@fc6vip.cn