2014-01-07 25 views
0

从我面临着与WCF服务引用错误过去的几天里,我的项目工作正常,但突然我收到错误100的:WCF客户端引用不会产生正确

错误2无法隐式转换类型 'Trade_ERP.ConfigurationRef.MaterialGroup1 []' 到 '了System.Collections.Generic.ICollection' E:\ Trade_ERP \模型\配置\ MaterialManagement \ MaterialGroup1Model.cs 13 20 Trade_ERP

错误6无法隐式转换型 “Trade_ERP .ConfigurationRef.ValuationClass []'至 'System.Collections.Generic.ICollection'E:\ Trade_ERP \ Models \ Configuration \ MaterialManagement \ ValuationClassModel.cs 14 20 Trade_ERP

。 。 。

一切工作正常,但我不知道发生了什么事/出错了,所以这个错误即将到来。

而在我们的办公室,只有在一台PC上工作正常。

+0

我不知道出了什么问题,但尝试查看服务引用的配置并检查集合类型的默认值。也许这些设置是错误的;-) – jwillmer

+0

我检查了配置文件,但它与工作项目配置文件相同。只有参考文件是不同的。我不知道为什么现在不同。:( –

回答

0

检查添加服务引用的项目中的引用。在工作的计算机上,您可能会发现引用的dll文件较少。

也许你已经引用了一个包含类为MaterialGroup1和ValuationClass的dll/project。如果是这样,WCF将在生成代理时重用这些类型。

如果是这种情况,您将不得不点击configure,然后选择“在指定的引用程序集中重用类型”并检查除包含这些类的程序集之外的所有程序集。

这样WCF将生成新的类,即使在应用程序中引用了其他兼容类型。

+0

我这样做了,但是当我检查工作电脑和我的参考文件然后有很多差异目前在这两个文件 –

+0

然后我认为你应该看看来自工作计算机的代理文件,在你的ServiceClient类中寻找生成的方法并导航到输入和输出参数类型的定义,如果其中一个类型在该文件之外(在另一个程序集中),然后在非工作的计算机上,您还必须检查该程序集(以便添加/更新引用将使用该程序集而不是创建新类) – Cosmin

+0

是的,我检查了该文件并只查看了块belwo: –