【发布时间】:2012-05-20 16:19:54
【问题描述】:
我们有一个使用 WCF 5.0 和 WindowsAzure SDK 的项目。
有两个引用 Microsoft.Data.Services.Client.dll 和 System.Data.Services.Client.dll,它们存在冲突。如果我删除系统 DLL(根据 this),我将无法使用 windowsAzure SDK。如果我删除 Microsoft DLL,我将无法利用 WCF 的新功能,特别是 OData 3.0 版。
删除系统 DLL 引用后:
无法从 'System.Data.Services.Client.SaveChangesOptions [c:\Program Files (x86)\Microsoft WCF 数据 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,版本=3.5.0.0, 文化=中性,PublicKeyToken=b77a5c561934e089'。
如果我删除对 Microsoft.Data.Services.Client 的引用并添加对 System.Data.Services.Client 的引用,那么我们不会收到任何错误 - 我们也不会收到 WCF 5.0!
【问题讨论】:
-
我最近更新了对 WCF 5.0 的引用,但没有发现任何问题。与您所做的唯一不同的是,我已经替换了我项目中的其他引用(如 System.Data.Services 到 Microsoft.Data.Services)。您的问题似乎与 Azure.StorageClient 无关,而是与命名空间冲突有关。
-
不知何故 Azure.Storage.Client 需要 System.Data.Services.Client 而不是 Microsoft.Data.Services.Client。我将更新我的原始帖子以显示更多错误。