Ошибка компиляции веб-приложения - Справочник ASP.NET - PullRequest
3 голосов
/ 07 января 2009

Мое текущее веб-приложение отлично работает локально и вживую, с чем я сейчас играю, скомпилировав мое веб-приложение с опцией Visual Studio «Добавить проект веб-развертывания», так что весь его код скомпилирован в DLL.

Есть одна конкретная ошибка сборки, от которой я не могу избавиться

Ошибка 50 Тип или имя пространства имен 'usercontrols_calendarcell_ascx' не существует в пространстве имен 'ASP' (отсутствует ссылка на сборку?) C: \ page.ascx.cs 30 1 test_deploy

А фактическая строка кода выглядит следующим образом:

protected ASP.usercontrols_calendarcell_ascx[] calendarCells;

Ответы [ 5 ]

4 голосов
/ 20 января 2009

Проблема заключается в том, что пространство имен ASP является псевдо-пространством имен, на которое нельзя ссылаться при компиляции.

Решение, которое я нашел, состояло в том, чтобы фактически интегрировать текущее пространство имен в определение usercontrol. Я адаптировал имена элементов к вашим соглашениям об именах, но я ничего не знаю о пространстве имен, которое вы использовали. Поэтому я просто назвал его «Project.NameSpace».

  1. В файле calendarcell.ascx:

    <% @ Control Language = "C #" AutoEventWireup = "true" Codefile = "calendarcell.ascx.cs" Inherits = "Project.NameSpace.usercontrols_calendarcell"%>

  2. В файле calendarcell.ascx.cs:

    namespace Project.NameSpace
    {
    открытый частичный класс usercontrols_calendarcell: System.Web.UI.UserControl
    {

  3. В файле page.ascx.cs:

    с использованием Project.NameSpace;

Надеюсь, это поможет. В моем случае это отлично сработало.

1 голос
/ 13 июня 2012

Вы можете предоставить свойства Control, используемые на странице, какому-либо интерфейсу (например, ICalendarCell) и поместить его в App_Code. Реализуйте интерфейс для вашего элемента управления и используйте интерфейс в файле .cs.

0 голосов
/ 07 января 2009

Вам также необходимо убедиться, что вы компилируете page.ascx.designer.cs.

0 голосов
/ 07 января 2009

Правильно ли указана ссылка на странице aspx?

Я имею в виду эту часть

(Должен быть похожий тег на странице aspx, а SRC должен указывать, где находится элемент управления календаря.

0 голосов
/ 07 января 2009

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

Когда это происходит, ваш проект развертывания, вероятно, использует старую DLL, которая не содержит этот класс.

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

...