2015-02-01 4 views
4

Я знаю, что это распространенная ошибка, но у меня есть правильная ссылка на System.Data. DataSetExtensions.dll добавлены к проекту и мой проект является SQL CLR проект создан для .net 4.5, и я получаю сообщение об ошибке в следующей строке:Тип или имя пространства имен «DataSetExtensions» не существует в пространстве имен «System.Data» (вам не хватает ссылки на сборку?)

using System.Data.DataSetExtensions; 

Я также проверил свойства для DLL, и это ссылаясь на правильную версию для dll 4.5, так что еще может быть причиной этой проблемы? Это проблема с SQL-проектами CLR?

+0

Проблема в том, что в 'System.Data.DataSetExtensions.dll' не существует пространства имен с именем' System.Data.DataSetExtensions', 'DataSetExtensions' находится в пространстве имен System.Data'. –

+0

добавьте это к использованию в верхней части 'using System.Data;' – MethodMan

+0

Хорошо, теперь я чувствую себя глупо. Пожалуйста, сделайте ответ для этого, и я буду отмечать его как правильно. – user3610374

ответ

10

System.Data.DataSetExtensions - это сборка, а не пространство имен. Вам просто нужно добавить ссылку к System.Data.DataSetExtensions.dll (как вы говорите, уже есть), а затем с помощью директивы для System.Data имен:

using System.Data; 

Это будет тянуть все методы расширения в классах в этом пространстве имен , например DataRowExtensions.

Когда вы смотрите в документации, всегда будьте осторожны с различием между пространствами имен и именами сборки - они часто одинаковы, но они логически независимы.

+0

Иногда можно использовать 'System.Data.DataSetExtensions' в качестве пространства имен. См. Https://dotnetfiddle.net/OOvlLj - есть ли у вас идеи, почему это работает? –

+1

@ShaunLuttin: Странно. Я подозреваю, что есть пространство имен, называемое * где-то *, но я не могу найти для него никакой документации. –

+1

Есть ли какие-либо другие связанные с этим расширениями DLL-файлы? Я выполнил эти инструкции, и я до сих пор не могу получить доступ к методу 'ToDataTable ()' в моем объекте 'IEnumerable '. – RLH