2009-11-15 52 views

回答

0

可以使用Application.UserAppDataPath從DLL - 只需從DLL項目添加到System.Windows.Forms程序集的引用。

但是請注意,如果您的DLL在Windows服務或服務器應用程序(如ASP.NET)中使用,它可能在沒有配置文件的服務帳戶下運行 - 在這種情況下,UserAppDataPath將不存在。這可能是Application類在System.Windows.Forms命名空間中的主要原因。

0

那麼,如果你沒有一個你可以使用的應用程序對象,你將開始與你提到的獲得「ApplicationData」文件夾路徑,然後將默認文件夾結構追加到該路徑。

公司名稱/產品名稱

是默認的其他項目

1

這是一個可以做你想做的事的方法。這適用於WPF應用程序,無需添加System.Windows.Forms.dll

public string GetUserAppDataPath() 
{ 
    string path = string.Empty; 
    System.Reflection.Assembly assm; 

    try 
    { 
    assm = System.Reflection.Assembly.GetEntryAssembly(); 
    Type at = typeof(System.Reflection.AssemblyCompanyAttribute); 
    object[] r = assm.GetCustomAttributes(at, false); 
    System.Reflection.AssemblyCompanyAttribute ct = ((System.Reflection.AssemblyCompanyAttribute)(r[0])); 

    path = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData); 
    path += @"\" + ct.Company; 
    path += @"\" + assm.GetName().Version.ToString(); 
    } 
    catch 
    {   
    } 

    return path; 
} 
相關問題