3

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

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;
  .....
4

2 回答 2

12

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

于 2013-01-04T11:21:57.440 回答
2

如果此测量类是您的 WCF 服务的一部分,那么您在服务的两端(客户端和服务器端)都有它。双方是否有相同的版本(ContactId 有一个设置器)?

于 2012-10-05T12:15:13.913 回答