Pergunta

Eu carrego um controle de usuário em uma página da web que lança uma exceção:

this.LoadControl(someusercontrol); // throws TypeLoadException

Os detalhes :

System.Reflection.ReflectionTypeLoadException: The classes in the module cannot be loaded.
  at (wrapper managed-to-native) System.Reflection.Assembly:GetTypes (bool)
  at System.Reflection.Assembly.GetTypes ()
  ... 
  in /usr/src/packages/BUILD/mono2.4.2.3/mcs/class/System.Web/System.Web.Compilation/BuildManager.cs:864 

Mensagem de erro:

 "could not load type 'System.Web.UI.WebControls.WebParts.WebPartsZone from assembly 'System.Web, Version=2.0.0.0 ..."

Entendo que o WebpartsZone não é implementado no System.web. O que eu não entendo é por que ele tenta carregar isso. Não estou usando webparts na minha página da web ou no meu controle.

Como posso descobrir quem (ou o quê) está ligando/usando o webpartszone? Uma simples pesquisa "Encontre em arquivos" por "webparts" não retira descobertas .. Então, o que vem a seguir?

EDIT: Estou usando o Ajax Control Toolkit 3.5 .. MOMA Diz que diz um aviso sobre esta assembléia usando os webparts ... É possível que o ASP: Painel ou ASP: UpdatePanel use uma Webpart em algum lugar? A última vez que ouvi, ajaxcontroltoolkit estava trabalhando com Mono, certo?

Foi útil?

Solução

Eu corri Grep -rhin webparts na fonte do kit de ferramentas de controle e existem alguns controles que têm um using System.Web.UI.WebControls.WebParts neles (Maskededit, tabpanel, ...).

No entanto, acabei de construir a montagem AjaxControlToolkit.dll a partir dessas fontes em Mono (estou usando o tronco de subversão, que é bastante próximo da versão 2.6 em breve) e ele construiu bem. Eu posso até executar a demonstração com todos os controles (pasta de amostra) sem problemas ... acho que alguns controles têm o using Para WebParts, mas nenhum está realmente usando qualquer tipo desse espaço para nome.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top