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