2014-01-07 34 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: –