誰もこの動作を説明することはできますか?より具体的ではなく、より具体的なものと競合する文を使用しない
私は、これは、このような名前空間でNinjectWebCommon.cs呼ばApp_Startフォルダ内のファイルを作成し、nuget経由Ninject.MVC3をインストール:
今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として認定しているので、これは矛盾しないと考えられます。 –