我使用了一些带有 asp 命名空间的语句,它在构建时喜欢 ASP.controls1,它很好,并且运行良好。但是当我发布时,这是一个错误:
错误 120 c:\Projects\TideWeb\Controls\Common\ExceptionHelper\ExceptionHelper.ascx.cs(53):错误 CS0234:命名空间“ASP”中不存在类型或命名空间名称“controls_common_errorlist_errorlist_ascx”(您是否缺少程序集参考?)
我使用了一些带有 asp 命名空间的语句,它在构建时喜欢 ASP.controls1,它很好,并且运行良好。但是当我发布时,这是一个错误:
错误 120 c:\Projects\TideWeb\Controls\Common\ExceptionHelper\ExceptionHelper.ascx.cs(53):错误 CS0234:命名空间“ASP”中不存在类型或命名空间名称“controls_common_errorlist_errorlist_ascx”(您是否缺少程序集参考?)
在没有示例代码的情况下,我尝试通过列出我在 ASP 命名空间中发现的所有错误来帮助您。
1) 当前页面/用户控件中未使用用户控件“ExceptionHelper.ascx.cs”。您可以尝试一下:只有在当前页面(或 UserControl)中提到了一个或多个 UserControl 时,ASP 命名空间才会出现在智能感知中。如果您提到的 UserControl 代码包含编译错误,则智能感知(和编译器)会忽略其名称。修复编译错误,你的控件的名字就回来了。
2)UserControl注册到web.config文件中,在同一目录下的一个页面(或UserControl)中使用。在这种情况下,您必须通过此标记在当前页面中重新注册您的 UserControl:
<%@ Register Src="~/MyControls/MyControl.ascx" TagPrefix="MyControls" TagName="MyControl" %>
添加此标签,错误已修复。
3)你提到:
“但是当我发布时,这是一个错误”
在某些情况下,我的 webApp 无法在目标服务器中正确编译,但在测试中一切正常。
该编译错误可能是配置错误、临时 ASP.NET 目录的权限以及应用程序池使用的标识。
如果您可以发布一些代码,我可以为您提供更好的帮助。
你说的可以,但还不够。我有同样的问题并解决了,但删除了 ASP。部分,因此在示例中更改此代码
ASP.ascx_buscador buscador = new ASP.ascx_buscador();
对于这个 ASCX_buscador = new ASCX_buscador();
现在一切都很好。请注意,在新代码中 ASCX_ 现在大写(智能感知会帮助您)
在这里找到解决方案: Getting namespace name not found for ASP.net user control