CORRECÇÃO: Não é possível compilar arquivos code-behind que usam o atributo de origem em um compartilhamento UNC

Traduções deste artigo Traduções deste artigo
ID do artigo: 313105 - Exibir os produtos aos quais esse artigo se aplica.
Este artigo foi arquivado. É oferecido "como está" e não será mais atualizado.
Expandir tudo | Recolher tudo

Neste artigo

Sintomas

Quando você compilar um formulário da Web, a compilação pode falhar no ASP.NET e a seguinte mensagem de erro (ou semelhante):
Mensagem de erro do compilador: CS2001: arquivo de origem
'\\server\sharename\webform1.aspx.cs' não foi encontrado.
Este erro pode ocorrer se as seguintes condições forem verdadeiras:
  • O modelo code-behind está sendo usado.
  • A página usa compilação dinâmica com o atributo Src e compartilham os pontos de atributo de origem para um arquivo em um computador remoto usando uma convenção universal de nomenclatura (UNC).
  • Representação é ativada no arquivo Web.config.

Causa

Esse problema ocorre porque o compilador for iniciado com a identidade de um processo do operador e o processo do operador não consiga ler o compartilhamento remoto. Como o ASP.NET usa o token de representação para ler a página, ASP.NET lê a página com êxito.

Resolução

Para resolver esse problema, use um dos seguintes métodos:
  • Conceder acesso de compartilhamento à conta que é usada para o processo do operador. Se você estiver usando uma conta do sistema ou um serviço de rede, você pode conceder acesso à conta de computador.

    Para fornecer acesso à conta de computador, execute estas etapas:
    1. Clique o compartilhamento com o botão direito do mouse e, em seguida, clique em Propriedades .
    2. Na guia compartilhamento , clique em permissões e, em seguida, clique em Adicionar .
    3. Digite o nome do servidor Web e, em seguida, clique em Verificar nomes . Isso exibe como $ machinename em Permissões de compartilhamento na caixa de diálogo permissões para este compartilhamento.
  • Use arquivos code-behind com pré-compiladas bibliotecas de vínculo dinâmico (DLLs) em vez de compilação dinâmica.
  • Use arquivos de página única em vez de arquivos code-behind.
  • Execute o processo de trabalho como uma conta que pode acessar o compartilhamento. Para configurar isso, use os atributos de nome e senha de usuário do elemento processModel do arquivo Machine.config.

Situação

A Microsoft confirmou que esse é um problema nos produtos da Microsoft listados no começo deste artigo. Esse bug foi corrigido no ASP.NET (incluído com o .NET Framework) 1.1 e o .NET Framework 1.1.

Mais Informações

Etapas para reproduzir o problema

  1. Crie uma página .aspx chamada WebForm1.aspx.
  2. Use um dos exemplos a seguir para a diretiva de página:
    <%@ Page language="c#"  Codebehind="WebForm1.aspx.cs"  Src = "WebForm1.aspx.cs" %>
    					
    - ou -
    <%@ Page language="vb"  Codebehind="WebForm1.aspx.vb"  Src = "WebForm1.aspx.vb" %>
    					
  3. Crie uma página code-behind e denomine acordo com a diretiva de página que você escolheu na etapa 2.
  4. Adicione um usuário de domínio (domínio\usuário) ao computador como administrador.
  5. Criar um compartilhamento e dê permissões totais a somente o usuário de domínio.
  6. No Gerenciador de serviços da Internet, criar um aplicativo do Microsoft Internet Information Server (IIS) e use o domínio\usuário para conexão - como.
  7. Crie um diretório virtual do aplicativo que aponta para o compartilhamento que você criou anteriormente.
  8. Mova a WebForm1.aspx e o arquivo code-behind para o compartilhamento.
  9. Crie um novo arquivo Web.config e adicione o código a seguir:
    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
      <system.web>
        <authentication mode="Windows" />
        <identity impersonate="true" userName="domain\user" password="password" /> 
     </system.web>
    </configuration>
    					
  10. Copie o arquivo Web.config para o diretório virtual para o aplicativo da Web adicionar o arquivo para o aplicativo de IIS.
  11. Navegue até a página.

Propriedades

ID do artigo: 313105 - Última revisão: segunda-feira, 24 de fevereiro de 2014 - Revisão: 2.3
A informação contida neste artigo aplica-se a:
  • Microsoft ASP.NET 1.0
  • Microsoft .NET Framework 1.0
Palavras-chave: 
kbnosurvey kbarchive kbmt kbfix kbbug kbconfig kbdeployment kbnofix kbreadme kbsecurity kbweb KB313105 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 313105

Submeter comentários

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com