I've been attempting to walk through the "Creating a Data Access Layer" tutorial found http://www.asp.net/learn/data-access/tutorial-01-cs.aspx
I create the DB connection, create the typed dataset and table adapter, specify the sql, etc.
When I add the code to the presentation layer (in this case a page called AllProducts.aspx) I am unable to find the NorthwindTableAdapters.ProductsTableAdapter class. I tried to import the NorthwindTableAdapters namespace, but it is not showing up. Looking in the solution explorer Class View confirms that there is a Northwind class, but not the namespace I'm looking for.
I've tried several online tutorials that all have essentially the same steps, and I'm getting the same results.
Can anyone give me a push in the right direction?
I'm getting error: Namespace or type specified in the Imports 'NorthwindTableAdapters' doesn't contain any public member or cannot be found. Make sure the namespace or the type is defined and contains at least one public member.
I think I might need to add a reference OR they may be creating a separate class and importing it into their main project. If that's the case, the tutorials do not mention this.
SuppliersTest2.aspx.vb:
Imports NorthwindTableAdapters
Partial Class SuppliersTest2
Inherits System.Web.UI.Page
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim suppliersAdapter As New SuppliersTableAdapter
GridView1.DataSource = suppliersAdapter.GetAllSuppliers()
GridView1.DataBind()
End Sub
End Class
I also had the same problem and finally found the solution. try followings; 1) Right click on your DataSet and select properties 2) Under the dataset properties, set a name for Prifix property. 3) debug your application. 4) in your application(C#.net) import the namesapce as using DALexample.MyTableAdapters;
DALexample is your project name...
You need to compile the code after creating the xsd file, but before you add code to the use the table adapter.
So, looking at the tutorial, before you create the AllProducts.aspx, you need to build the code. This will auto-generate the NorthwindTableAdapters namespace and the code behind it you will need to continue on with the tutorial
Your web project must have been duplicated for some reson. Create an entirely new web project and copy all your current code to it. Then try to run. it will work.
I got stumped on this for a bit also - the problem is likely that you created the project using New Project->ASP.NET Web Application. An Application project isn't the same thing as a Web Site project. Create a project using New Web Site->ASP.NET Web Site. Then drop all tutorial files into the root folder in Solution Explorer overwriting all.
I noticed something was up when I tried to recreate the DataSet and the wizard didn't autostart asking me to put it the App_Code folder. The App_Code folder must be specific to ASP.NET Web Sites and not Applications.
Go to the web.config file and under Pages - namespaces, see if there is a clear command, try removing the clear command:
<pages styleSheetTheme="DataWebControls">
<namespaces>
<clear/>
For me, instead of needing to create a new website and copying all of the source files (except the web.config file) to it, I was just able to make a backup of my web.config file, then delete the web.config file, then go to add new item and add a new web.config file, that created a new file with the defaults I needed, then I just copyed the custom entries from my old web.config file to the new one, and I was good to go.
I was also struggling with this but solved it by closing down Visual Studio, reopening my project, and finally building the solution (CTRL+SHIFT+B).
来源:https://stackoverflow.com/questions/2555183/asp-net-dal-datasset-and-table-adapter-not-in-namespace-northwind-tutorial