2

我有一個包含常見類型和例程的DLL。該組件名稱和命名空間是相同的:引用的DLL找不到,因爲VS名稱空間錯誤

MyCompany.Tools.Common 

我添加引用這個DLL,然後我添加使用的聲明,說明希望從組件使用類型的文件:

using MyCompany.Tools.Common; 

然後我用的類型之一在另一個程序集:

SafeInvoker.Invoke(this.pctBoxCLIP, delegate { this.pctBoxCLIP.Visible = value; }); 

到目前爲止一切都很好,但是當我現在正在製作裝配,Visual Studio中抱怨說:

「的類型或命名空間名稱 ‘常見’在 命名空間中不存在 ‘MyCompany.Tools

但是,如果我看在對象瀏覽器,我可以請參閱命名空間MyCompany.Tools.Common &所有類型等

如果我刪除對該DLL的引用並再次添加該錯誤,直到我嘗試再次構建。

任何想法這裏發生了什麼,以及如何解決它?

+1

你檢查了參考本身的位置嗎?它可能指向GAC或其他地方,因此,如果Common是新的,它將不會提取它。 – briantyler 2011-04-14 11:33:00

+0

該DLL位於我的開發機器上的本地文件中。碰巧它沒有被複制到項目目錄中,但即使手動完成,也存在相同的問題。 – Kildareflare 2011-04-14 15:17:26

+0

你是什麼意思手動完成?您是否將該dll複製到您的項目目錄中?或者你是否手動添加了refence(而不是從其他項目複製粘貼引用?) – Yuan 2011-05-04 09:08:00

回答

0

聽起來像每次你建立你的DLL正在被取代。我昨天在VS2010中遇到過這種情況。我刪除了參考文獻,從庫中刪除了庫,添加了兩個,並且仍然在發生。我所做的是我刪除了引用,從bin文件夾中刪除了dll,將最新版本的dll複製到了一個新目錄(與之前引用的位置不同),並從新目錄引用它。似乎在事後工作。至於爲什麼發生,沒有線索。

1

剛剛解決完全相同的問題。我有一個用.NET Framework 4 Client Profile編譯的解決方案,另一個用.NET Framework 4(Full)編譯。

將兩者都更改爲完整框架後,它開始工作。

相關問題