2017-08-08 60 views
-1

enter image description here我想導入一個DLL在我的C#控制檯項目。 我添加的dll項目的參考。右鍵單擊 - >添加引用 - >瀏覽。 的DLL文件被放到我的項目文件夾以及程序數據文件夾中的C盤。添加一個DLL到C#項目和使用DLL功能

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Runtime.InteropServices; 
using mcp2210; 

最後一行「using mcp2210;」給出了一個錯誤

錯誤1類型或命名空間名稱「mcp2210」找不到(是 缺少using指令或程序集 引用嗎?)C:\用戶\ testuser的\應用程序數據\本地\臨時 項目\ ConsoleApplication1 \ Program.cs的

我需要在我的項目中使用函數[DllImport( 「mcp2210.dll」)? 我如何可以訪問此DLL的功能是什麼?

Please see the images below

編輯

您好我能夠從使用對象瀏覽器的命名空間中添加DLL在我的項目。但是,當我嘗試以調試模式運行它時,我得到了badImageFormatException處理彈出。

無法加載文件或程序集'mcp2210_dll_m_dotnetv2_x86,Version = 1.0.5980.19136,Culture = neutral,PublicKeyToken = null'或其某個依賴關係。試圖加載格式不正確的程序。 這是怎麼回事?

+0

您使用了兩個相同的版本.Net Framework嗎? – Tomato32

+0

是的..相同版本的.net – dipk11

回答

1

命名空間與DLL的名稱無關。正因爲DLL被命名爲mcp2210並不意味着它包含了namespace mcp2210

添加參考後,打開Visual Studio的object browser。在左側的樹視圖中找到DLL並將其展開以發現其中包含的名稱空間和類。

enter image description here

一旦你找到它,使用它的命名空間中的某一項using聲明,你是好去。

如果您無法瀏覽到您的DLL,它可能是錯誤類型的DLL或錯誤的框架版本。

+0

嗨謝..這工作。錯誤不再出現。我如何訪問dll的函數? – dipk11

+0

嗨如果我嘗試在調試模式下運行代碼我得到以下錯誤...無法加載文件或程序集「mcp2210」,版本= 1.0.5980.19136,文化=中性,PublicKeyToken = null或其中一個依賴。試圖加載格式不正確的程序。 – dipk11

+0

請參閱[此問題](https://stackoverflow.com/questions/11370344/could-not-load-file-or-assembly-an-attempt-was-made-to-load-a-program-with-一/ 20525314)。 –

0

確保如果它是一個託管的DLL。如果它是使用非託管構建的,則將該dll手動放在bin文件夾中。

只是斌

0

複製粘貼首先,確保兩個DLL項目和您單獨的項目有相同的目標平臺(32位,64位,或轉到項目的屬性,任何CPU)。

其次,確保你已經添加了dll作爲你的項目的參考。除此之外,將文件放置在項目的「bin> debug」文件夾中。 的路徑應該是這樣的(.. \你的項目\ BIN \調試)。

如果所有這些都失敗了,請仔細檢查每個項目中的目標框架是否匹配。