Shortbus の使用を開始しましたが、StructureMap.MVC5 パッケージと Shortbus の間で DLL のバージョン管理の問題が発生しています。Shortbus は StructureMap 2.6.3 を使用し、MVC5 パッケージは 2.6.3 を使用しています。
依存関係のリダイレクトを試みましたが、MajorVersion の変更により、Shortbus が問題を引き起こしています。
これはオープン ソース プロジェクトであるため、Shortbus を StructureMap のバージョン 3 にアップグレードすることにしました。
この古いコードの移動に行き詰まっています:
[Test]
public void StructureMapResolveSingleInstance()
{
var registered = new Registered();
ObjectFactory.Initialize(i => i.Register(registered));
var resolver = new StructureMapDependencyResolver(ObjectFactory.Container);
var resolved = (Registered) resolver.GetInstance(typeof (Registered));
Assert.That(resolved, Is.EqualTo(registered));
}
..バージョン 3 へ。問題は Register にあり、ObjectFactory は現在廃止されていると見なされています。
この回答に従って、独自の ObjectFactory を作成する必要があると思います: https://stackoverflow.com/a/25551005/119624
そして、私自身のレジストリを含めます。途中でコードを手伝ってくれる人はいますか?