2016-01-22 45 views
0

我有兩個項目,A和B. A包含在不同的命名空間三個班,每個和B依賴於和引用A.麻煩與除了在重建

在B中的解決方案的參考,我可以使用A中的兩個類,但它看不到第三個名稱空間。例外是如果我重建A,在這種情況下,第三個名稱空間開始在intellisense中顯示,並且所有內容都可以工作,直到下一次完成構建或發佈。

任何想法?這是Visual Studio 2013中的C#代碼。

+1

您是否創建了項目引用或程序集引用?確保你選擇了前者而不是後者。如果有疑問,請刪除參考並重新創建它。 –

+0

不幸的是,不允許使用項目引用。令我困惑的是項目中的其他名稱空間正常工作;這只是一個沒有的。 – William

+0

說什麼?不允許?誰說的? –

回答

0

回答更具體的問題本來會更容易。所以我只是從臀部拍攝... 衝突命名空間可能會導致這樣的錯誤。然後Intellisense可以解析一個方法,但不能編譯它。例如,這似乎是正確的,但不會編譯:

namespace Business.Apartment.HR 
{ 
    public class Class1 
    { 
    } 
} 
namespace Apartment.HR.Area 
{ 
    public class Class2 
    { 
    } 
} 
namespace Business.Apartment 
{ 
    public class Caller 
    { 
     public Caller() 
     { 
      var c1 = new HR.Class1(); 
      var c2 = new Apartment.HR.Area.Class2(); 
     } 
    } 
} 
+0

我曾經試過的一件事是重命名麻煩的命名空間(從A.Fakes到A.UnitTest),但我得到了相同的行爲。除了重建之外,它完全不在智能感知中出現;當重建後它顯示出來時,它編譯正確。 – William

+0

@William你有沒有GAC你的任何組件?在這種情況下,VS正在拿起GAC組件,而不是最新的代碼。或者,也許你引用了程序集而不是項目? – lobiZoli

+0

嗯。我沒有意識到,但我會研究它。感謝您的建議。 – William