"Nunca julgue um livro por seu filme." (J. W. Eagan)
 
 

Compiler Error Message: CS0016: Could not write to output file

 
Recentemente estive às voltas com esse problema. Uma página ASP.NET, desenvolvida em C#, não era carregada e exibia essa mensagem de erro.

Na verdade, a mensagem era mais extensa, algo como:

Compiler Error Message: CS0016: Could not write to output file ‘c:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\Temporary ASP.NET Files\MyApp\fadda49e\bbdb0b87\eqdatzch.dll’ — ‘Access is denied.’

Como eu não tinha alterado nada no meu código e a página simplesmente não estava funcionando, suspeitei das configurações do servidor. A única pista era a informação final “Access is denied“.

Tudo levava a crer que a conta responsável pela execução do meu assembly .NET, no IIS, não tinha permissão de escrita naquele path.

Depois de algumas horas tentando definir novos privilégios e contas para o path exibido na mensagem de erro, o problema continuava. Algo me dizia que a solução não era por ali.

Não vou enrolar mais e vou contar o desfecho desta história. Afinal. você pode estar com o mesmo problema.

O problema todo está na compilação do assembly .NET.

Para a minha surpresa, ele não é compilado somente na pasta Temporary ASP.NET Files. Antes de ser copiado, o assembly é compilado e linkado no diretório temporário do seu sistema operacional. Para saber qual é, acesse:

Start/My Computer/Properties/Advanced/Environment Variables

Veja o que está definido para TEMP e/ou TMP.

Aí está a solução do problema.

A conta que executa as páginas ASP.NET precisa ter total acesso à pasta temporária do Windows.

No meu caso e por algum motivo, a conta não estava incluída na lista de permissões para essa pasta. Tive que incluir a conta e permitir total controle.

Para fazer isso, selecione a pasta e acesse Properties/Security.

Para Framework 1.0 adicione a conta ASPNET e para Framework 1.1 a conta NETWORK SERVICE. Defina Full Control nas permissões.

Tudo vai voltar a funcionar perfeitamente.

Compare preços de notebooks Acer no Buscapé.

Este tutorial foi útil para você?
Você pode me ajudar a criar novos tutoriais e manter este site!

Novo visitante?!!!
Realidade Subjetiva é atualizado diariamente com artigos sobre temas diversos. Assine e esteja sempre atualizado via feed RSS ou recebendo por e-mail.

Veja também
 
Artigos recentes

Discussão

O que você acha? Deixe um comentário. Ou então, escreva um artigo em seu próprio blog; este blog aceita trackbacks [trackback url].

Comentários

1.
Em 31/03/2008 às 11:24 pm, Marcos SimõesNo Gravatar
disse:
Na mosca…Valeu!!!:D


Quer ver sua imagem nos comentários? Crie o seu Gravatar.

Acompanhe os comentários deste artigo via RSS

Deixe um comentário