0

Jeez louise、私はペストに乗ったレガシーアプリをSMにレトロフィットさせようとしていて、あらゆる種類の奇妙なことに遭遇しています。それで、私はすべての奇妙な質問をお詫びします。

だから私はこのコードを持っています

var whatDoIHave = ObjectFactory.Container.WhatDoIHave();
var validator = ObjectFactory.GetInstance<IValidator<ProfileActivityElement>>();

私が持っているものはこれを持っています

IValidator`1<ProfileActivityElement> (IValidator`1<ProfileActivityElement>)                                                                                                                                                                                                                                                                                                                                                                                                                                                          
Scoped as:  Transient
4b774bc1-b46e-4fc1-95f4-348bb3786dc8   
Configured Instance of HSTM.HLC.BusinessLogic.Validators.ProfileActivityElememntValidator, HSTM.HLC.BusinessLogic, Version=13.1.28.895, Culture=neutral, PublicKeyToken=0ecfe41405c30fb3              
                                                                                                                                       29c5ff3e-73bd-44bb-9fc8-5a81fa640499                                                                                                                                                Configured Instance of HSTM.HLC.BusinessLogic.Validators.ProfileActivityElememntValidator, HSTM.HLC.BusinessLogic, Version=13.1.28.895, Culture=neutral, PublicKeyToken=0ecfe41405c30fb3   

バリデーターは次のようなエラーを受け取ります

StructureMap Exception Code:  202
No Default Instance defined for PluginFamily     HSTM.HLC.BusinessLogic.IValidator`1[[HSTM.HLC.BusinessLogic.HCC.ProfileActivityElement,     HSTM.HLC.BusinessLogic, Version=13.1.28.895, Culture=neutral,     PublicKeyToken=0ecfe41405c30fb3]], HSTM.HLC.BusinessLogic, Version=13.1.28.895,     Culture=neutral, PublicKeyToken=0ecfe41405c30fb3

これは完全なエラーであり、内部エラーはありません。おそらく、構文エラーを見落としているだけです。助けてくれてありがとう、ライフ

4

1 に答える 1

0

したがって、ここでの問題は、ConnectImplementationsToTypesClosing()を使用してオープンジェネリックを登録していることです。不思議なことに、これは私が持っている他のいくつかのアプリではうまく機能しますが、前述のようにレガシーで厄介なこのアプリでは機能しません。実際、オープンジェネリックはpluginLibrariesとして登録されますが、それらはprofile _instancesに含まれないため、要求してもそこにはありません。そのため、私が持っているものには表示されますが、要求したときには表示されません。

修正は、私が忘れてしまった姓の著名なKevinMによって提供されました。私はそれを実装し、私のアプリが再び機能していたことを示しています。

ケビンの修正

ありがとうケビン

于 2013-03-08T14:19:07.717 に答える