簡體   English   中英

C#在應用程序配置文件中設置appdata或任何特殊文件夾路徑

[英]C# set appdata or any special folder path in app config file

我試圖找到一種將appdata路徑用作我的environment.currentdurectory的方法,這意味着我想從appdata文件夾運行c#應用程序,並且在我的項目中,我始終使用environment.currentdirectory。

我找不到一種方法可以在app config中設置appdata路徑,然后再用appdata路徑替換environment.curentdirectory ...

PS :。

1)我想將我的程序數據路徑設置為appdata

2)我的項目代碼設置為使用environment.currentdirectory

3)我不想通過逐行替換替換environment.currentdirectory

目標.Net框架4

您是否嘗試通過應用程序域執行此操作。

看到:

https://docs.microsoft.com/zh-cn/dotnet/api/system.appdomain.basedirectory?view=netframework-4.7.2

    // Create application domain setup information
    var domaininfo = new AppDomainSetup();
    domaininfo.ConfigurationFile = System.Environment.CurrentDirectory + 
                                   Path.DirectorySeparatorChar +
                                   "ADSetup.exe.config";
    domaininfo.ApplicationBase = System.Environment.CurrentDirectory;

    //Create evidence for the new appdomain from evidence of the current application domain
    Evidence adEvidence = AppDomain.CurrentDomain.Evidence;

    // Create appdomain
    AppDomain domain = AppDomain.CreateDomain("Domain2", adEvidence, domaininfo);

    // Display application domain information.
    Console.WriteLine("Host domain: " + AppDomain.CurrentDomain.FriendlyName);
    Console.WriteLine("Child domain: " + domain.FriendlyName);
    Console.WriteLine();
    Console.WriteLine("Configuration file: " + domain.SetupInformation.ConfigurationFile);
    Console.WriteLine("Application Base Directory: " + domain.BaseDirectory);

    AppDomain.Unload(domain);

因此,我發現除非直接進行設置,否則無法直接從配置文件獲取應用程序數據路徑。

最好的用途就是獲取應用程序的數據路徑

並使用Environment.specialfolder方法。

否則,上面發布的答案由MSDN本身給出,顯然可以工作,但是代碼太大

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM