我的问题是,在对我正在处理的项目进行 tfs 更新后,我无法再进行任何测试。在更新之前它有效,但现在我Spring.Core.TypeMismatchException
每次ContextRegistry.GetContext()
在我的测试类方法中运行该方法时都会得到一个Init()
。
MyProjectDao 的唯一变化是其方法的变化和添加的属性。并且已将服务添加到 SpringContext.xml。
这是我得到的例外:
System.Configuration.ConfigurationErrorsException:System.Configuration.ConfigurationErrorsException:创建上下文“spring.root”时出错:PropertyAccessExceptionsException(1 个错误);嵌套的 PropertyAccessExceptions 是:
[Spring.Core.TypeMismatchException:无法将类型 [CompositionAopProxy_f81c875c2f994f88bb773f5743050b67] 的属性值转换为属性“MyProjectDao”所需的类型 [MyProject.Dao.MyProjectDao]。,内部异常:Spring.Core.TypeMismatchException:无法转换类型 [CompositionAopProxy_f81c875c2f934fb06773574fb88] 的属性值] 为属性“MyProjectDao”所需的类型 [MyProject.Dao.MyProjectDao]。在 Spring.Core.TypeConversion.TypeConversionUtils.ConvertValueIfNecessary(Type requiredType, Object newValue, String propertyName) in f:\bamboo-home\xml-data\build-dir\SPRNET-RELEASE-JOB1\src\Spring\Spring.Core\ Core\TypeConversion\TypeConversionUtils.cs:MyProject 211.] ---> Spring.Objects.Factory.ObjectCreationException: 在“文件 [C:\Projects\MyProject\MyProject.NET\test\MyProject.Service.Test\bin\Debug\SpringContext.xml] 第 147 行中定义名称为“MyProjectService”的对象创建时出错:设置属性值时出错:PropertyAccessExceptionsException (1 个错误);嵌套的 PropertyAccessExceptions 是:[Spring.Core.TypeMismatchException:无法将类型 [CompositionAopProxy_f81c875c2f994f88bb773f5743050b67] 的属性值转换为属性“MyProjectDao”所需的类型 [MyProject.Dao.MyProjectDao]。内部异常:Spring.Core.TypeMismatchException:无法转换属性值[CompositionAopProxy_f81c875c2f994f88bb773f5743050b67] 类型为属性“MyProjectDao”所需的类型 [MyProject.Dao.MyProjectDao]。在 Spring.Core.TypeConversion.TypeConversionUtils。ConvertValueIfNecessary(Type requiredType, Object newValue, String propertyName) in f:\bamboo-home\xml-data\build-dir\SPRNET-RELEASE-JOB1\src\Spring\Spring.Core\Core\TypeConversion\TypeConversionUtils.cs:MyProject 211.] ---> Spring.Objects.PropertyAccessExceptionsException:PropertyAccessExceptionsException(1 个错误);嵌套的 PropertyAccessExceptions 是:[Spring.Core.TypeMismatchException:无法将类型 [CompositionAopProxy_f81c875c2f994f88bb773f5743050b67] 的属性值转换为属性“MyProjectDao”所需的类型 [MyProject.Dao.MyProjectDao]。内部异常:Spring.Core.TypeMismatchException:无法转换属性值[CompositionAopProxy_f81c875c2f994f88bb773f5743050b67] 类型为属性“MyProjectDao”所需的类型 [MyProject.Dao.MyProjectDao]。
MyProjectDao 类如下所示:
namespace MyProject.Dao
{
[DataAccessObject]
[Transaction(TransactionPropagation.Mandatory)]
public class MyProjectDao : IMyProjectDao
{
public ISessionFactory SessionFactory { private get; set; }
// ... Methods ...
}
}
IMyProjectDao 接口:
namespace MyProject.Dao
{
public interface IMyProjectDao
{
// ... Methods ...
}
}
这是我的 SpringContext.xml 的一部分
<!-- ######################## -->
<!-- DAO -->
<!-- ######################## -->
<object id="MyProjectDao" type="MyProject.Dao.MyProjectDao, MyProject">
<property name="SessionFactory" ref="SessionFactory" />
</object>
<!-- ######################## -->
<!-- Service -->
<!-- ######################## -->
<object id="MyProjectService" type="MyProject.Service.MyProjectService, MyProject">
<property name="MyProjectDao" ref="MyProjectDao" />
<property name="PersistenceService" ref="PersistenceService" />
<property name="DeletedObjectCache" ref="DeletedObjectCache" />
</object>