我在调试我的程序时遇到了非常奇怪的错误。我有一份数据契约(Contract),我在其中添加了新属性,但其中一个导致以下异常:
未找到方法:'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;
.....
最佳答案
问题出在一些存储在 .NET 缓存中的旧版本 DLL。我在整个磁盘上搜索了 DLL 并删除了所有找到的文件(有些文件正在被 .NET 使用,所以我不得不使用 Unlocker)。重建项目后,它工作正常。
关于C#: 未找到方法异常(缺少 Setter),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12745985/