2011-10-07 244 views
19

我正在嘗試在我的項目中添加一個[Science.dll],該項目應該是staright forward。但是我遇到了問題。有人能告訴我爲什麼嗎?如何在C#項目中添加dll

我剛從Internet複製的C#項目。

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Windows.Forms; 
using System.ComponentModel; 
using System.Data; 
using Science.Mathematics.VectorCalculus; 



namespace using_science_dll 
{ 
    static class Program 
    { 
     /// <summary> 
     /// The main entry point for the application. 
     /// </summary>`enter code here` 
    } 
} 

C:\ Csharptutorial \ using_science_dll \ using_science_dll \的Program.cs(7,7):錯誤CS0246:類型或命名空間名稱 '科學' 找不到(是否缺少using指令或程序集參考?)

是因爲我使用VS 2008嗎?

Science.dll將在下面的框架.NET 4.0和Visual C#2010運行快速

enter image description here

+1

正如您在截圖中右側看到的那樣,參考文獻已損壞。所以'using'子句不起作用是很自然的。但是,您需要告訴我們破碎參考上的警告/錯誤消息是什麼。 – CodesInChaos

+1

您在解決方案資源管理器的「參考」部分中收到警告。那警告說什麼? –

+0

Visual Studio無法找到科學參考,請嘗試刪除並重新添加此參考... – 2GDev

回答

22

該DLL必須始終存在 - 如名稱所示,引用只會告訴VS您正在嘗試使用DLL中的內容。在項目文件中,VS存儲引用的DLL的實際路徑和文件名。如果你移動或刪除它,VS就不能再找到它了。

我通常會在我的項目文件夾中創建一個libs文件夾,在該文件夾中我複製未安裝到GAC的DLL。然後,我實際上將這個文件夾添加到VS中的項目中(在VS中顯示隱藏文件,然後右鍵單擊並「包含在項目中」)。然後,我從文件夾中引用DLL,因此,當檢入源代碼控制時,該庫也會被簽入。當多個開發人員不得不更改項目時,這會更容易。

(請務必設置生成類型設置爲「無」,「不復制到輸出文件夾」在你的項目中的DLL)

PS:我用的是德國的Visual Studio,所以我引用的字幕可能與英文版本不完全匹配...

+2

Hi Thorsten 請詳細介紹如何引用項目/解決方案中的DLL。 –

+2

在您的項目文件夾中(這是所有cs文件和csproj文件所在的級別),創建一個新文件夾(名稱無關緊要,我通常使用「lib」)。複製要在那裏引用的DLL。在VS中,通過選擇項目並單擊「顯示所有文件」按鈕,確保您看到所有文件。然後點擊「刷新」,右鍵單擊該文件夾(灰顯),然後單擊「添加到項目」。爲該DLL設置構建樣式爲「無」,然後從新文件夾中添加對DLL的引用。 –

4

你有沒有加入的dll到你的項目引用列表? 如果不是右鍵單擊項目「參考」文件夾並選擇「添加參考」,然後使用瀏覽找到您的science.dll,選擇它並單擊確定。

編輯

我看不到你的VS實例,有些人指的是,我注意到,你現在說,它在NET4.0和VS2010圖像。

VS2008項目默認支持NET 3.5。我期望這是問題,因爲您的DLL可能符合NET 4.0,但不是NET 3.5。

2

在解決方案資源管理器的右欄中,您可以看到「Science」的引用旁邊標有警告。這意味着它無法找到它,或者出於某種其他原因反對它。雖然這是這種情況,你的代碼需要它(而不僅僅是在引用列表中)它不會編譯。

請發佈警告信息,我們可以嘗試進一步幫助您。