C#:找不到方法异常(Setter缺失)

时间:2012-10-05 12:10:35

标签: c# exception

调试程序时我遇到了很奇怪的错误。我有一个数据合同,我添加了新属性,但其中一个导致以下异常:

Method not found: 'Void Measurement.set_ContactId(Int32)'.

数据合同如下:

[DataContract]
public class Measurement
{
    [DataMember]
    public int FactId { get; set; }

    [DataMember]
    public int ContactId { get; set; }
.....

我真的不明白什么是问题,因为正如我所说,我添加了一些其他属性,但它们没有问题。

UPD:当我尝试为ContactId分配值时,服务端发生异常:

foreach (Measurement m in result.Where(m => m.FactId == factId)){
    m.ContactId = contactId;
  .....

2 个答案:

答案 0 :(得分:8)

问题在于一些旧版本的DLL存储在.NET的缓存中。我在整个磁盘上搜索了DLL并删除了所有找到的文件(有些是.NET使用的,所以我不得不使用Unlocker)。重建项目后,它运作良好。

答案 1 :(得分:1)

如果此Measurement类是您的WCF服务的一部分,那么您可以在服务的两端(客户端和服务器端)使用它。双方是否都有相同的版本(ContactId有一个setter)?