我试图找到一种将appdata路径用作我的environment.currentdurectory的方法,这意味着我想从appdata文件夹运行c#应用程序,并且在我的项目中,我始终使用environment.currentdirectory。
我找不到一种方法,可以在应用程序配置中设置应用程序数据路径,然后再用应用程序数据路径替换environment.curent目录...
PS :。
1)我想将程序数据路径设置为appdata
2)我的项目代码设置为使用environment.currentdirectory
3)我不想通过逐行替换
目标.Net框架4
答案 0 :(得分: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);
答案 1 :(得分:0)
因此,我发现除非进行任何设置,否则我们无法直接从配置文件获取应用程序数据路径。
最好的用途就是通过
获取应用程序数据路径Environment.specialfolder方法并使用它。
否则,上面发布的答案是MSDN本身给出的,显然可以,但是代码太大