讓我們假設你的應用程序是A.exe和B.exe。
B.exe references A.exe。
當運行A.exe時,它讀取/用戶設置從寫入/:
C:\Users\<user>\AppData\Local\A\A.exe_Url_ify12bcwso2vevlc4wawlllokphlsntr\1.0.0.0\user.config
當運行B.EXE,它讀/寫的用戶設置(A.exe時),以/來源:
C:\Users\<user>\AppData\Local\B\B.exe_Url_vhnd4ku3yt2pxsldv3qsblquadzyhg3g\1.0.0.0\user.config
我通過監控A和B EXE文件的磁盤活動與procmon.exe
正如你可以看到了這些路徑,用戶設置背後的邏輯其實是一樣的應用程序設置。運行時正在使用當前正在執行的進程的名稱來存儲用戶設置,因此無法從B.exe訪問A.exe的設置,因爲它們是從A.exe保存的。
這裏是我測試的代碼:
A.exe時:
static void Main(string[] args)
{
Console.WriteLine("A.Settings1.Default.AExeSetting1: {0}", A.Settings1.Default.AExeSetting1);
A.Settings1.Default.AExeSetting1 += "-";
Console.ReadLine();
A.Settings1.Default.Save();
}
B.EXE:
static void Main(string[] args)
{
Console.WriteLine("A.Settings1.Default.AExeSetting1: {0}", A.Settings1.Default.AExeSetting1);
A.Settings1.Default.AExeSetting1 += "-";
Console.ReadLine();
A.Settings1.Default.Save();
}
非常抱歉。我首先誤解了你的問題,但現在修正了我的答案。 –