我在vs 2010中的asp.net 3.5项目中使用spring.net 1.3.1。我没有做任何种类的mvc东西;我需要Spring来创建和操作对象。
我已经阅读了文档,添加了Spring.Core和Spring.Web dll,引用了我的web.config就像这样:
<sectionGroup name="spring">
<section name="context" type="Spring.Context.Support.WebContextHandler, Spring.Web"/>
<section name="objects" type="Spring.Context.Support.DefaultSectionHandler, Spring.Core"/>
</sectionGroup>
<system.web>
<httpModules>
<add name="Spring" type="Spring.Context.Support.WebSupportModule, Spring.Web"/>
</httpModules>
<!-- no spring confi in httpHandlers-->
</system.web>
<spring>
<context>
<resource uri="~/config/clients.xml" />
</context>
</spring>
在clients.xml中
<?xml version="1.0" encoding="utf-8" ?>
<objects xmlns="http://www.springframework.net">
<object id="CAL" type="myrouter.clientcode.CAL, myrouter.clientcode"/>
</objects>
在Defaults.aspx.cs中
IApplicationContext ctx = ContextRegistry.GetContext();
CAL calobject = (CAL)ctx.GetObject("CAL");
我正在
[[TypeLoadException:无法从字符串值'myrouter.clientcode.CAL,myrouter.clientcode'加载类型。]c:_svn \ spring-net \ tags \ spring-net-1.3.1 \ src \ Spring \ Spring.Core \ Core \ TypeResolution \ TypeResolver.cs:81中的Spring.Core.TypeResolution.TypeResolver.Resolve(String typeName)c:_svn \ spring-net \ tags \ spring-net-1.3.1 \ src \ Spring \ Spring.Core \ Core \ TypeResolution \ GenericTypeResolver.cs:97中的Spring.Core.TypeResolution.GenericTypeResolver.Resolve(String typeName)c:_svn \ spring-net \ tags \ spring-net-1.3.1 \ src \ Spring \ Spring.Core \ Core \ Core \ TypeResolution \ CachedTypeResolver.cs:107中的Spring.Core.TypeResolution.CachedTypeResolver.Resolve(String typeName)c:_svn \ spring-net \ tags \ spring-net-1.3.1 \ src \ Spring \ Spring.Core \ Core \ Core \ TypeResolution \ TypeResolutionUtils.cs:106中的Spring.Core.TypeResolution.TypeResolutionUtils.ResolveType(String typeName)c:_svn \ spring-net \ tags \ spring-net-1.3.1 \ src \ Spring \ Spring.Core \ Objects \ Factory \ Support \ AbstractObjectDefinition.cs中的Spring.Objects.Factory.Support.AbstractObjectDefinition.ResolveObjectType(): 640c:_svn \ spring-net \ tags \ spring-net-1.3.1 \ src \ Spring \ Spring.Spring.Core \ Objects \ Factory \ Support中的Spring.Objects.Factory.Support.AbstractObjectFactory.ResolveObjectType(RootObjectDefinition rod,String objectName) \ AbstractObjectFactory.cs:1096[CannotLoadObjectTypeException:无法解析文件[D:\ WORK \ Visual Studio \ Visual Studio 2010 \ Projects \ myrouter \ myrouter \ config \ clients中定义的名称为'CAL'的对象的类型[myrouter.clientcode.CAL,myrouter.clientcode]。 xml]第3行]c:_svn \ spring-net \ tags \ spring-net-1.3.1 \ src \ Spring \ Spring.Spring.Core \ Objects \ Factory \ Support中的Spring.Objects.Factory.Support.AbstractObjectFactory.ResolveObjectType(RootObjectDefinition rod,String objectName) \ AbstractObjectFactory.cs:1100c:_svn \ spring-net \ tags \ spring-net-1.3.1 \ src \ Spring \ Spring.Core \ Objects \ Factory \ Support \ DefaultListableObjectFactory.cs中的Spring.Objects.Factory.Support.DefaultListableObjectFactory.PreInstantiateSingletons() 472c:_svn \ spring-net \ tags \ spring-net-1.3.1 \ src \ Spring \ Spring.Spring \ Core \ Context \ Support \ AbstractApplicationContext.cs:1017中的Spring.Context.Support.AbstractApplicationContext.Refresh()c:_svn \ spring-net \ tags \ spring-net-1.3.1 \ src \ Spring \ Spring.Web \ Context \ Support \ WebApplicationContext.cs:125中的Spring.Context.Support.WebApplicationContext..ctor(WebApplicationContextArgs args)c._svn \ spring-net \ tags \ spring-net-1.3.1 \ src \ Spring \ Spring.Spring \ Web.Context中的Spring.Context.Support.WebApplicationContext..ctor(字符串名称,布尔大小写敏感,字符串[]配置位置) \ Support \ WebApplicationContext.cs:82_dynamic_Spring.Context.Support.WebApplicationContext..ctor(Object [])+242c:_svn \ spring-net \ tags \ spring-net-1.3.1 \ src \ Spring \ Spring.Core \ Reflection \ Dynamic \ DynamicConstructor.cs中的Spring.Reflection.Dynamic.SafeConstructor.Invoke(Object [] arguments): 116c:_svn \ spring-net \ tags \ spring-net-1.3.1 \ src \ Spring \ Spring.Core \ Context \ Support \ ContextHandler.cs:563中的Spring.Context.Support.RootContextInstantiator.InvokeContextConstructor(ConstructorInfo ctor)c:_svn \ spring-net \ tags \ spring-net-1.3.1 \ src \ Spring \ Spring.Core \ Context \ Support \ ContextHandler.cs:508中的Spring.Context.Support.ContextInstantiator.InstantiateContext()Spring.Context.Support.ContextHandler.InstantiateContext(IApplicationContext parentContext,Object configContext,String contextName,Type contextType,Boolean caseSensitive,String []资源)位于c:_svn \ spring-net \ tags \ spring-net-1.3.1 \ src \ Spring \ Spring.Core \ Context \ Support \ ContextHandler.cs:351在c:_svn \ spring-net \ tags \ spring-net-1.3.1 \ src中的Spring.Context.Support.WebContextHandler.InstantiateContext(IApplicationContext父级,Object configContext,字符串contextName,类型contextType,布尔caseSensitive,String []资源) \ Spring \ Spring.Web \ Context \ Support \ WebContextHandler.cs:129在c:_svn \ spring-net \ tags \ spring-net-1.3.1 \ src \ Spring \ Spring.Core.Context \ Support \中的Spring.Context.Support.ContextHandler.Create(Object parent,Object configContext,XmlNode section) ContextHandler.cs:289[ConfigurationErrorsException:创建上下文'spring.root'时出错:无法从字符串值'myrouter.clientcode.CAL,myrouter.clientcode'加载类型。]System.Configuration.BaseConfigurationRecord.EvaluateOne(字符串[]键,SectionInput输入,布尔值被信任,FactoryRecord factoryRecord,SectionRecord sectionRecord,对象parentResult)+202System.Configuration.BaseConfigurationRecord.Evaluate(FactoryRecord factoryRecord,SectionRecord sectionRecord,Object parentResult,Boolean getLkg,Boolean getRuntimeObject,Object&result,Object&resultRuntimeObject)+1061System.Configuration.BaseConfigurationRecord.GetSectionRecursive(字符串configKey,布尔值getLkg,布尔值checkPermission,布尔值getRuntimeObject,布尔值RequestIsHere,对象和结果,对象和resultRuntimeObject)+1431System.Configuration.BaseConfigurationRecord.GetSection(字符串configKey,布尔值getLkg,布尔值checkPermission)+56System.Configuration.BaseConfigurationRecord.GetSection(String configKey)+8System.Web.HttpContext.GetSection(字符串sectionName)+47System.Web.Configuration.HttpConfigurationSystem.GetSection(字符串sectionName)+39System.Web.Configuration.HttpConfigurationSystem.System.Configuration.Internal.IInternalConfigSystem.GetSection(String configKey)+6System.Configuration.ConfigurationManager.GetSection(字符串sectionName)+78c:_svn \ spring-net \ tags \ spring-net-1.3.1 \ src \ Spring \ Spring.Core \ Util \ ConfigurationUtils.cs:71中的Spring.Util.ConfigurationUtils.GetSection(String sectionName)c:_svn \ spring-net \ tags \ spring-net-1.3.1 \ src \ Spring \ Spring.Web \ Context \ Support \ WebApplicationContext.cs:335中的Spring.Context.Support.WebApplicationContext.GetContextInternal(String virtualPath)c:_svn \ spring-net \ tags \ spring-net-1.3.1 \ src \ Spring \ Spring.Web \ Context \ Support \ WebApplicationContext.cs:223中的Spring.Context.Support.WebApplicationContext.GetRootContext()c:_svn \ spring-net \ tags \ spring-net-1.3.1 \ src \ Spring \ Spring.Web \ Context \ Support \ WebSupportModule.cs:175中的Spring.Context.Support.WebSupportModule.Init(HttpApplication应用程序)System.Web.HttpApplication.InitModulesCommon()+65System.Web.HttpApplication.InitModules()+43System.Web.HttpApplication.InitInternal(HttpContext上下文,HttpApplicationState状态,MethodInfo []处理程序)+729System.Web.HttpApplicationFactory.GetNormalApplicationInstance(HttpContext上下文)+298System.Web.HttpApplicationFactory.GetApplicationInstance(HttpContext上下文)+107System.Web
对此帖子很抱歉;我想尽可能地精确,并提供尽可能多的信息。我想我缺少了一些东西,但无法弄清楚是什么。在asp.net的spring.net配置中HttpHandler
是否必须?
通常,此问题是您的某些错误导致的>
<object id="CAL" type="myrouter.clientcode.CAL, myrouter.clientcode"/>
配置。
检查/验证以下内容:
没关系,我已将其修复。我使用了错误的组装信息。