Microsoft.Data.Services.Клиент.dll против System.Data.Services.Client.dll

#wcf #dll #wcf-data-services

#wcf #dll #wcf-службы передачи данных

Вопрос:

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

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

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

Тип ‘System.Data.Services.Клиент.DataServiceContext ‘ существует в обоих’e:Program Файлы Службы обработки данных WCF Март 2011 CTP2bin.NetFramework Microsoft.Data.Services.Клиент.dll’ и ‘e:Program Файлы Ссылочные сборки Microsoft Framework.NetFramework v4.0 System.Data.Services.Клиент.dll’

Ответ №1:

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

Итак, если вы хотите использовать некоторые из новейших функций, включите Microsoft dll. Если вам нужна только базовая функциональность (которая будет на 100% поддерживаться чем-либо с установленной соответствующей .NET framework), используйте системную 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.