构建事件如何干扰标记更改?

How is build event interfering with markup changes?

我们正在开发一个 vb.net WebForms 项目,我习惯于在涉及服务器端控件的标记更改发生时构建它。例如,如果我有这样的代码

$("#foobar").click(function() {/*...*/});

然后我将其更改为

$("#<%= foobar.ClientID %>").click(function() {/*...*/});

我构建项目。另外,如果我有这样的事情:

<div class="masterBreadcrumbs sub" runat="server" id="header">
    <div id="container" runat="server" class="breadcrumb-container"></div>
</div>

然后我将其更改为:

<div id="container" runat="server" class="breadcrumb-container"></div>
<div class="masterBreadcrumbs sub" runat="server" id="header"></div>

我构建项目。最后,如果我删除或创建服务器控件或修改其属性之一,我肯定知道我需要构建项目。所以,我的问题如下:

哪些类型的标记更改需要项目构建?

有一个方法可以知道项目是否需要构建:

检查.designer 文件是否有变化。如果是这样,则需要构建。如果没有,则可以使用所有受保护的或 public 属性。