C# 我需要帮助确定一个编程技术,以便我可以研究和修复它

C# 我需要帮助确定一个编程技术,以便我可以研究和修复它,c#,asp.net,compiler-errors,language-features,assembly-references,C#,Asp.net,Compiler Errors,Language Features,Assembly References,代码: ParentControl.ascx <%@ Control Language="C#" AutoEventWireup="true" CodeFile="ParentControl.ascx.cs" Inherits="ParentControl" %> <%@ Register Src="~/ChildControl.ascx" TagPrefix="Prefix" TagName="ChildControlTag" %> <%@ Control L

代码:

ParentControl.ascx

<%@ Control Language="C#" AutoEventWireup="true" CodeFile="ParentControl.ascx.cs" 
Inherits="ParentControl" %>
<%@ Register Src="~/ChildControl.ascx" TagPrefix="Prefix" TagName="ChildControlTag" %>
<%@ Control Language="C#" AutoEventWireup="true" CodeFile="ChildControl.ascx.cs" 
Inherits="ChildControl" %>
<asp:Repeater ID="childRepeater" runat="server" EnableViewState="false" 
ViewStateMode="Disabled">

ParentControl.ascx.cs

public partial class ParentControl : UserControl
{
   List<ASP.childcontrol_asxc> controlList = new List<ASP.childcontrol_asxc>();
   ... inside a public property setter ...
   var control = new ASP.childcontrol_ascx();  // <ABC> what the heck is this reference?
   controlList.Add(control);
   ...
}
public partial class ChildControl : UserControl
{
   ...

   protected void Page_Load(object sender, EventArgs e)
   {
      childRepeater.DataSource = xyz;  // <XYZ> crashes if I don't use the weird reference  
   }
}
公共部分类ParentControl:UserControl
{

列表,但我相信它只是使用CI服务器上的VS/TFS 2015内置编译器。这可能解释了TFS引发编译器错误的原因-它告诉我
命名空间“ASP”中不存在类型或命名空间名称“usercontrol\u ascx”(是否缺少程序集引用?)
。我正在考虑将TFS配置为使用NuGet软件包中的编译器,该软件包有望编译-但这仍然很奇怪,我想了解它。

这是ASPX文件编译到的类。它继承您的类并添加呈现ASPX内容的代码。

您的代码缺少一个新的
关键字d、 因此,这是一个很好的捕获。这只是一个复制/粘贴错误…我已经修复了它。非常奇怪。想知道您是否对mychildusercontrol的解决方案进行了简单的搜索。还要检查用户控件内的公共道具。还请注意,用户控件可以通过执行
来拥有与文件名不同的类名。类名(childctrl)将在您使用ASP命名空间时出现在intellisense中,即
ASP.childctrl
。最后一个想法是重建(而不是构建)。@wazz抱歉,输入错误-它应该是
var control=new ASP.childcontrol\u ascx();
不是mychildusercontrol。它是ChildControl.aspx.cs中定义的ChildControl,但它是一个奇怪的引用。正如SLaks所指出的,它是它的“编译”版本……但它仍然给我带来问题。奇怪的是,很难找到关于它的文档。这是有意义的,尽管我仍然很难找到任何关于它的文档。是吗像这样直接使用它是不正常的吗?是否有一些您通常需要的程序集引用可以解释为什么它在本地编译,而不是在CI环境中编译?