Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/321.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 移动数据类后的不明确引用_C#_Wcf - Fatal编程技术网

C# 移动数据类后的不明确引用

C# 移动数据类后的不明确引用,c#,wcf,C#,Wcf,我有一个WCF web服务,在接口中我有一个数据类 public class ValidationError { public string PLR; public string FieldName; public string ErrorText; } web服务返回列表我现在在应用程序的其他地方需要这个相同的数据类,所以我将它移动到了一个公共项目中,并在界面中添加了一个引用 在web服务中,它知道所有东西的位置,在我构建时它不会抱怨。然而,自从移动此类后,使用它的W

我有一个WCF web服务,在接口中我有一个数据类

public class ValidationError
{
    public string PLR;
    public string FieldName;
    public string ErrorText;
}
web服务返回
列表
我现在在应用程序的其他地方需要这个相同的数据类,所以我将它移动到了一个公共项目中,并在界面中添加了一个引用

在web服务中,它知道所有东西的位置,在我构建时它不会抱怨。然而,自从移动此类后,使用它的Win Forms应用程序正在报告

“ValidationError”是“MyApp.Common.DataClasses.ValidationError”和“MyApp.Forms.UI.XMLValidationReference.ValidationError”之间的不明确引用。

我已经从接口中删除了类,更新了服务引用,删除了引用并重新引用。什么都没起作用。我是不是错过了一些显而易见的东西

更新

由于删除了所有项目的所有调试文件夹中的所有文件,我只剩下其中一个错误

List tc2errors=new List()//第一秒出现的问题并不含糊

向下四行

ValidationError sve=new ValidationError()不含糊


它如何知道除了一个引用以外的所有引用的数据类的位置?

为要使用的路径添加一个using指令,即:

使用ValidationError=MyApp.Common.DataClasses.ValidationError

使用ValidationError=MyApp.Forms.UI.XMLValidationReference.ValidationError


(取决于现在哪个是正确的)

您是否也在同一地点共享了双方的服务合同?@JonEgerton我确信这与共享合同无关。我刚刚删除了所有项目调试文件夹中的所有文件。我犯的19个错误现在减少到一个。与其他18个错误相同,代码相同,项目相同(表单项目)。有关更多信息,请参阅更新。我想说,您将继续遇到问题,因为该类有两个不同的版本(请参阅两个不同的名称空间)。如果你不需要把它们混在一起,你可能会侥幸逃脱——把一个分配给另一个,等等。@JonEgerton我不明白为什么我有两个。它只存在于数据类中。我从Web服务中移动了它。一个在WCF服务引用生成的代理类中声明。另一个由您在公共名称空间中声明。他们是不同的,但看起来很相似。这就是我所说的使整个契约接口通用的意思——然后您只得到所有涉及的类定义的一个版本。(基本上不使用代理引用,只使用已经定义的已知接口。)