2010-10-21 6 views
7

Es esto posible:El camino virtual ** mapas a otra aplicación, que no está permitido

Tengo aplicación web con controles de usuario en el directorio siguiente: C: \ Users \ Visual Studio 2010 \ sitios de Internet \ MS \ controles

que tienen otra aplicación web en mi máquina con la siguiente ubicación: C: \ Users \ Visual Studio 2010 \ sitios de Internet \ TestSite

Puede TestSite cargar el userwebcontrol del directorio diferente.

He intentado lo siguiente en TestSite:

myUserControl = (UserControl)LoadControl("../WebSites/CMS/Controls/test.ascx"); 

pero me sale el error: La ruta de acceso virtual mapas '/WebSites/MS/Controls/test.ascx' a otra aplicación, lo cual no está permitido.

Intenté usar ~ al principio pero aparece el archivo '/ TestSite /MS/Controls/Editor.ascx' no existe.

se puede hacer esto?

+1

estoy recibiendo el mismo error en la misma situación. ¿Esto alguna vez se resolvió? – ybao

+1

Lo mismo aquí, al tratar de cargar un control de usuario desde otra aplicación de consola, que no tiene el contexto de la ruta virtual, ¿cómo podríamos cargar ese control de usuario? ¿algunas ideas? – Princa

+0

También me gustaría una actualización si lo resolvió. – user2320724

Respuesta

5

UserControl.LoadControls(path) uses a VIRTUAL PATH, no es una ruta del sistema de archivos. Si la raíz de su proyecto de VisualStudio es C: \ Users \ Visual Studio 2010 \ WebSites \ TestSite, entonces eso es tan bajo como esa aplicación podrá hacer referencia (usando el '~').

+0

La ruta virtual de mi proyecto debe configurarse correctamente. Gracias. – PsychoDUCK

1

En mi caso, era un valor incorrecto para Layout en el archivo cshtml. Debe ser

Layout = "~/Views/Shared/_MySiteMaster.cshtml" 

en lugar de

Layout = "/Views/Shared/_MySiteMaster.cshtml" 
Cuestiones relacionadas