Hoje eu fiquei umas 2 ou 3 horas tentando descobrir porque minha página simplesmente se recusava a aceitar que uma classe que eu criei existia. O erro que dava era no arquivo designer:
The type or namespace name MyClass does not exist in the namespace MyProject (are you missing an assembly reference?)
No web.config:
<system.web>
<pages>
<controls>
<add tagPrefix="tag" namespace="MyProject" />
</controls>
</pages>
</system.web>
Na página:
<tag:MyClass ID="MyControl" runat="Server" />
No designer (gerado pelo Visual Studio):
/// <summary>
/// controle MyControl.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::MyProject:MyClass MyControl;
A classe:
public class MyClass : Control
{
(código fonte)
}
Tudo no lugar, certo? Foi o que pensei. Então pedi ajuda para alguém que realmente conhece WebForms. Descobri que eu tinha, por acidente, deixado o arquivo MyClass como Content no projeto, quando deveria estar como Compile.
Clique na class, aperte F4, na tela de Properties vá em Build Action e coloque Compile. Pronto. Agora funciona.
Nenhum comentário:
Postar um comentário