我正在尝试将子目录添加到现有路径。
Win-7 64,英特尔固态硬盘
以具有管理员权限的用户身份登录公司域,但不是以“管理员”身份登录
Visual Studio 2008,正常启动(不是“以管理员身份运行”)
这是 MyApp(WinForms、Debug、x86):
[STAThread]
private static void Main(string[] args)
{
string p = @"C:\ProgramData\MyCompany\MyApp";
Directory.CreateDirectory(p);
string f = "a.txt";
string fullPath = Path.Combine(p, f);
File.WriteAllText(fullPath, string.Empty);
Directory.Delete(p);
不出所料,最后一行抛出 IOException: "The directory is not empty"。应该意味着创建了子目录和文件。
问题:Windows 资源管理器不显示 MyApp 子目录(即使在刷新后,在地址栏中键入路径、关闭/重新打开或重新启动)。
C:\ProgramData\MyCompany\ 是由另一个应用程序的安装程序创建的;Windows 资源管理器说它的当前所有者是系统。
使用相同的 IDE 创建控制台应用程序(调试,x86),复制上述行并运行;Windows 资源管理器很高兴向我展示 DigitalTestApps 和里面的文件。
如果我对 MyApp 执行以下任一操作,问题就会消失(即 Windows 资源管理器向我显示“MyApp”子目录和其中的文件):
构建为 x64
使用“以管理员身份运行”启动 Visual Studio
使用“MyApp”以外的任何名称(但出于遗留原因,我需要使用 MyApp)
这可能是什么原因造成的?