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.