程序集“xxx”中的类型“yyy”的方法“zzz”没有实现。

Joke 2012-10-10 09:59:52
程序集“Sxxxx.Proyyyy, Version=1.0.2012.816, Culture=neutral, PublicKeyToken=null”中的类型“Sxxxx.Proyyyy.Projects”的方法“get_AreaType”没有实现。

这个类型中定义了AreaType属性,并且是可读写的,get和set都有实现代码,没有get_AreaType方法。

这个问题在我改动之后发生,改动之前的情况是,项目A中有一个枚举类型B,我新建了一个项目C,然后把A中的B类型删除了,然后这个枚举类型的代码拷贝到C项目中,成了C项目中的B枚举类型,这样,A项目需要使用这个枚举类型就引用了C项目;

问题出在D项目:我修改之前D项目的一个类型E中有一个属性,它的类型是A项目中的B枚举类型,所以D项目引用了A项目;后来我改动之后,D项目还有别的东西引用了A项目,而这个属性类型必须是用C项目的B枚举类型,所以也引用了C项目。

现在的情况是D项目生成的程序集是动态加载的,不知道是不是加载程序集的先后顺序的原因还是共同引用了C项目的原因,导致在加载D项目生成的程序集D.dll时,抛出以上异常消息,异常类型为 System.Reflection.ReflectionTypeLoadException。

这个问题在网上也有人提供了解决方案,可是我试过却不能解决:http://topic.csdn.net/u/20090323/13/f1960939-3ec7-4e83-9d81-0c3673a3f7df.html,它的最后一个回复提到一个网址,我试过了但是没处理掉我遇到的情况:http://hi.baidu.com/chen_767/item/bf543e31f42b1fc31b9696d7

希望有高手能够解决或指点迷津,谢谢。
...全文
13383 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Joke 2012-10-10
  • 打赏
  • 举报
回复
public ProjectAreaType AreaType
{
get
{
return areaType;
}
set
{
areaType = value;
}
}
属性就这么个东东,啥也没有,就是它的类型是一个枚举类型,被我放到另外一个新的项目中之后加载程序集就出现那个异常了。
try
{
types = assembly.GetTypes();
}
catch (ReflectionTypeLoadException e)
{
if (AppLog.log.IsErrorEnabled)
{
AppLog.log.Error("反射类型加载异常:->" + e.Message);
}
}
抛出异常和处理异常是这里的,异常的内容就是我的标题说的那个。
six-years 2012-10-10
  • 打赏
  • 举报
回复
贴出代码瞧瞧
永远的小鱼 2012-10-10
  • 打赏
  • 举报
回复
没有代码 没有真相哦亲 你的GET 或SET方法是否正确 符合规范呢?

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧