Designer页面在Global之前添加了自定义控件定义命名空间

时间:2017-01-26 17:23:24

标签: asp.net vb.net

我的App_Code文件夹中定义了自定义控件。当我将其添加到页面时,我收到错误Type 'Global.XXX.xxx.MyControl' is not defined

类别:

Namespace XXX.xxx
    Public Class MyControl
        Inherits TextBox
        ...code...
    End Class
End Namespace

页面用法:

<%@ Register TagPrefix="xxx" Namespace="XXX.xxx" %>
...
<xxx:MyControl runat="server" id="StartTime" />

设计

Protected WithEvents StartTime As Global.XXX.xxx.MyControl

因此,Global正在发生的事情是设计器文件中的命名空间。出于某种原因,IDE认为我的自定义控件存在于全局命名空间中,但就我在搜索对象浏览器中看到的情况而言,它并非如此。手动进入并从设计器文件中删除前置Global允许我成功构建页面,查看它并测试我的控件的功能,但这远非理想的解决方案,因为设计器文件每次都重新生成是时候对相应的页面进行更改了。

为什么它认为我的自定义控件生活在App_Code文件夹中的任何想法都在Global命名空间中?有关比手册更好的解决方案的任何建议吗?

编辑:也许更好的问题是如何将该命名空间放入全局命名空间,以便在创建设计器文件时,它是否正确?

1 个答案:

答案 0 :(得分:1)

问题Type or namespace could not be found from App_code folder可能就是您想要的。

将您的课程放在不同的文件夹中,或根据http://vishaljoshi.blogspot.co.uk/2009/07/appcode-folder-doesnt-work-with-web.html

更改构建设置