Pergunta

SandCastle é incapaz de processar nossa biblioteca classe porque ele trava com uma exceção OutOfMemoryException durante a transformação XSL.

O que podemos fazer sobre isso, exceto para o óbvio, comprar mais memória? O problema é que esta é nossas máquinas de desenvolvedor com memória 3,3 GB em um SO de 32 bits então basicamente nós quer ter de atualizar para 64 bits e mais memória (o que não vai acontecer por um tempo) ou configurar um servidor virtual para fazer isso com muita memória (que terá impacto sobre os servidores de produção).

Eu duvido seriamente que temos a maior biblioteca de classes no mundo que exige arquivos de ajuda, de modo que opções temos? Existe uma magia "não bata com erros de memória" configuração que se esqueceu de desligar?

Foi útil?

Solução

Se você é em 32 bits do Windows, o usuário processo só será capaz de endereço de memória de 2 GB por padrão (3 GB é executado tão grande endereço cientes). A 2 GB são usados ??para tudo no processo, de modo que o tempo de execução .NET, bibliotecas padrão, reserva e assim por diante, todos trazem chuck. Na minha experiência que deixa cerca de 1,5 GB para .NET aplicações em 32 bits.

Você pode ter acesso a mais memória usando a grande endereço interruptor ciente, mas não vem de graça se você estiver em 32 bits do Windows. Movendo-se para 64 bits do Windows vai deixar o seu acesso a aplicativos de 32 bits no espaço de endereço bit inteiro 32 e, assim, dar-lhe 4 GB de espaço endereçável.

Eu escrevi recentemente uma entrada de blog com detalhes sobre o uso de memória para aplicativos .NET, mas desde que eu blogue em dinamarquesa, você pode não ser capaz de lê-lo. No entanto, se você quiser dar uma olhada, o link é: http://kodehoved.dk/?p= 156

Você também pode encontrar este MSDN post no blog relevante: http://blogs.msdn.com/maoni/archive/2007/05/15/64-bit-vs-32-bit.aspx

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