使用VS(使用的是当前企业最新版15.5.5) C#做ASP.NET项目时,在“控制台应用措施”与“类库”输出类型切换时遇到错误:
error CS0234: 定名空间“System.Web.UI.WebControls”中不存在类型或定名空间名“ScriptManager”(是否缺少措施集引用?)
error CS0234: 定名空间“System.Web.UI.WebControls”中不存在类型或定名空间名“UpdatePanel”(是否缺少措施集引用?)
错误的文件位于“XXX.designer.cs”文件,该文件是VS自动生成的。
网上搜索该问题大量存在,很多是由于使用新版本的VS打开孕育产生的。解决要领有改削web.config文件的,有改削引用的dll文件的,甚至还有改削C盘下某个dll文件的,觉得都不太靠谱。
本身新建了一个ASP.NET项目,添加ScriptManager,运行,,没有报错,看来不是系统或配置的问题。比拟新建的和报错的项目,发明代码存在以下分歧:
//错误 protected global::System.Web.UI.WebControls.ScriptManager ScriptManager1; //正确 protected global::System.Web.UI.ScriptManager ScriptManager1;
ScriptManager竟然不在WebControls定名空间下,但其他控件在其空间下:
protected global::System.Web.UI.WebControls.RadioButton radiobutton1; protected global::System.Web.UI.WebControls.CheckBox checkbox1;
把以下两处改削后就能通过编译了:
protected global::System.Web.UI.ScriptManager ScriptManager1; protected global::System.Web.UI.UpdatePanel UpdatePanel1;
结论:确实不是系统或配置的问题,纯粹是一个VS bug,其他Web控件都设计在System.Web.UI.WebControls定名空间下,唯独ScriptManager在System.Web.UI下,而VS编译器弄错了。
X2009原创,转载需注明来由: