Global.asax ファイルには、次のコードがあります。
config.DependencyResolver = new IoCContainer(unity);
IOCContainer では、「名前空間が見つかりません」と表示されています。ここに含めるべき名前空間。既に Microsoft.Practices.Unity を含めました。
Global.asax ファイルには、次のコードがあります。
config.DependencyResolver = new IoCContainer(unity);
IOCContainer では、「名前空間が見つかりません」と表示されています。ここに含めるべき名前空間。既に Microsoft.Practices.Unity を含めました。
Nuget パッケージUnity.Mvc3
をインストールしてから、次のコードを使用できます。
var container = new UnityContainer();
container.RegisterType<IFoo, Foo>();
DependencyResolver.SetResolver(new UnityDependencyResolver(container));
次のクラスがありません。これも見つけるのに時間がかかりました。以下
のコード参照を見つけました
class ScopeContainer : IDependencyScope
{
protected IUnityContainer container;
public ScopeContainer(IUnityContainer container)
{
if (container == null)
{
throw new ArgumentNullException("container");
}
this.container = container;
}
public object GetService(Type serviceType)
{
if (container.IsRegistered(serviceType))
{
return container.Resolve(serviceType);
}
else
{
return null;
}
}
public IEnumerable<object> GetServices(Type serviceType)
{
if (container.IsRegistered(serviceType))
{
return container.ResolveAll(serviceType);
}
else
{
return new List<object>();
}
}
public void Dispose()
{
container.Dispose();
}
}
class IoCContainer : ScopeContainer, IDependencyResolver
{
public IoCContainer(IUnityContainer container)
: base(container)
{
}
public IDependencyScope BeginScope()
{
var child = container.CreateChildContainer();
return new ScopeContainer(child);
}
}
どのバージョンの EntLib を使用していますか? 4.1 までは、IoCContainer ではなく UnityContainer がありました。
編集:あなたが渡しているユニティオブジェクトは何ですか? いくつかのコードを投稿する必要がある場合があります。それまでの間、ここにあなたを助けることができるチュートリアルがあります.
「名前空間が見つかりません」?
ファイルの一番上にある「using」ディレクティブを見て、それらのいずれかが赤い色で線引きされていないかどうかを確認してください。多分あなたはいくつかのタイプミスをしていますか?または、一部のライブラリへの「参照を追加」するのを忘れたのでしょうか?