我们有一个使用 WCF 5.0 和 WindowsAzure SDK 的项目。
有两个引用 Microsoft.Data.Services.Client.dll 和 System.Data.Services.Client.dll 并且它们存在冲突。如果我删除系统 DLL(根据这个),我将无法使用 windowsAzure SDK。如果我删除 Microsoft DLL,我将无法利用 WCF 的新功能,特别是 OData 3.0 版。
删除系统 DLL 引用后:
无法从 'System.Data.Services.Client.SaveChangesOptions [c:\Program Files (x86)\Microsoft WCF Data Services\5.0\bin.NETFramework\Microsoft.Data.Services.Client.dll]' 转换为 'System.Data .Services.Client.SaveChangesOptions'
附加信息:
'Microsoft.WindowsAzure.StorageClient.TableServiceContext.SaveChangesWithRetries(System.Data.Services.Client.SaveChangesOptions)' 的最佳重载方法匹配有一些无效参数
'System.Data.Services.Client.DataServiceContext' 类型在未引用的程序集中定义。您必须添加对程序集“System.Data.Services.Client, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089”的引用。
如果我删除对 Microsoft.Data.Services.Client 的引用并添加对 System.Data.Services.Client 的引用,那么我们不会收到任何错误 - 我们也不会收到 WCF 5.0!