ASP.NET DAL DatasSet и Table Adapter не находятся в пространстве имен - руководство Northwind - PullRequest
1 голос
/ 31 марта 2010

Я пытался пройтись по учебнику «Создание уровня доступа к данным». http://www.asp.net/learn/data-access/tutorial-01-cs.aspx

Я создаю соединение с БД, создаю типизированный набор данных и адаптер таблицы, указываю sql и т. Д.

Когда я добавляю код в слой представления (в данном случае это страница с именем AllProducts.aspx), я не могу найти класс NorthwindTableAdapters.ProductsTableAdapter. Я попытался импортировать пространство имен NorthwindTableAdapters, но оно не отображается. Поиск в обозревателе решений Class View подтверждает, что существует класс Northwind, но нет пространства имен, которое я ищу.

Я перепробовал несколько онлайн-уроков, которые по сути имеют одинаковые шаги, и я получаю одинаковые результаты.

Может ли кто-нибудь дать мне толчок в правильном направлении?

Я получаю сообщение об ошибке: Пространство имен или тип, указанный в импорте 'NorthwindTableAdapters', не содержит открытого члена или не может быть найден. Убедитесь, что пространство имен или тип определены и содержат хотя бы один открытый член.

Я думаю, что мне может понадобиться добавить ссылку, или они могут создать отдельный класс и импортировать его в свой основной проект. Если это так, учебники не упоминают об этом.

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

Конечный класс

Ответы [ 6 ]

3 голосов
/ 15 июля 2010

У меня тоже была такая же проблема, и я наконец нашел решение.попробуйте следующее;1) Щелкните правой кнопкой мыши свой DataSet и выберите свойства. 2) В свойствах набора данных задайте имя для свойства Prifix.3) отладить ваше приложение.4) в вашем приложении (C # .net) импортируйте namesapce как , используя DALexample.MyTableAdapters;

DALexample - имя вашего проекта ...

1 голос
/ 30 августа 2010

Ваш веб-проект должен быть дублирован для некоторого резонанса. Создайте совершенно новый веб-проект и скопируйте в него весь свой текущий код. Тогда попробуйте запустить. это будет работать.

1 голос
/ 25 июня 2010

Вам необходимо скомпилировать код после создания файла xsd, но перед добавлением кода использовать адаптер таблицы.

Итак, взглянув на учебник, перед созданием AllProducts.aspx необходимо создать код. Это автоматически сгенерирует пространство имен NorthwindTableAdapters и код, который вам понадобится, чтобы продолжить изучение руководства

0 голосов
/ 22 марта 2016

Я тоже боролся с этим, но решил, закрыв Visual Studio, снова открыв мой проект и, наконец, построив решение (CTRL + SHIFT + B).

0 голосов
/ 22 сентября 2015

Перейдите в файл web.config и в разделе Страницы - пространства имен, посмотрите, есть ли команда очистки, попробуйте удалить команду очистки:

<pages styleSheetTheme="DataWebControls">
  <namespaces>
    <clear/>

Для меня вместо того, чтобы создавать новый веб-сайт и копировать на него все исходные файлы (кроме файла web.config), я просто смог сделать резервную копию моего файла web.config, а затем удалить файл web.config, затем перейдите к добавлению нового элемента и добавьте новый файл web.config, который создал новый файл с нужными мне значениями по умолчанию, затем я просто скопировал пользовательские записи из моего старого файла web.config в новый и мне было хорошо идти.

0 голосов
/ 11 февраля 2011

Я тоже немного озадачился этим - проблема, вероятно, в том, что вы создали проект с помощью New Project-> ASP.NET Web Application. Проект приложения - это не то же самое, что проект веб-сайта. Создайте проект, используя Новый веб-сайт-> Веб-сайт ASP.NET . Затем поместите все учебные файлы в корневую папку в обозревателе решений, перезаписав все.

Я заметил, что что-то не так, когда я попытался воссоздать DataSet, и мастер не запустил автозапуск, предлагая мне поместить его в папку App_Code. Папка App_Code должна относиться только к веб-сайтам ASP.NET, а не к приложениям.

...