没有无参数构造函数,结构图,新区域

Rai*_*aif 4 structuremap asp.net-mvc compiler-errors asp.net-mvc-areas

我知道错误"没有为此对象定义的无参数构造函数"已被问过一百万次.我的情况有所不同

我有一个工作的应用程序.许多控制器和一个有很多控制器的区域.我刚刚添加了一个新区域.我添加了一个控制器,然后是该控制器的链接.现在我得到"为此对象定义的无参数构造函数"错误

我之前已经看到并克服了这个问题,但它实际上只发生在每5个月一次.每次我完全忘记(压抑)答案.

请帮忙

RAIF

Rai*_*aif 9

好吧,似乎有几个原因可能会出现这个错误.毫不奇怪,他们都没有@#$%与没有无参数构造函数有关.我知道的两个是

1)如果您正在使用某个区域,并且您将控制器从一个名称空间移动到新名称空间,并且不更新名称空间以反映您将收到此错误的区域.

2)这是我现在的情况,如果你在控制器的构造函数中注入一些东西,你注入的项目有问题(没有实例化,或者它没有在你的IOC注册或其他运行时错误中注册) )你会得到这个错误.

如果人们可以想到其他人,他们应该在这里列出它们,因为我认为还有几个原因导致错误.[R

  • 如果在Visual Studio中调试项目并检查"输出"面板,您将看到更详细的消息,该消息可以准确地告诉您StructureMap无法构造的对象.我已经看到错误发生的原因是访问修饰符不正确 - 例如,如果你的接口是公共的但你的具体类不是,那么StructureMap可能无法构造具体类的实例. (2认同)