Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Web应用程序编译错误-ASP.NET参考_Asp.net_Assemblies_Reference - Fatal编程技术网

Web应用程序编译错误-ASP.NET参考

Web应用程序编译错误-ASP.NET参考,asp.net,assemblies,reference,Asp.net,Assemblies,Reference,我当前的web应用程序在本地和现场都运行良好,我目前正在玩的是使用Visual Studio选项“添加web部署项目”编译我的web应用程序,因此所有后面的代码都被编译到DLL中 有一个特定的构建错误我无法摆脱 错误50命名空间“ASP”中不存在类型或命名空间名称“usercontrols\u calendarcell\u ascx”(是否缺少程序集引用?) 实际代码行如下所示: protected ASP.usercontrols_calendarcell_ascx[] calendarCel

我当前的web应用程序在本地和现场都运行良好,我目前正在玩的是使用Visual Studio选项“添加web部署项目”编译我的web应用程序,因此所有后面的代码都被编译到DLL中

有一个特定的构建错误我无法摆脱

错误50命名空间“ASP”中不存在类型或命名空间名称“usercontrols\u calendarcell\u ascx”(是否缺少程序集引用?)

实际代码行如下所示:

protected ASP.usercontrols_calendarcell_ascx[] calendarCells;

我在这里猜测,但看起来您的calendarcell用户控件未正确编译

发生这种情况时,您的部署项目可能正在使用不包含该类的旧dll


尝试编译您的项目,并且当您能够在没有错误的情况下编译部署项目时。

您需要确保您也编译page.ascx.designer.cs。

您是否在aspx页面中正确引用了它

我是说这部分


(在您的aspx页面中应该是一个类似的标记,并且SRC应该引用日历控件所在的位置。

问题源于名称空间ASP是一个“伪”名称空间,在编译时无法引用该名称空间

我找到的解决方案是将当前名称空间实际集成到usercontrol定义中。我根据您的命名约定调整了元素的名称,但我对您使用的名称空间一无所知。因此,我将其命名为“Project.namespace”

  • 在calendarcell.ascx文件中:


  • 在calendarcell.ascx.cs文件中:

    名称空间项目。名称空间
    {
    公共部分类usercontrols\u calendarcell:System.Web.UI.UserControl
    {

  • 在page.ascx.cs文件中:

    使用Project.NameSpace


  • 希望这有帮助。在我的例子中,它完美地完成了这一任务。

    您可以将页面上使用的控件属性公开给某些接口(例如ICalendarCell),并将其放在App_代码中。实现控件的接口,改为使用.cs文件中的接口