2011-05-22 48 views
1

我是新來的城堡windsor並想學習它。命名空間'Castle'中不存在類型或名稱空間名稱'MicroKernel'(您是否缺少程序集引用?)

我下載溫莎2.5.3 .NET4從這裏http://www.castleproject.org/castle/download.html

我使用VS2010,努力發揮各地建立了我的第一個控制檯應用程序。

下面是我的代碼(很簡單)

using Castle.Windsor; 
using Castle.MicroKernel.Registration; 


namespace ConsoleApplication2 
{ 
class Program 
{ 
    static void Main(string[] args) 
    { 
     WindsorContainer wc = new WindsorContainer(); 

     wc.Register(Component.For<I>().ImplementedBy<C>()); 

     var v = wc.Resolve<I>(); 

     var result = v.M(); 
    } 
} 

public class C : I 
{ 
    public string P1 { get; set; } 
    public int M() 
    { 
     return 100; 
    } 
} 

public interface I 
{ 
    int M(); 
} 

}

但它並沒有被編譯,錯誤味精說:

類型或命名空間名稱「微內核'不存在於命名空間'Castle'中(您是否缺少程序集引用?)

類型或命名空間名稱'Winds或

我居然引用castle.core和castle.windsor DLL和智能感知工作正常,直到編譯....

城堡‘(是否缺少程序集引用?)」沒有命名空間中存在’

我還注意到,當我雙擊參考中的castle.windsor時,它沒有在對象瀏覽器窗口中顯示命名空間層次結構。

我甚至把我所有的代碼都註釋掉了,它仍然不能編譯,說msg同樣的錯誤。

您能否請告知我能做些什麼來使其運行。真的很感激它!

回答

7

該問題可能是您的項目的目標框架。

打開項目屬性,然後查找目標框架下拉框。如果它說.Net Framework 4.0客戶端配置文件,請將其更改爲.Net Framework 4.0。

+1

非常感謝! – 2011-05-22 05:53:23

+1

謝謝!有完全相同的問題,並修復它。 – 2011-09-02 07:20:45

+0

太棒了,它工作。我掙扎了好幾個小時,發現了這個問題。 – Signcodeindie 2012-09-12 11:11:41