2010-10-21 10 views
7

Czy to możliwe:Wirtualna ścieżka ** mapy do innej aplikacji, co jest niedozwolone

Mam aplikację internetową z usercontrols w następującym katalogu: C: \ Users \ Visual Studio 2010 \ WebSites \ MS \ kontrole

mam innej aplikacji internetowej na moim komputerze z następującej lokalizacji: C: \ Users \ Visual Studio 2010 \ WebSites \ TestSite

Czy TestSite załadować userwebcontrol z innego katalogu.

Próbowałem następujących w TestSite:

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

ale pojawia się błąd: ścieżki wirtualne mapy „/WebSites/MS/Controls/test.ascx” do innej aplikacji, co jest niedozwolone.

Próbowano używając ~ na początku, ale pojawia się Plik "/TestSite/MS/Controls/Editor.ascx" nie istnieje.

Czy to można zrobić?

+1

Dostaję ten sam błąd w takiej samej sytuacji. Czy to kiedykolwiek zostało rozwiązane? – ybao

+1

To samo, próbując załadować kontrolkę użytkownika z innej aplikacji konsolowej, która nie ma kontekstu ścieżki wirtualnej, w jaki sposób możemy załadować tę kontrolę użytkownika ?! jakieś pomysły? – Princa

+0

Chciałbym również aktualizacji, gdyby udało się to rozwiązać. – user2320724

Odpowiedz

5

UserControl.LoadControls(path) uses a VIRTUAL PATH, a nie ścieżkę systemu plików. Jeśli twój root projektu VisualStudio to C: \ Users \ Visual Studio 2010 \ WebSites \ TestSite, to jest tak nisko jak ta aplikacja będzie mogła się odwoływać (używając '~').

+0

Ścieżka wirtualna mojego projektu musi być poprawnie skonfigurowana. Dzięki. – PsychoDUCK

1

W moim przypadku była to nieprawidłowa wartość dla Layout w pliku cshtml. Należy

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

zamiast

Layout = "/Views/Shared/_MySiteMaster.cshtml" 
Powiązane problemy