升级到Web应用程序项目 - 找不到自定义控件

时间:2014-03-25 16:14:05

标签: asp.net visual-studio-2012

将网站项目转换为Web应用程序(以及从VS2008升级到VS2012)我现在遇到一些错误,告诉我我的自定义(继承)控件未声明......

'<nameofcontrol>' is not declared. It may be inaccessible due to its protection level.

我已删除了我所知道的所有其他错误(重复的类名等),但错误列表截断为100,因此我无法100%确定。

我的自定义控件不是.ascx文件 - 只是历史上在我的app_code文件夹中的.vb类。我通过添加额外的参数来扩展现有WebControl的功能。我的web.config中还有以下内容

<add tagPrefix="cst" namespace="myproject.Controls"/>

一切都很好。现在它没有,我需要改变什么?

我尝试了上面的一些变体,添加assembly="projectname" - 验证项目名称dll是否在bin文件夹中正确创建..但是这并没有改变任何内容。我还尝试在注册指令下的.aspx页面中直接放置类似上面的内容。如果我拼错命名空间,我会得到一个不同的错误(命名空间不包含任何公共成员..)所以看起来它找到了控件的正确位置..但是在标记intellisense中我得到{ {1}}

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

我有同样的问题。选择你的自定义控件文件夹(在我的例子中是Old_App_Code文件夹),然后转到Project&gt;&gt;&#34;转换为Web应用程序&#34;并且错误消失了。希望这会有所帮助

答案 1 :(得分:0)

App_Code文件夹重命名为其他名称(例如AppCode)。

此处有更多信息:http://vishaljoshi.blogspot.com/2009/07/appcode-folder-doesnt-work-with-web.html