任何人都可以解釋這種行爲和解決方案是什麼?不太具體的使用語句與更具體的語句衝突
我通過安裝的NuGet Ninject.MVC3,這會在App_Start文件夾中一個名爲與命名空間這樣NinjectWebCommon.cs:
namespace MvcApplication1.App_Start {
...
using Ninject;
using Ninject.Web.Common;
...
}
現在,我想創建一個NinjectModule和時遇到一些問題Ninject名字空間被識別。
namespace MvcApplication1.Ninject.Modules {
using Ninject.Modules
...
}
只要我在模塊中添加using語句,NinjectWebCommon.cs就不能再編譯。如果我把這個使用放在命名空間之外,它仍然不會編譯。
但是,如果我更改命名空間爲我的模塊MvcApplication1.Foo,然後正常工作兩種方式。
爲什麼要命名這個MvcApplication1.Ninject.Modules(或者甚至只是MvcApplication1.Ninject)會導致NinjectWebCommon.cs不再發現它的引用?我認爲命名空間的目的是爲了防止這種事情?
我會假設它有事情做與'Ninject.Modules'被等同於'MvcApplication1.Ninject.Modules'嵌套命名空間的名稱的名稱。 – Douglas
@Douglas - 很明顯,但由於我將它定位爲MvcApplication1.Ninject.Modules,我認爲這會被認爲是非衝突的。 –