Cannot find namespace 'System.Data.SqlServerCe'

Solution 1:

This can be solved confirming following 2 points:

  1. Check whether you already have System.Data.SqlServerCe namespace added to the References folder of your application. If its not there you may right click the References folder and select Add references option. From the popup window go to .Net tab and select System.Data.SqlServerCe from the list and click OK to add the namespace to the project.
  2. If you are OK with step 1, add using System.Data.SqlServerCe; to the top of your code behind file which uses the System.Data.SqlServerCe namespace.

Solution 2:

If you have an existing reference to System.Data.SqlServerCe yet you see a yellow symbol next to it then you should:

  • Remove the reference by right-clicking it.
  • Re-Add the reference.

To Re-Add: Right click the References folder and select Add Reference... option. Go to the Assemblies | Framework option on the left pane, then scroll to System.Data.SqlServerCe in the right pane. If it's there, click it then be sure to check the checkbox next to it before clicking OK.

If System.Data.SqlServerCe is not in the list then you're going to have to browse for it on your computer. To do that, click the Add Reference... dialog's Browse... button and try looking in this folder:

C:\Program Files\Microsoft SQL server Compact edition\v3.5\Desktop

or

C:\Program Files\Microsoft SQL server Compact edition\v4.0\Desktop

(The v#.# value in the examples above might be different by the time you read this, so navigate first to C:\Program Files\Microsoft SQL server Compact edition\ then choose the latest version or a specific version if you know what that should be.)

Once you find it by browsing, select the System.Data.SqlServerCe.dll file and OK your way out then try recompiling.

Solution 3:

Installing SQL Compact Server and then adding that reverence system.data.SqlServerCe.dll directly from your Microsoft Compact DataBase/ Program folder.

You're missing the dll.

Im sure you already figured this one out though.