Публикация ascx контрола - ошибка

Starlex
Дата: 31.03.2010 17:14:25
Привет!

Есть в проекте webcontrol в виде отдельного файла ascx. Кроме того, что он используется в разметке, он также используется в коде. Объявлен вот так:

private ASP.controls_datedropdownlist_ascx ddlYearMonth;

Проект компилится и билдится нормально. Однако при публикации проекта (Publish), выходит ошибка в приведенном коде.
The type or namespace name 'controls_datedropdownlist_ascx' does not exist in the namespace 'ASP' (are you missing an assembly reference?)


При этом в разметке есть также ссылка
<%@ Register src="../Controls/DateDropdownList.ascx" tagname="DateDropdownList" tagprefix="dddl" %>

Как преодолеть эту ошибку при публикации?
Starlex
Дата: 31.03.2010 17:19:04
Starlex
Привет!

Есть в проекте webcontrol


В смысле UserControl
Zoria
Дата: 31.03.2010 17:35:29
Starlex,
проверьте, все ли необходимые файлы публикуются, может там он исключен из проекта для публикации?
а еще путь к UserControlам лучше указывать от корня приложения, src="~/Controls/DateDropdownList.ascx"
oleginn
Дата: 31.03.2010 18:51:17
Zoria
Starlex,
проверьте, все ли необходимые файлы публикуются, может там он исключен из проекта для публикации?
а еще путь к UserControlам лучше указывать от корня приложения, src="~/Controls/DateDropdownList.ascx"

Нет, дело не в этом. Похоже через Web Site так не получится. Как вариант использовать для сайта Web Application. В нем все работает. Да и структура неймспейсов с классами прозрачнее.
Starlex
Дата: 31.03.2010 19:47:13
Решили проблему. У меня по умолчанию был включен флаг при публикации
"Allow this precompiled site to be updatable"

В MSDN такой комментарий по этому поводу:

MSDN
The Allow this precompiled site to be updatable option specifies that all program code is compiled into assemblies, but that .aspx files (including single-file ASP.NET Web pages) are copied as-is to the target folder. In this walkthrough, you will not select that option.
Starlex
Дата: 31.03.2010 19:47:43
Всем спасибо!