У меня есть страница ASP.NET A , которая использует сборку слоя данных DAL . Я ссылаюсь на DAL сборку с
<%@ Assembly Name="NGC.DAL" %>
, поскольку нет проекта для добавления ссылки. Саму сборку я скопировал в папку bin страниц.
Сборка DAL - это проект, который ссылается на System
и System.Data
.
Теперь, когда A вызывает метод в DAL, компилятор выдает ошибку
BC30652: требуется ссылка на сборку 'System.Data, версия = 2.0.0.0, Culture = нейтральный, PublicKeyToken = 969db8053d3322ac, Retargetable = Yes', содержащий тип 'System.Data.IDbConnection'. Добавьте его в свой проект.
Я попытался сослаться на сборку System.Data
с тегом <%@Import Namespace="System.Data" %>
и попытался скопировать ее в папку bin и сослаться на
<%@ Assembly Name="System.Data" %>
тег, оба в A напрямую. Ничего не сработало.
Почему для проекта A, в котором используется проект B, в котором используется проект C, требуется ссылка на B и C, а не просто B, и почему вышеуказанный способ не работает?
Этот поток MSDN покрывает проблему, но не показывает решение, которое работает.
РЕДАКТИРОВАТЬ: Как предложил Роберт Вагнер, я добавил ссылку на web.config.
Теперь я получаю еще одно сообщение об ошибке. BC30560: «CommandBehavior» является неоднозначным в пространстве имен «System.Data». , что странно, потому что тот, что в web.config - единственный, на который я ссылаюсь на странице.
Может быть, стоит упомянуть, что System.Data
, на который ссылаются и используют в сборке DAL, взяты из компактной платформы. Но так как это единственный, который я использую, откуда возникает двусмысленность?