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

3
我的当前 Web 应用在本地和线上都运行良好,我目前正在尝试使用 Visual Studio 选项“添加 Web 部署项目”编译我的 Web 应用程序,以便所有的代码都被编译成 DLL 文件。 有一个特定的构建错误我无法摆脱: 错误 50:名称空间“ASP”中不存在类型或命名空间名称“usercontrols_calendarcell_ascx”(是否缺少程序集引用?)c:\page.ascx.cs 30 1 test_deploy 实际的代码行如下:
protected ASP.usercontrols_calendarcell_ascx[] calendarCells;
5个回答

阿里云服务器只需要99元/年,新老用户同享,点击查看详情
4
问题出在ASP命名空间是一个“伪”命名空间,在编译时无法引用。 我找到的解决方案是将当前命名空间实际集成到用户控件定义中。我根据您的命名约定调整了元素名称,但我不知道您使用的命名空间。因此,我只将其命名为“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 { public partial class usercontrols_calendarcell : System.Web.UI.UserControl { } } 3. 在page.ascx.cs文件中: using Project.NameSpace; 希望这有所帮助。在我的情况下,它完美地解决了问题。

1

您可以将页面上使用的控件属性公开到某个接口(例如ICalendarCell)中,并将其放置在App_Code中。实现接口到您的控件中,并在.cs文件中使用接口。


0
我猜测,您的calendarcell用户控件可能没有正确编译。 当此情况发生时,您的部署项目可能使用一个不包含该类的旧dll。 尝试编译您的项目,当您能够无错误地完成编译后,再编译部署项目。

0

你需要确保编译page.ascx.designer.cs文件。


0
你在aspx页面中正确引用了吗? 我的意思是这部分: (在你的aspx页面中应该有一个类似的标签,SRC应该指向日历控件所在的位置。)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,