CORRECÇÃO: Não é possível compilar ficheiros código após utilizar o atributo de origem uma partilha UNC

Traduções de Artigos Traduções de Artigos
Artigo: 313105 - Ver produtos para os quais este artigo se aplica.
Este artigo foi arquivado. Este artigo é oferecido "tal como está" e deixará de ser actualizado.
Expandir tudo | Reduzir tudo

Nesta página

Sintomas

Ao compilar um formulário da Web, a compilação poderá falhar no ASP.NET e poderá receber a seguinte mensagem de erro (ou outra semelhante):
Mensagem de erro do compilador: CS2001: ficheiro de origem
Não foi possível encontrar '\\server\sharename\webform1.aspx.cs'.
Este erro pode ocorrer se se verificarem as seguintes condições:
  • Está a ser utilizado o modelo de código.
  • A página utiliza compilação dinâmica com o atributo de origem e partilham os pontos de atributo de origem para um ficheiro num computador remoto utilizando um universal nomes Convention (UNC).
  • Representação estiver activada no ficheiro Web.config.

Causa

Este problema ocorre porque o compilador é iniciado com a identidade de um processo de trabalho e o processo de trabalho poderá não conseguir ler à partilha remota. Uma vez que o ASP.NET utiliza o token de representação para ler a página, o ASP.NET lê a página com êxito.

Resolução

Para resolver este problema, utilize um dos seguintes métodos:
  • Conceda o acesso de partilha a conta que é utilizada para o processo de trabalho. Se estiver a utilizar uma conta de sistema ou um serviço de rede, pode conceder acesso à conta de computador.

    Para conceder acesso à conta de computador, siga estes passos:
    1. Clique com o botão direito do rato a partilha e, em seguida, clique em Propriedades .
    2. No separador partilhar , clique em permissões (Permissions) e, em seguida, clique em Adicionar .
    3. Escreva o nome do servidor Web e, em seguida, clique em Verificar nomes . É apresentada como NomeComputador $ em Permissões de partilha na caixa de diálogo permissões para esta partilha.
  • Utilize ficheiros de código com pré-compiladas bibliotecas de ligação dinâmica (DLL) em vez de compilação dinâmica.
  • Utilize ficheiros de página único em vez de ficheiros de código.
  • Executa o processo de trabalho como uma conta que pode aceder à partilha. Para configurar esta, utilize os atributos de nome e palavra-passe de utilizador do elemento processModel do ficheiro Machine.config.

Ponto Da Situação

A Microsoft confirmou que este erro ocorre nos produtos da Microsoft listados no início deste artigo. Este erro foi corrigido no ASP.NET (incluído com o .NET Framework) 1.1 e o .NET Framework 1.1.

Mais Informação

Passos para reproduzir o comportamento

  1. Crie uma página .aspx denominada Webform1.aspx.
  2. Utilize um dos seguintes exemplos para a directiva 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 de código e nome-de acordo com para a directiva de página que seleccionou no passo 2.
  4. Adicione um utilizador de domínio (domínio\utilizador) ao computador como administrador.
  5. Criar uma partilha e atribua permissões totais apenas ao utilizador de domínio.
  6. No ' Gerenciador de serviços de Internet ', crie uma aplicação do Microsoft Internet Information Server (IIS) e, em seguida, utilizar o domínio\utilizador para ligação - como.
  7. Crie um directório virtual na aplicação que aponta para a partilha que criou anteriormente.
  8. Mova a WebForm1.aspx e o ficheiro de código para a partilha.
  9. Criar um ficheiro Web.config novo e, em seguida, adicione o seguinte código:
    <?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 ficheiro Web.config para o directório virtual para a aplicação de Web para adicionar o ficheiro da aplicação do IIS.
  11. Navegue para a página.

Propriedades

Artigo: 313105 - Última revisão: 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 revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 313105

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