程序集“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希望有高手能够解决或指点迷津,谢谢。

解决方案 »

  1.   

    没有代码 没有真相哦亲  你的GET 或SET方法是否正确 符合规范呢?
      

  2.   

            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);
                        }
                    }
    抛出异常和处理异常是这里的,异常的内容就是我的标题说的那个。