1

我试图找到一种方法将 appdata 路径用作我的 environment.currentduretory,这意味着我想从 appdata 文件夹运行 c# 应用程序,并且在我的项目中我总是使用 environment.currentdirectory。

我找不到一种方法可以在应用程序配置中设置 appdata 路径,然后用 appdata 路径替换 environment.curentdirectory ...

PS:。

1)我想将我的程序数据路径设置为 appdata

2)我的项目代码设置为使用 environment.currentdirectory

3)我不想通过逐行替换 environment.currentdirectory

目标 .Net 框架 4

4

2 回答 2

0

所以,我发现除非我们设置任何,否则我们无法直接从配置文件中获取应用程序数据路径。

最好的使用 se 只是获取应用程序数据路径

Environment.specialfolder 方法并使用它。

否则上面发布的答案是由 MSDN 本身给出的,显然有效,但代码太大

于 2019-01-18T14:16:29.570 回答
0

您是否尝试过通过应用程序域执行此操作。

看:

https://docs.microsoft.com/en-us/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);
于 2019-01-07T08:32:24.090 回答