REVISIÓN: No se puede compilar archivos de código subyacente que utilizan el atributo Src en un recurso compartido UNC

Seleccione idioma Seleccione idioma
Id. de artículo: 313105 - Ver los productos a los que se aplica este artículo
Este artículo se ha archivado. Se ofrece "tal cual" y no se volverá a actualizar.
Expandir todo | Contraer todo

En esta página

Síntomas

Cuando se compila en un formulario Web Forms, puede fallar la compilación en ASP.NET y puede recibir el siguiente mensaje de error (o similar):
Mensaje de error del compilador: CS2001: archivo de origen
No se pudo encontrar '\\server\sharename\webform1.aspx.cs'.
Este error puede producirse si se cumplen las condiciones siguientes:
  • Se utiliza el modelo de código subyacente.
  • La página utiliza compilación dinámica con el atributo Src y compartan los puntos de atributo de origen a un archivo en un equipo remoto usando una convención de nomenclatura universal (UNC).
  • La suplantación está habilitada en el archivo Web.config.

Causa

Este problema se produce porque el compilador se inicia con la identidad de un proceso de trabajo y el proceso de trabajo no podrá leer el recurso compartido remoto. ASP.NET utiliza el testigo de suplantación para leer la página, ASP.NET lee la página correctamente.

Solución

Para resolver este problema, utilice uno de los métodos siguientes:
  • Conceda el acceso de recurso compartido a la cuenta que se utiliza para el proceso de trabajo. Si está utilizando una cuenta de sistema o un servicio de red, puede asignar acceso a la cuenta de equipo.

    Para dar acceso a la cuenta de equipo, siga estos pasos:
    1. Haga clic con el botón secundario en el recurso compartido y, a continuación, haga clic en Propiedades .
    2. En la ficha Compartir , haga clic en permisos y, a continuación, haga clic en Agregar .
    3. Escriba el nombre del servidor Web y, a continuación, haga clic en Comprobar nombres . Esto se muestra como NombreEquipo $ bajo Compartir permisos en el cuadro de diálogo permisos para este recurso compartido.
  • Utilizar archivos de código subyacente con precompilado bibliotecas de vínculos dinámicos (DLL) en lugar de compilación dinámica.
  • Utilizar archivos de página único en lugar de los archivos de código subyacente.
  • Ejecute el proceso de trabajo como una cuenta que puede tener acceso al recurso compartido. Para configurar esto, utilice los atributos de nombre y la contraseña de usuario del elemento processModel del archivo Machine.config.

Estado

Microsoft ha confirmado que se trata de un problema de los productos de Microsoft enumerados al principio de este artículo. Este error se corrigió en ASP.NET (incluido con .NET Framework) 1.1 y .NET Framework 1.1.

Más información

Pasos para reproducir este comportamiento

  1. Cree una página .aspx denominada WebForm1.aspx.
  2. Use uno de los siguientes ejemplos de la directiva de página:
    <%@ Page language="c#"  Codebehind="WebForm1.aspx.cs"  Src = "WebForm1.aspx.cs" %>
    					
    -o bien -
    <%@ Page language="vb"  Codebehind="WebForm1.aspx.vb"  Src = "WebForm1.aspx.vb" %>
    					
  3. Crear una página de código subyacente y asígnele el nombre según a la directiva de página que eligió en el paso 2.
  4. Agregar un usuario de dominio (dominio\usuario) como administrador al equipo.
  5. Crear un recurso compartido y, a continuación, conceder permisos completos a sólo el usuario de dominio.
  6. En el Administrador de servicios de Internet, cree una aplicación de Internet Information Server (IIS) y utilícela de forma única el dominio\usuario para conectar - como.
  7. Crear un directorio virtual en la aplicación que señala al recurso compartido que creó anteriormente.
  8. Mueva el WebForm1.aspx y el archivo de código subyacente al recurso compartido.
  9. Cree un nuevo archivo Web.config y, a continuación, agregue el siguiente 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 el archivo Web.config en el directorio virtual de la aplicación Web agregar el archivo a la aplicación de IIS.
  11. Vaya a la página.

Propiedades

Id. de artículo: 313105 - Última revisión: lunes, 24 de febrero de 2014 - Versión: 2.3
La información de este artículo se refiere a:
  • Microsoft ASP.NET 1.0
  • Microsoft .NET Framework 1.0
Palabras clave: 
kbnosurvey kbarchive kbmt kbfix kbbug kbconfig kbdeployment kbnofix kbreadme kbsecurity kbweb KB313105 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 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