通常在对VS2008 ASP.net项目进行更改时,我们会收到如下消息:
BC30560:'mymodule_ascx'在名称空间'ASP'中不明确.
重新编译或有时等待10秒并刷新页面后,这会消失.
有什么方法可以摆脱它吗?
我最近遇到了这个问题,它只发生在一台服务器上,即使所有运行相同的代码.我彻底调查了这个问题,以确保其他用户控件具有冲突名称,临时文件被清除等.
解决问题的唯一方法(似乎是永久性的)是在web.config中将编译元素的批处理属性更改为false,如以下链接所示:
http://personalinertia.blogspot.com/2007/06/there-bug-in-compiler.html
我坚信这实际上是该网站上建议的编译器中的一个错误.
我刚刚通过以下链接解决了这个问题:http: //www.netomatix.com/development/usercontrols2.aspx
简而言之,您的类称为MyModule.但是,如果未在@Control指令中指定ClassName属性,则编译器可能会将_ascx附加到控件的类,从而生成MyModule_ascx.由于页面找不到MyModule_ascx,它会在你脸上爆炸.你需要明确告诉它ClassName ...
<%@ Control Language="vb" AutoEventWireup="false" CodeBehind="MyModule.ascx.vb" ClassName="MyModule" %>