使用VS2013,我有一个VB.NET 4.0 web应用程序,它在本地运行良好,但当我尝试使用预编译发布它时,我会收到错误/Controls/IDOI_Header.ascx(1,0):错误ASPPARSE:文件'/Controls-IDOI_Header.ascx.VB'不存在。
如果我将"CodeFile="指令更改为"CodeBehind="I get"无法加载类型IDOI_Header"
文件/Controls/IDOI_Header.ascx.vb确实存在(我已经检查了.vbproj、文件系统,当然还有树控件。).vb文件中的代码是:
分部类IDOI_Header继承System.Web.UI.UserControl终端类
用户控件仅在主文件中引用,如下所示:
[狙击]
<div id="Wrapper">
<div id="HeaderSection">
<idoi_header:idoi_header ID="Idoi_header" runat="server" />
</div>
[狙击]
我已经重命名了这些文件(我读到_可能有含义),我已经删除了这些文件并重新添加了它们,并确保它们在源代码管理中。就连我们的领先开发者也感到困惑。
有什么建议吗?
我弄清楚了"如何",但没有弄清楚"为什么"。我最初使用Add->Existing Item将这些用户控件(以及一些母版页)添加到项目中。我发现,如果我删除它们,然后添加->新项目,然后从我最初添加的文件中粘贴in代码(asp标记和.vb代码绑定),它就起作用了。
所以现在的问题是,Add->Existing和Add->New之间有什么不同可以解释这一点?