簡體   English   中英

在VB.NET中使用由.NET程序集調用的本機DLL

[英]Using Native DLLs called by .NET Assemblies in VB.NET

我正在嘗試在我的VB.NET項目中使用第三方DLL(3-Heights的PDFExtract)。 該軟件包帶有2個.NET DLL,我應根據手冊將其添加為項目中的引用,並將第三個本機DLL作為現有項添加到項目中。

幫助說:“ 3-Heights™PDF Extract API並不提供純的.NET解決方案。它由添加到項目中的.NET程序集和由.NET程序集調用的本機DLL組成。在安裝和部署工具時必須考慮到這一點。”

我完全按照步驟操作,但是當我嘗試從DLL初始化對象時出現以下錯誤:“ MyProject.exe中發生了'System.TypeInitializationException類型的未處理的異常”其他信息:'Pdftools.PdfExtract的類型初始化程序。文檔拋出異常。”

根據幫助手冊,這表明Windows無法找到本機DLL。

下載的軟件包包含示例VB.NET項目,該項目出奇地運行而沒有問題。 我比較了兩個項目,找不到與該問題有關的任何內容。 如果我以該示例項目為起點,然后在其頂部添加文件並調用我的過程,則代碼將起作用! 我的項目中肯定缺少某些設置或鏈接。 任何想法?

我的問題是我想創建一個DLL,所以我需要一個新的類庫項目。 因此,我不能從示例項目開始,該示例項目是Windows窗體項目。

我的問題是:在示例項目中有沒有隱藏的設置或指向DLL的鏈接,而在我的項目中沒有? 否則,我看到的原因可能是什么?

好吧,受bansi的啟發,我檢查了“編譯器”選項卡中正常工作的示例項目與無法正常工作的項目之間的差異,並在標記為“首選32位”的復選框中找到了差異。 此功能在示例中被禁用並顯示為灰色,但在我的項目中被選中(可能是因為該項目默認設置為使用.NET Framework 4和mine 4.5)。

我取消選中“首選32位”復選框,並選擇了.NET Framework 4,然后一切變得很酷! 不知道是什么原因導致了問題,但是至少我的項目現在可以編譯並正常運行了。

再次感謝班西。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM