5

问题是 System.Data.Services.Client.dll 和 Microsoft.Data.Services.Client.dll 中都存在一些类(DataServiceClientException / DataServiceRequestException / DataServiceResponse)。简单的方法是只使用其中一个库。很遗憾:

  • System.Data.Services.Client.dll 无法删除,因为它是使用 Microsoft.WindowsAzure.StorageClient.TableServicesContext 所必需的
  • Azure 上的 Microsoft.WindowsAzure.StorageClient.TableServicesContext 需要 Microsoft.Data.Services.Client.dll。

通常这两个库一起工作得很好。但是,从此处实现代码以检测并发冲突会导致错误:

Error   1   The type 'System.Data.Services.Client.DataServiceRequestException' exists in both 'C:\Program Files\Microsoft WCF Data Services\5.0\bin\.NETFramework\Microsoft.Data.Services.Client.dll' and 'C:\Program Files\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5\System.Data.Services.Client.dll'
Error   2   The type 'System.Data.Services.Client.DataServiceResponse' exists in both 'C:\Program Files\Microsoft WCF Data Services\5.0\bin\.NETFramework\Microsoft.Data.Services.Client.dll' and 'C:\Program Files\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5\System.Data.Services.Client.dll'
Error   3   The type 'System.Data.Services.Client.DataServiceClientException' exists in both 'C:\Program Files\Microsoft WCF Data Services\5.0\bin\.NETFramework\Microsoft.Data.Services.Client.dll' and 'C:\Program Files\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5\System.Data.Services.Client.dll'

因为System.Data.Services.Client.DataServiceClientExceptionDataServiceRequestExceptionDataServiceResponse类无法访问,因为它们存在于两个库中。在使用 Microsoft.WindowsAzure.StorageClient.TableServicesContext 时如何检测并发更新冲突?

4

1 回答 1

7

解决方案是使用 C# 的外部别名功能。

  1. 展开项目的引用部分。

  2. 右键单击 System.Data.Services.Client 并选择属性。

  3. 将别名从“全局”更改为“系统”或其他。

并且项目构建良好。

于 2013-06-01T18:43:51.237 回答