2012-03-30 4 views
2

Я пытаюсь получить путь к каталогу ClientBin из моего проекта .Web внутри приложения Silverlight. В настоящее время мой метод выглядит так, но там должно быть лучше/более кратким способом, чтобы получить этот путь:Получить путь к каталогу Silverlight ClientBin

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; 
} 

ответ

3

В веб-проекте вы должны использовать статический метод MapPath класса HostingEnvironment.

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

Класс расположен в System.Web.Hosting пространстве имен сборки System.Web

+0

Ницца! Спасибо вам за быстрый ответ. Я знал, что должен быть более простой способ «сопоставить» виртуальное пространство с физическим пространством. –

0

Я знаю, что это старый, но здесь вы идете:

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

Он работает для из приложения браузера. Я не тестировал его в браузере.

Смежные вопросы