Por que preciso de uma página recompilada quando um método usado por ela é alterado?

Tenho uma página aspx que usou um método em uma classe na pasta App Code,doSomething(int[] x). Alterei a definição da função para usar um IEnumerable em vez de uma matriz:doSomething(IEnumerable<int> x). Em seguida, pré-compilei o site usando "permitir que o site seja atualizável" e publiquei o novo App_Code.dll. Agora, a versão pré-compilada da página apresenta um erro do servidor em tempo de execução: "Método não encontrado".
Se eu também publicar a DLL gerada para a página, "App_Web_ [página] .aspx. [Random] .dll", ela funcionará. Então parece que a assinatura da função está incorporada na página compilada de alguma forma ...? Por que isso ocorre e existe uma maneira de evitar esse problema ao alterar o código existente?
Detestaria atualizar todas as DLLs da minha página sempre que alterar o código nas minhas classes comun

questionAnswers(8)

yourAnswerToTheQuestion