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
这是完整的错误,没有内部错误。也许我只是忽略了一些语法错误。 谢谢您的帮助, RAIF
答案 0 :(得分:0)
所以这里的问题是我使用ConnectImplementationsToTypesClosing()来注册我的开放式泛型。奇怪的是,这在我拥有的其他一些应用程序中运行良好,但在这个应用程序中,如上所述是遗留和凌乱,它没有。事实上,它将开放的泛型注册为pluginLibraries,但它们不会在配置文件_instances中结束,所以当你要求它们时它们就不存在了。这就是为什么他们出现在我有什么,但不是在我要求他们的时候。
这位修正案是由着名的凯文M提供给我的,他的姓氏我已经忘记了。我实现了它,然后我的应用程序再次运行。
谢谢Kevin