Compilation Error – BC30456
(último post do ano, uhu!). Ontem me deparei com o seguinte erro:
Server Error in ‘/’ Application.
Compilation Error
Description: An error occurred during the compilation of a resource required to service this request. Please review the following specific error details and modify your source code appropriately.
Compiler Error Message: BC30456: ‘InitializeCulture’ is not a member of ‘ASP.login_alterasenha_aspx’.
Ele começou a acontecer depois que gerei uma versão de publicação do website, conforme a tela abaixo:

Antes o site era deixado no servidor sem estar compilado: .vb (código-fonte) e .aspx (páginas), desta forma o erro não acontecia, o site funcionava perfeitamente. Mas como sabemos isso não é muito aconselhável por questões de segurança e performance (para mais detalhes: http://msdn.microsoft.com/en-us/library/377y0s6t.aspx).
A procura do motivo do erro achei o seguinte post com algumas possíveis soluções, mas nenhuma que solucionasse meu problema. Voltando ao código e algumas horinhas quebrando a cabeça, notei que a página que estava dando erro: AlteraSenha.aspx, implementava a classe Login_AlteraSenha, conforme a diretiva abaixo:
<%@ Page Language=”VB” MasterPageFile=”~/MaterPages/Default2.master” AutoEventWireup=”false”
CodeFile=”AlteraSenha.aspx.vb” Inherits=”Login_AlteraSenha” %>
Ao pesquisar por essa classe, descobri que outra página também a implementava:
<%@ Page Language=”VB” MasterPageFile=”~/MaterPages/Default2.master” AutoEventWireup=”false”
CodeFile=”NovaRevendaLogin.aspx.vb” Inherits=”Login_AlteraSenha” %>
O que fiz? Alterei a segunda página, fazendo-a implementar seu respectivo code-behind e ‘voalá’… Gerei uma nova versão publicada sem erros! Por algum motivo a compilação/publicação do ASP.NEt se confunde quando duas páginas referenciam a mesma classe como code-behind (algo não muito comum de se fazer), bom né?
Feliz ano novo! :)
–
Gustavo Vedotti

leave a comment