Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

The type or namespace name 'DataSetExtensions' does not exist in the namespace 'System.Data' (are you missing an assembly reference?)

I know this is a common error but I have the correct reference to the System.Data.DataSetExtensions.dll added to the project and my project is a SQL CLR project built for .net 4.5 and I'm getting the error at the following line:

using System.Data.DataSetExtensions;

I also checked the properties for the dll and it is referencing the correct version for the 4.5 dll so what else could possibly be causing this issue? Is this an issue with SQL CLR projects?

like image 531
DarthVegan Avatar asked Feb 01 '15 20:02

DarthVegan


1 Answers

System.Data.DataSetExtensions is an assembly, not a namespace. You just need to add a reference to System.Data.DataSetExtensions.dll (as you say you already have) and then a using directive for the System.Data namespace:

using System.Data;

That will pull in all the extension methods in the classes in that namespace, e.g. DataRowExtensions.

When you're looking in documentation, always be careful about the difference between namespaces and assembly names - they're often the same, but they're logically independent.

like image 127
Jon Skeet Avatar answered Nov 15 '22 09:11

Jon Skeet