Во-первых, проблема в том, что один из ваших проектов выбирает неправильную сборку, это может быть служба, но, скорее всего, это клиентское приложение.
Доступные конструкторы в CTP 2 v1.5 для DataServiceCollection:
private DataServiceCollection();
internal DataServiceCollection(IEnumerable<T> items);
protected DataServiceCollection(DataServiceContext context, string entitySetName, IEnumerable<T> items, Func<EntityChangedParams, bool> entityChangedCallback, Func<EntityCollectionChangedParams, bool> collectionChangedCallback);
internal DataServiceCollection(DataServiceContext context, string entitySetName, Func<EntityChangedParams, bool> entityChangedCallback, Func<EntityCollectionChangedParams, bool> collectionChangedCallback, IEnumerable<T> items);
Конструкторы, доступные в версии RTM (установленном вами обновлении) KB976126:
public DataServiceCollection();
public DataServiceCollection(IEnumerable<T> items);
public DataServiceCollection(DataServiceContext context);
public DataServiceCollection(IEnumerable<T> items, TrackingMode trackingMode);
public DataServiceCollection(DataServiceContext context, string entitySetName, Func<EntityChangedParams, bool> entityChangedCallback, Func<EntityCollectionChangedParams, bool> collectionChangedCallback);
public DataServiceCollection(IEnumerable<T> items, TrackingMode trackingMode, string entitySetName, Func<EntityChangedParams, bool> entityChangedCallback, Func<EntityCollectionChangedParams, bool> collectionChangedCallback);
public DataServiceCollection(DataServiceContext context, IEnumerable<T> items, TrackingMode trackingMode, string entitySetName, Func<EntityChangedParams, bool> entityChangedCallback, Func<EntityCollectionChangedParams, bool> collectionChangedCallback);
internal DataServiceCollection(object atomMaterializer, DataServiceContext context, IEnumerable<T> items, TrackingMode trackingMode, string entitySetName, Func<EntityChangedParams, bool> entityChangedCallback, Func<EntityCollectionChangedParams, bool> collectionChangedCallback);
Я предлагаю, если вы хотите использовать библиотеки CTP, проверить свои ссылки в своем клиентском приложении и любом другом приложении, которое использует System.Data.Services.Client.dll, и перейти на Microsoft.Data.Services.Client.dll (находится в программных файлах в папке ADO.NET Data Services V1.5 CTP2).
Я также установил последнюю версию, и в настоящее время я использую обе версии на своем ПК, и они работают.
Еще одна важная вещь - проверить глобальный кеш сборок, поскольку там будут установлены обе версии (при этом ddls CTP 2 имеет номер версии 99.0.0.0).
Что-то, что я сделал, это для библиотек CTP. Я добавил ссылки из папки ctp вместо глобального кеша сборок.
С Уважением
Даниэль Портелла
Обновление: это должен быть EntityClassGenerator, который используется ссылкой на веб-службу, ссылка на службу должна использовать dll GAC system.data.services.client для создания классов вместо старых CTP. На самом деле есть две вещи, которые вы действительно можете сделать: одна - это сделать то, что я сказал выше, а другая - удалить обновленное (удалить KB), что должно отменить сделанные изменения. Вы даже можете попробовать удалить старую ссылку на службу и создать ее снова, убедившись, что она использует библиотеки DLL CTP для генерации классов.
Это работает в моем решении, потому что я написал свою собственную реализацию DataServiceClientGenerator, чтобы делать волшебные вещи, которых не делает тот, который поставляется MS. Должно быть, поэтому я могу запустить обе установки без проблем.
Конец обновления.
person
dmportella
schedule
17.12.2009