系统.get_xxx'没有实现
本文关键字:实现 get xxx 系统 | 更新日期: 2023-09-27 18:08:09
关于这个问题有很多问题,我已经解决了所有的问题,没有乐趣。
我收到这个错误:
方法'get_UserImageCDNUrl'在类型'App.Web。WebConfig'从程序集"App.Web, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"没有实现
这是真的很奇怪,因为我试图运行Api。Web没有引用App.Web,它们唯一的共同点是引用其他项目(模型)。域与模型。dto).
我有一个接口:
IResourceCompiler域"
我有一个抽象类,它在相同的程序集(Models.Domain)中实现了这个接口,称为WebConfigBase
在"App.Web"answers"Api. web "它们都有一个名为WebConfig的类,该类继承了WebConfigBase,因此App和Api中的WebConfig类都是IResourceCompiler的实现。
我试图添加一个属性
string UserImageCDNUrl {get;}
到IResourceCompiler并添加属性到WebConfigBase
public string UserImageCDNUrl
{
get { return ""; }
}
所以Api和Web项目都可以通过它们自己的WebConfig类访问该属性,我得到了上面的异常。
我已经找了好几个小时,试图弄清楚为什么这种情况发生得很不愉快。
我已经清除了我的Obj文件夹,清理,重建,检查了GAC中的任何实例(没有任何),我仍然坚持这个。
一切正常,直到我尝试添加一个新的属性到接口(和基类)
好的,所以奇怪地在Api中添加了对App.Web的引用。Web和删除它已经解决了这个问题。
我不知道为什么,但它确实发生了。
我将App.Web的版本更改为1.0.0.1,错误仍然显示1.0.0.0,这就是促使我这样做的原因。
我希望有一个更合理的解释,但是没有。这样一个令人恼火的问题,我很高兴能解决它。祝其他遇到这种情况的人好运,我的思念与你同在
对于记录,在我的案例中,这是由两个项目引用同一包的不同版本引起的。至少解决了这个问题。
可能有很多原因,前面的所有答案都代表了这个问题的一种情况。
我的建议是:
当你的程序运行时,打开资源监视器-> CPU选项卡,在搜索句柄输入框中,搜索可能没有实现该方法的程序集。
在搜索结果中,您将看到程序集的路径,并且您看到的路径很可能不是您期望的路径。
从此意外路径中删除程序集,以便加载正确的程序集。
在很多情况下我变成了这个错误。似乎是缓存程序集,我在UserProfile中找到了它们。
我的解决方案是:
- 保存解决方案并关闭Visual Studio
- 删除整个文件夹"c:'Users(user)'AppData'Local'Microsoft'VisualStudio'14.0'ProjectAssemblies'"
- 启动Visual Studio
- 工作…
希望能有所帮助。
我只是删除了当前项目的引用(显示错误),并再次添加到其他项目中,该项目被引用构建,并开始正常工作。
希望这对某人有所帮助。
try this
public interface IResourceCompiler
{
string UserImageCDNUrl {get;}
}
public abstract class WebConfigBase : IResourceCompiler
{
public abstract string UserImageCDNUrl {get;}
}
public class WebConfig : WebConfigBase
{
public override string UserImageCDNUrl { return "whatever you want";}
}
或者那样:
public interface IResourceCompiler
{
string UserImageCDNUrl {get;}
}
public abstract class WebConfigBase : IResourceCompiler
{
public virtual string UserImageCDNUrl {get { return string.empty;}}
}
public class WebConfig : WebConfigBase
{
public override string UserImageCDNUrl { return "whatever you want";} // or return base.UserImageCDNUrl ;
}
我在Visual Studio 2017中看到这个问题。
升级到visual studio 2019为我解决了这个问题