我有一段代码,我可以通过四种方式奇怪StructureMap行为4.0
调试版本运行 - 在调试器 - 工作得很好
调试版本 - 调试器外 - 失败
发布版本 - 在调试器 - 失败
发布版本 - 调试器外 - 失败。
错误代码在所有情况下都是202 - 与无参数构造函数有关,调用堆栈在底部。
在每种情况下,它在构建要求的第一个对象时都会失败。
我无法使用调试来构建源代码,因为我使用.Net 4.0,并且似乎没有安装.Net 2.0 SDK以构建它。
我开始江郎才尽....
例外:
Test method DataLoaders.Integration.ContactMappingTests.EntityContactMappingTest threw exception:
StructureMap.StructureMapException: StructureMap Exception Code: 202
No Default Instance defined for PluginFamily System.Uri, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
调用堆栈:
StructureMap.BuildSession.<.ctor>b__0(Type t)
StructureMap.Util.Cache`2.get_Item(KEY key)
StructureMap.BuildSession.CreateInstance(Type pluginType)
StructureMap.Pipeline.DefaultInstance.build(Type pluginType, BuildSession session)
StructureMap.Pipeline.Instance.createRawObject(Type pluginType, BuildSession session)
StructureMap.Pipeline.Instance.Build(Type pluginType, BuildSession session)
StructureMap.Pipeline.ConstructorInstance.Get[T](String propertyName, BuildSession session)
StructureMap.Pipeline.Arguments.Get[T](String propertyName)
lambda_method(Closure , IArguments)
StructureMap.Construction.BuilderCompiler.FuncCompiler`1.<>c__DisplayClass2.<CreateBuilder>b__0(IArguments args)
StructureMap.Construction.InstanceBuilder.BuildInstance(IArguments args)
StructureMap.Pipeline.ConstructorInstance.Build(Type pluginType, BuildSession session, IInstanceBuilder builder)
StructureMap.Pipeline.ConstructorInstance.build(Type pluginType, BuildSession session)
StructureMap.Pipeline.SmartInstance`1.build(Type pluginType, BuildSession session)
StructureMap.Pipeline.Instance.createRawObject(Type pluginType, BuildSession session)
StructureMap.Pipeline.Instance.Build(Type pluginType, BuildSession session)
StructureMap.Pipeline.ObjectBuilder.Resolve(Type pluginType, Instance instance, BuildSession session)
StructureMap.BuildSession.CreateInstance(Type pluginType, Instance instance)
StructureMap.BuildSession.<>c__DisplayClass3.<.ctor>b__1()
StructureMap.BuildSession.CreateInstance(Type pluginType)
StructureMap.Container.GetInstance[T]()
StructureMap.ObjectFactory.GetInstance[PLUGINTYPE]()
DataLoaders.Processor.ProcessData(DataConfig config) in D:\TFS\Main\Source\DataLoaders\DataLoaders\Processor.cs: line 20
干得好,我不认为我们会使用的URI的任何地方所以忽略了一些虚假的StructureMap字符串。 – 2010-09-13 15:37:02