pie*_*eru 5 c# typeloadexception interface
关于这个问题有很多问题,我一直很高兴地通过它们解决。
我收到此错误:
程序集“ App.Web,版本= 1.0.0.0,区域性=中性,PublicKeyToken = null”中的类型“ App.Web.WebConfig”中的方法“ get_UserImageCDNUNU”没有实现。
这真的很奇怪,因为我试图运行没有引用App.Web的Api.Web,它们唯一的共同点是引用了其他项目(Models.Domain和Models.DTO)。
我有一个界面:
程序集“ Models.Domain”中的IResourceCompiler
我有一个抽象类,该抽象类在称为WebConfigBase的同一程序集(Models.Domain)中实现此接口。
在“ App.Web”和“ Api.Web”项目中,每个项目都有一个名为WebConfig的类,该类继承自WebConfigBase,因此App和Api中的WebConfig类都是IResourceCompiler的实现。
我试图添加一个属性
string UserImageCDNUrl {get;}
Run Code Online (Sandbox Code Playgroud)
到IResourceCompiler并将属性添加到WebConfigBase
public string UserImageCDNUrl
{
get { return ""; }
}
Run Code Online (Sandbox Code Playgroud)
因此,Api和Web项目都可以通过其自己的WebConfig类访问该属性,而我在上面得到了例外。
我已经花了几个小时尝试,看看为什么这种情况没有喜悦。
我已经清除了我的Obj文件夹,进行了清理,重建,检查了GAC中的任何实例(没有实例),但我仍然坚持这样做。
一切正常,直到我尝试向接口(和基类)添加新属性
好的,奇怪的是,在 Api.Web 中添加对 App.Web 的引用并再次删除它已经解决了这个问题。
我不知道为什么,但确实如此。
我将 App.Web 的版本更改为 1.0.0.1 并且错误仍然显示 1.0.0.0,这就是促使我这样做的原因。
我希望有一个更合理的解释,但没有。这么令人气愤的问题,我很高兴能解决它。
祝遇到这种情况的其他人好运,我的想法与你同在