コードで StructureMap (バージョン 2.5) の型の既定のコンストラクター (オーバーロードが存在する場合) を定義する方法がわかりません。
サービスのインスタンスを取得したいのですが、コンテナーはそれに Linq2Sql データ コンテキスト インスタンスを挿入する必要があります。
「ブートストラップ」メソッドでこれを書きました:
ForRequestedType<MyDataContext>().TheDefault.Is.OfConcreteType<MyDataContext>();
アプリを実行すると、次のエラーが発生しました。
StructureMap 例外コード: 202
PluginFamily MyNamespace.Data.SqlRepository.MyDataContext、MyNamespace.Data、Version=1.0.0.0、Culture=neutral、PublicKeyToken=null のデフォルト インスタンスが定義されていません
Linq2Sql で生成された不要なコンストラクターをすべてコメントアウトすると、正常に動作します。
[StructureMap.DefaultConstructor]
更新:ああ、属性を使用しないことを忘れていました。