VS2012 專案引用了專案/DLL檔案,也寫了Using,但是編譯時提示:未能找到型別或名稱空間名稱

戰爭迷霧發表於2014-11-11

原因有可能是所引用的專案或者dll的frame work版本與當前的專案不一致所導致的。

昨天寫了一個很小的winform程式,其中引用了自己寫的兩個dll檔案。

本來認為輕鬆搞定,結果一編譯居然提示:未能找到型別或名稱空間名稱。。。。。

於是刪掉兩個dll重新引用,再編譯結果依舊!很是鬱悶。

後來經過調查,終於發現瞭解決方法:

在專案上點右鍵-->屬性-->應用程式-->目標框架-->修改為.NET Framework 4。

而我原來的設定是.NET Framework 4 Client Profile。問題就出在這裡。

以下是MSDN給出的提示:

If you are targeting the .NET Framework 4 Client Profile, you cannot reference an assembly that is not in the .NET Framework 4 Client Profile. Instead you must target the .NET Framework 4.

 

不過也因為如此,當在 Visual Studio 2010 建立新專案時,如果發現 [新增引用] 中沒有列出原本應該列出的元件或者引用的其他程式集,在程式碼中的呼叫一直提示找不到名字空間時,可以先檢查是否是專案的 target framework 設成了 .NET 4.0 Client Profile (例如 System.Web.dll 就不在 .NET 4.0 Client Profile 套件中),若是改成.NET Framework 4就OK了。

相關文章