Kontrola niestandardowa ASP.NET - Nieznany tag serwera

Zrobiłem niestandardową kontrolę, która dziedziczy z literalnej kontroli. Gdy próbuję użyć mojej kontroli na stronie, generowany jest błąd parsowania. Dodałem to do mojego web.config

<configuration>
  <system.web>
    <pages>
      <controls>
        <add tagPrefix="one" namespace="myApplication.Controls"/>
      </controls>
    </pages>
  </system.web>
</configuration>

Dodałem to do mojej strony

<%@ register namespace="myApplication.Controls" tagprefix="one" %>

Żadne z nich nie rozwiązało problemu. Mam zewnętrzny zespół z niektórymi niestandardowymi kontrolkami, które działają dobrze w moim projekcie. Jako obejście, rozważam przeniesienie mojej niestandardowej kontroli do zewnętrznej biblioteki, jeśli nie ma prostego rozwiązania.

--edytować

Oto kod strony.

<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="SignUp.ascx.cs" Inherits="myApplication.Controls.SignUp" %>
<%@ register namespace="myApplication.Controls" tagprefix="one" %>
<div class="in">
    <span>      
        <one:resourceliteral id="lblFirstname" runat="server" resourcekey="FirstName" resourceresolver="ResourceStringResolver.GetResourceString">
        </one:resourceliteral>      
        </span>
    <div>
        <pl:textbox id="txtFirstName" runat="server"></pl:textbox>
    </div>
</div>

A oto kod do mojej rzeczywistej kontroli

namespace myApplication.Controls
{
    public class ResourceLiteral : Literal
    {
        private ResourceManager rm;

        public delegate string dResourceResolver( string label, eLanguage language );

        public event dResourceResolver ResourceResolver;

        public string ResourceKey { get; set; }
        public object DataSource { get; set; }

        private eLanguage _Language = eLanguage.ENUS;
        public eLanguage Language
        {
            get { return _Language; }
            set { _Language = value; }
        }

        protected override void OnLoad(EventArgs e)
        {
            base.OnLoad(e);

            if (ResourceResolver != null)
                Text = ResourceResolver.Invoke( ResourceKey, _Language );
            else
            {
                if(rm != null)
                {
                    Text = rm.GetString( ResourceKey );
                }
            }
        }

        public void LoadDataSource(string resource)
        {
            rm = new ResourceManager( resource, Assembly.GetExecutingAssembly() );
        }

        public void LoadDataSource(Type resource)
        {
            rm = new ResourceManager( resource );
        }
    }
}

questionAnswers(4)

yourAnswerToTheQuestion