Se, una volta aver aggiunto un vostro server control nella directory App_Code, e averlo registrato nel web.config specificando tagPrefix e namespace, vi trovate di fronte ad un errore di rendering dei controls a design time, nelle pagine del vostro web site, non vi allarmate.
Questo succede perchè non avete specificato il contenuto dell'attributo Assembly.
Solamente che, a causa del nuovo modello di pre-compilazione, il codice inserito nella directory App_Code, non è all'interno di un Assembly.
ASP.NET 2, per ovviare a questo problema, da la possibilità di specificare come Assembly direttamente la directory App_Code, in questi due modi:

<pages theme="PeppeDotNetTheme" enableViewState="false">

<controls>
<add tagPrefix="pep" namespace="Peppe.WebControls" assembly="App_Code" />
</controls>
</pages>

oppure:

<pages theme="PeppeDotNetTheme" enableViewState="false">

<controls>
<add tagPrefix="pep" namespace="Peppe.WebControls" assembly="__code" />
</controls>
</pages>

In questo modo potete registrare i server controls presenti nella directory App_Code all'interno del web.config, utilizzarli in tutte le pagine della vostra applicazine web e avvalersi anche del supporto dell'intellisense di Visual Studio.