Spring.net中的CannotLoadObjectTypeException [英] CannotLoadObjectTypeException in Spring.net

查看:74
本文介绍了Spring.net中的CannotLoadObjectTypeException的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在vs 2010中的asp.net 3.5项目中使用spring.net 1.3.1.我需要Spring来创建和操作对象.

I'm using spring.net 1.3.1 in a asp.net 3.5 project in vs 2010. I'm not doing any kind of mvc stuff; I needed Spring to create and manipulate objects.

我已按照文档进行操作,添加了Spring.Core和Spring.Web dll参考,我的web.config如下所示:

I've followed the documentation, added Spring.Core and Spring.Web dlls reference my web.config is like this:

   <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中

in 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中

in 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 \ 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.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)Spring.Context.Support.WebApplicationContext..ctor(字符串名称,布尔caseSensitive,String []配置位置)在c:_svn \ spring-net \ tags \ spring-net-1.3.1 \ src \ Spring \ Spring.Web \ Context\ 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.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&,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

[TypeLoadException: Could not load type from string value 'myrouter.clientcode.CAL, myrouter.clientcode'.] Spring.Core.TypeResolution.TypeResolver.Resolve(String typeName) in c:_svn\spring-net\tags\spring-net-1.3.1\src\Spring\Spring.Core\Core\TypeResolution\TypeResolver.cs:81 Spring.Core.TypeResolution.GenericTypeResolver.Resolve(String typeName) in c:_svn\spring-net\tags\spring-net-1.3.1\src\Spring\Spring.Core\Core\TypeResolution\GenericTypeResolver.cs:97 Spring.Core.TypeResolution.CachedTypeResolver.Resolve(String typeName) in c:_svn\spring-net\tags\spring-net-1.3.1\src\Spring\Spring.Core\Core\TypeResolution\CachedTypeResolver.cs:107 Spring.Core.TypeResolution.TypeResolutionUtils.ResolveType(String typeName) in c:_svn\spring-net\tags\spring-net-1.3.1\src\Spring\Spring.Core\Core\TypeResolution\TypeResolutionUtils.cs:106 Spring.Objects.Factory.Support.AbstractObjectDefinition.ResolveObjectType() in c:_svn\spring-net\tags\spring-net-1.3.1\src\Spring\Spring.Core\Objects\Factory\Support\AbstractObjectDefinition.cs:640 Spring.Objects.Factory.Support.AbstractObjectFactory.ResolveObjectType(RootObjectDefinition rod, String objectName) in c:_svn\spring-net\tags\spring-net-1.3.1\src\Spring\Spring.Core\Objects\Factory\Support\AbstractObjectFactory.cs:1096 [CannotLoadObjectTypeException: Cannot resolve type [myrouter.clientcode.CAL, myrouter.clientcode] for object with name 'CAL' defined in file [D:\WORK\visual studio\Visual Studio 2010\Projects\myrouter\myrouter\config\clients.xml] line 3] Spring.Objects.Factory.Support.AbstractObjectFactory.ResolveObjectType(RootObjectDefinition rod, String objectName) in c:_svn\spring-net\tags\spring-net-1.3.1\src\Spring\Spring.Core\Objects\Factory\Support\AbstractObjectFactory.cs:1100 Spring.Objects.Factory.Support.DefaultListableObjectFactory.PreInstantiateSingletons() in c:_svn\spring-net\tags\spring-net-1.3.1\src\Spring\Spring.Core\Objects\Factory\Support\DefaultListableObjectFactory.cs:472 Spring.Context.Support.AbstractApplicationContext.Refresh() in c:_svn\spring-net\tags\spring-net-1.3.1\src\Spring\Spring.Core\Context\Support\AbstractApplicationContext.cs:1017 Spring.Context.Support.WebApplicationContext..ctor(WebApplicationContextArgs args) in c:_svn\spring-net\tags\spring-net-1.3.1\src\Spring\Spring.Web\Context\Support\WebApplicationContext.cs:125 Spring.Context.Support.WebApplicationContext..ctor(String name, Boolean caseSensitive, String[] configurationLocations) in c:_svn\spring-net\tags\spring-net-1.3.1\src\Spring\Spring.Web\Context\Support\WebApplicationContext.cs:82 _dynamic_Spring.Context.Support.WebApplicationContext..ctor(Object[] ) +242 Spring.Reflection.Dynamic.SafeConstructor.Invoke(Object[] arguments) in c:_svn\spring-net\tags\spring-net-1.3.1\src\Spring\Spring.Core\Reflection\Dynamic\DynamicConstructor.cs:116 Spring.Context.Support.RootContextInstantiator.InvokeContextConstructor(ConstructorInfo ctor) in c:_svn\spring-net\tags\spring-net-1.3.1\src\Spring\Spring.Core\Context\Support\ContextHandler.cs:563 Spring.Context.Support.ContextInstantiator.InstantiateContext() in c:_svn\spring-net\tags\spring-net-1.3.1\src\Spring\Spring.Core\Context\Support\ContextHandler.cs:508 Spring.Context.Support.ContextHandler.InstantiateContext(IApplicationContext parentContext, Object configContext, String contextName, Type contextType, Boolean caseSensitive, String[] resources) in c:_svn\spring-net\tags\spring-net-1.3.1\src\Spring\Spring.Core\Context\Support\ContextHandler.cs:351 Spring.Context.Support.WebContextHandler.InstantiateContext(IApplicationContext parent, Object configContext, String contextName, Type contextType, Boolean caseSensitive, String[] resources) in c:_svn\spring-net\tags\spring-net-1.3.1\src\Spring\Spring.Web\Context\Support\WebContextHandler.cs:129 Spring.Context.Support.ContextHandler.Create(Object parent, Object configContext, XmlNode section) in c:_svn\spring-net\tags\spring-net-1.3.1\src\Spring\Spring.Core\Context\Support\ContextHandler.cs:289 [ConfigurationErrorsException: Error creating context 'spring.root': Could not load type from string value 'myrouter.clientcode.CAL, myrouter.clientcode'.] System.Configuration.BaseConfigurationRecord.EvaluateOne(String[] keys, SectionInput input, Boolean isTrusted, FactoryRecord factoryRecord, SectionRecord sectionRecord, Object parentResult) +202 System.Configuration.BaseConfigurationRecord.Evaluate(FactoryRecord factoryRecord, SectionRecord sectionRecord, Object parentResult, Boolean getLkg, Boolean getRuntimeObject, Object& result, Object& resultRuntimeObject) +1061 System.Configuration.BaseConfigurationRecord.GetSectionRecursive(String configKey, Boolean getLkg, Boolean checkPermission, Boolean getRuntimeObject, Boolean requestIsHere, Object& result, Object& resultRuntimeObject) +1431 System.Configuration.BaseConfigurationRecord.GetSection(String configKey, Boolean getLkg, Boolean checkPermission) +56 System.Configuration.BaseConfigurationRecord.GetSection(String configKey) +8 System.Web.HttpContext.GetSection(String sectionName) +47 System.Web.Configuration.HttpConfigurationSystem.GetSection(String sectionName) +39 System.Web.Configuration.HttpConfigurationSystem.System.Configuration.Internal.IInternalConfigSystem.GetSection(String configKey) +6 System.Configuration.ConfigurationManager.GetSection(String sectionName) +78 Spring.Util.ConfigurationUtils.GetSection(String sectionName) in c:_svn\spring-net\tags\spring-net-1.3.1\src\Spring\Spring.Core\Util\ConfigurationUtils.cs:71 Spring.Context.Support.WebApplicationContext.GetContextInternal(String virtualPath) in c:_svn\spring-net\tags\spring-net-1.3.1\src\Spring\Spring.Web\Context\Support\WebApplicationContext.cs:335 Spring.Context.Support.WebApplicationContext.GetRootContext() in c:_svn\spring-net\tags\spring-net-1.3.1\src\Spring\Spring.Web\Context\Support\WebApplicationContext.cs:223 Spring.Context.Support.WebSupportModule.Init(HttpApplication app) in c:_svn\spring-net\tags\spring-net-1.3.1\src\Spring\Spring.Web\Context\Support\WebSupportModule.cs:175 System.Web.HttpApplication.InitModulesCommon() +65 System.Web.HttpApplication.InitModules() +43 System.Web.HttpApplication.InitInternal(HttpContext context, HttpApplicationState state, MethodInfo[] handlers) +729 System.Web.HttpApplicationFactory.GetNormalApplicationInstance(HttpContext context) +298 System.Web.HttpApplicationFactory.GetApplicationInstance(HttpContext context) +107 System.Web

很抱歉,此篇长文章;我想尽可能地精确,并提供尽可能多的信息.我想我缺少了一些东西,但无法弄清楚是什么.在asp.net的spring.net配置中, HttpHandler 是必须的吗?

Sorry for this long post; I wanted to be as precised as possible and give as much as information that I could. I think I'm missing something but just can't figure out what. Is the HttpHandler a must in spring.net configuration in asp.net?

推荐答案

通常,此问题是您的某些错误导致的

Usually this issue is the result of some error in your

<object id="CAL"  type="myrouter.clientcode.CAL, myrouter.clientcode"/>  

配置.

检查/验证以下内容:

  • 名称空间 myrouter.clientcode 确实是 CAL 类所在的地方
  • 包含这种类型的程序集实际上是 myrouter.clientcode
  • 这些名称空间和程序集名称在re:区分大小写方面也匹配

这篇关于Spring.net中的CannotLoadObjectTypeException的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆