2012-03-30 15 views
2

Ich versuche, den Pfad zum ClientBin-Verzeichnis innerhalb meines .Web-Projekts innerhalb einer Silverlight-Anwendung abzurufen. Derzeit sieht mein Verfahren so, aber es hat eine bessere/mehr prägnante Art und Weise zu sein, diesen Weg zu bekommen:Pfad zum Silverlight ClientBin-Verzeichnis abrufen

public static string GetClientBinPath() 
{ 
    var applicationPath = Path.GetDirectoryName(Assembly.GetExecutingAssembly().GetName().CodeBase); 

    if (applicationPath.StartsWith(@"file:\")) 
     applicationPath = applicationPath.Remove(0, 6); 

    applicationPath = Path.Combine(applicationPath, @"..\ClientBin"); 

    return applicationPath; 
} 

Antwort

3

Im Web-Projekt, das Sie die statische Methode MapPath der Klasse Hostingenvironment verwenden sollte.

string pathToClientBin = HostingEnvironment.MapPath("~/ClientBin"); 

Die Klasse im System.Web.Hosting Namensraum der Baugruppe System.Web liegt

+0

Schön! Danke, für die schnelle Antwort. Ich wusste, dass es einen einfacheren Weg geben musste, den virtuellen Raum dem physischen Raum zuzuordnen. –

0

Ich weiß, es ist alt, aber hier geht:

currentDir = Path.GetDirectoryName(Application.Current.Host.Source.LocalPath); 

Es funktioniert für out der Browser-Anwendung. Ich habe es nicht im Browser getestet.

Verwandte Themen