2013-08-21 78 views
1

我一直在asp.net/C#網站上工作了一段時間,並決定將我的SQL C#代碼放到類庫(.dll)中。問題是,當我嘗試將它添加到vs2010中的網站應用程序時,它會看到它,但不會在同一時間。我的意思是說,Web應用程序告訴你它在參考文件夾下作爲參考被添加,但是在編譯代碼時它會說你沒有參考。將自定義的.dll類庫添加到asp.net/C#網站

我添加引用的方式是右鍵單擊解決方案並選擇「添加引用」。我瀏覽參考(.dll文件),然後添加它。

這裏是錯誤:

CS0246: The type or namespace name SQL_lib could not be found (are you missing a using directive or an assembly reference?) 

我沒有在Web應用程序的DLL文件的代碼有那麼它不能是添加的所有引用......我真的不知道怎麼回事上。謝謝你在前進:-)

編輯:

唯一一次web應用表明,它無法找到引用是當它完成編譯和剛剛執行。在瀏覽器中顯示上面的錯誤。當我進入代碼時,出於某種原因,在代碼中看不到下劃線的錯誤標記,我可以在引用內訪問該類。我會進一步研究它...

此外,它在基於aspx的cs文件和普通的cs文件中有錯誤。

+0

檢查命名空間。 – SLaks

回答

1

我掙扎着一個類似的問題,並找到我的方式在這裏。這裏的答案對我不起作用,但這是我做的解決它的方法。我不得不將文件添加到GAC。

gacutil.exe /i MyFile.dll 

然後你就可以得到的版本和

gacutil /l MyFile 

全局程序集緩存包含以下組件:

MyFile, Version=6.8.0.6, Culture=neutral, PublicKeyToken=99ttt95b5a5 d634b, processorArchitecture=MSIL

然後你把值,並將其複製到頂部用aspx頁面進行註冊幷包含。

3

確保您已經添加引用其中SQL_lib類定義的命名空間:

using Namespace_In_Which_You_Declared_The_SQL_libClass; 

現在你可以使用SQL_lib類。另外,還要確保這個類是public

public class SQL_lib 
{ 
    ... 
} 
+0

我這樣做,我可以在編寫代碼時訪問Web應用程序代碼中的類,但是當我編譯並嘗試運行代碼時,它會向我顯示該錯誤。我也許想過不要在類庫中放置一個名稱空間來查看是否有幫助。 –

1

要麼添加using爲您的命名空間,就像這樣:

using YourNamespaceForSQL_Lib; 

或完全在你的代碼限定對象名稱,例如:

YourNamespaceForSQL_Lib.YourClass = new YourNamespaceForSQL_Lib.YourClass(); 

注意:如果您已正確添加參考,並且班級名稱帶下劃線,則可以單擊班級名稱並按Ctrl + .,它會提供自動在您的代碼文件中添加正確的using命名空間條目。 Visual Studio會反射您的References中的所有DLL,並提供多個名稱空間選擇(如果存在)。

1

在Visual Studio中,右鍵單擊代碼窗口中導致錯誤的方法或類,然後單擊「解析」,這會建議爲您添加使用引用。

相關問題