Microsoft.Data.Services.Client.dll vs System.Data.Services.Client.dll

Я пытаюсь использовать службы WCF Data Services и немного запутался, какую библиотеку я должен ссылаться для взаимодействия с службами данных WCF: Microsoft.Data.Services.Client.dll > или System.Data.Services.Client.dll.

В чем разница между ними? В каком случае я должен использовать каждый из них?

При попытке добавить ссылки на оба из них я получаю ошибку компилятора:

Тип 'System.Data.Services.Client.DataServiceContext' существует как в "e:\Program Files\WCF Data Services Mar 2011 CTP2\bin.NETFramework\Microsoft.Data.Services.Client.dll" и 'e:\Program Files\Reference Сборки \Microsoft\Framework.NETFramework\v4.0\System.Data.Services.Client.dll '

Ответ 1

System.Data.Services.Client.dll является частью базовой структуры, которая поставляется с .NET 3.5 и выше. Microsoft.Data.Services.Client.dll - это обновленная версия этой библиотеки (из ваших путей к каталогам, я вижу, что вы используете CTP в марте 2011 года), которая еще не входит в базовый пакет установки .NET и содержит любые новые функции с момента освобождения базы.

Итак, если вы хотите использовать некоторые из последних функций, это DLL Microsoft. Если вы только после базовой функциональности (которая будет на 100% поддерживаться чем-либо с установленной установленной платформой .NET), используйте системную dll.

Здесь в блоге описывается разница между пространствами имен Microsoft и System: http://blogs.msdn.com/b/brada/archive/2008/11/16/what-does-that-net-namespace-mean-system-and-microsoft.aspx

Ответ 2

Если вам нужно использовать system.data.services и system.data.services.client, убедитесь, что вы явно удалили варианты microsoft, то есть щелкнуть правой кнопкой мыши ссылки → щелкнуть правой кнопкой мыши и удалить Microsoft.