我使用Structuremap 3.0.2.115
作为我的IoC container
并定义以下Factory类以获取WinForm应用程序中的Usercontrol
(使用.NET 4):
public class UserControlFactory
{
public T Create<T>() where T : UserControl
{
return ObjectFactory.GetInstance<T>();
}
}
我有这行代码来获得UserControl
:
MyUserControl uc = new UserControlFactory().Create<MyUserControl>();
当我在自己的计算机上运行该程序(Win 7)时,我得到以下异常:
StructureMapConfigurationException未处理
尝试为具体类型Level4UI.ProductionPlanning.MyUserControl创建构建计划
1。)尝试为Level4UI.ProductionPlanning.MyUserControl的实例创建BuildPlan - Level4UI.ProductionPlanning.MyUserControl
2。)Container.GetInstance(Level4UI.ProductionPlanning.MyUserControl)
有这个内部异常
操作可能会破坏运行时的稳定性。
但是当我在另一台计算机(Win 7)上运行该程序时,它可以正常工作,没有错误。 在我自己的计算机中,.EXE文件也能正常工作!
有谁知道,问题出在哪里?
答案 0 :(得分:0)
我将UserControlFactory
更改为:
public T Create<T>() where T : UserControl
{
return (T) ObjectFactory.GetInstance(typeof(T));
}
问题解决了!