c# - Visual Studio c# 编译器未注意到已更改的方法名称

标签 c# visual-studio-2010

我在 C# 程序中遇到了一个非常奇怪的问题:

我有一个接口(interface)声明了一个方法和一个实现这个接口(interface)的类。当我更改方法名称(在接口(interface)和实现中)时,visual studio 会编译代码,但如果我运行代码,我会得到一个method not found 异常。如果我手动删除目标 dll 并重新编译项目/解决方案,一切正常。

但是,还有许多其他方法和属性,也在同一个接口(interface)中声明并在同一个类中实现。如果我更改其中之一的名称,一切正常!

有没有人知道这是什么?

 public interface INode{
    //...
    IEnumerable<INode> Ancestors();
    //...
 }
 public abstract class NodeBase : INode{
    // ...
    public IEnumerable<INode> Ancestors(){

    }
    // ...
 }

最佳答案

在尝试解决问题时,我已从 UI 项目中删除对问题程序集的引用,然后重新添加。从这个时候开始,这个问题就没有了

可悲的是,我不能说这个非常奇怪的问题的原因是什么,现在我没有机会再看这个问题了。 它一定是项目中损坏的东西,但是我无法想象这可能是什么,因为实际上只涉及一个方法签名(与代码中的位置和方法名称无关)。

感谢到目前为止发布答案 (+1) 的任何人,引导我找到解决方案。我希望我再也不会看到这种奇怪的行为了! 对于那些有同样问题的人:尝试重新创建对发布项目的引用

关于c# - Visual Studio c# 编译器未注意到已更改的方法名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11003774/

相关文章:

.net - 如何修复Visual Studio中的 “The system cannot find the file specified. (Exception from HRESULT:0X80070002)”错误?

c++ - C++ Express 2010 中丢失设计 View

c++ - 我们可以创建一个 VC++ 可执行文件,它可以在 32 位和 64 位 Windows 上本地运行吗?

visual-studio-2010 - 安装 SQL Server 2012 - 错误 : Prior Visual Studio 2010 instances requiring update

c++ - 使用/clr 在 Visual Studio 2010 中 boost

c# - 从 DataReader 对象中查找 Field 的数据类型

c# - 滚动 X 轴绘图区 - Silverlight 列系列

c# - 比较 C#/Unity 中的枚举值?

c# - 确定字符串是否在字符串数组中出现多次 (C#)

c# - DotNet Core - 解决方案文件的用途