C#Environment.SpecialFolders和应用程序文件夹之间的差异

C#Environment.SpecialFolders和应用程序文件夹之间的差异,c#,special-folders,C#,Special Folders,这些名称空间中的魔法路径有什么区别: Environment.SpecialFolder.LocalApplicationData 对 Application.LocalUserAppDataPath Application.CommonAppDataPath 及 对 Application.LocalUserAppDataPath Application.CommonAppDataPath 等等。在Windows 7上: Environment.SpecialFolder.Local

这些名称空间中的魔法路径有什么区别:

Environment.SpecialFolder.LocalApplicationData

Application.LocalUserAppDataPath
Application.CommonAppDataPath

Application.LocalUserAppDataPath
Application.CommonAppDataPath
等等。在Windows 7上:

Environment.SpecialFolder.LocalApplicationData = C:\Users\username\AppData\Local
Application.LocalUserAppDataPath = C:\Users\username\AppData\Local
Environment.SpecialFolder.ApplicationData = C:\Users\username\AppData\Roaming
Application.CommonAppDataPath = C:\Users\username\AppData\Roaming

本地仅存储在本地计算机上。漫游被复制到域服务器(在域中时),然后在您登录时加载回该域中的其他计算机。

它们不一样。它们的应用程序版本知道ClickOnce部署,相应地调整路径以使其保持隔离。

要为将来登录此页面的任何人添加答案,有关所有与文件夹相关的特殊问题,请参阅Microsoft文档,其中列出了所有文件夹类型:


那么它们是一样的?为什么对同一路径有两个引用?为什么CommonAppDataPath在用户名下?@Jake-因为并非所有的windows操作系统都意味着它们是相同的。未来的也不能保证是一样的。“你真的想让你的代码在多个系统上工作,对吗?”杰克-为解释的延迟道歉,我已经准备好了编辑,但昨晚我的电池没电了。我现在已经应用了该编辑,希望这能更好地解释问题。哪个是
应用程序的命名空间?@Kiquenet
System.Windows.Forms
,这就是区别所在……这是否回答了您的问题?对于面向普通用户的普通C#应用程序,
Environment.SpecialFolder
应用程序
,哪个更安全或更常见?