title: Must custom controls be placed in the App_Code?
body: <p>I wrote a custom control inherited from WebControl. (Note: not a user control).</p>
  
  <pre><code>using System;
  using System.Collections.Generic;
  using System.Linq;
  using System.Web;
  using System.Web.UI.WebControls;
  
  namespace Taopi.WebComponents
  {
      public class RatingLabel : WebControl
      {
          public RatingLabel()
              : base("span")
          {        }
          //...
  </code></pre>
  
  <p>I placed it in <code>/App_Code</code>, and on a web page it is registered and used as following:</p>
  
  <pre><code>&lt;%@ Register TagPrefix="uc" Namespace="Taopi.WebComponents" %&gt;
  ...
  &lt;uc:RatingLabel Rating='&lt;%# Eval("rating") %&gt;' runat="server" /&gt;
  </code></pre>
  
  <p>They run well until I move RatingLabel to  <code>/Components</code>, which is folder cerated by me. I got an error saying "<em>Unknown server tag uc: RatingLabel</em>" when I try to run the website.</p>
  
  <p>I believe the registration is wrong, so what modification is needed? Must custom controls be placed in the App_Code?</p>
  
  <p>I have another question that where do you usually place your custom controls (except for refering a external DLL)? Are there any "suggested" locations?</p>