8

我不能解决这个问题!

创建一个仅执行 FileInfo("Y:/test.txt") 的 VS2010 Windows 应用程序,并且在调试 FileInfo 时工作正常。

通过 VS2013 执行完全相同的操作,它会报告找不到文件。

所以存在某种信任或模拟问题,虽然这是一个 Windows 应用程序,但我以管理员身份运行 VS2013。

这让我发疯 - 有人有任何想法吗?

谢谢保罗

4

1 回答 1

9

当在 Windows 中启用 UAC 并且您是管理员组的成员时,您实际上会得到两个登录会话 - 一个作为普通用户,一个作为管理员。您的映射驱动器仅与您的常规用户登录会话相关联,因此当您以管理员身份运行程序时,它看不到映射驱动器。

此链接提供了更多详细信息和涉及更改注册表的解决方法(我自己没有尝试过!):

要变通解决此问题,请配置 EnableLinkedConnections 注册表值。此值使 Windows Vista 和 Windows 7 能够在过滤的访问令牌和管理员组成员的完整管理员访问令牌之间共享网络连接。配置此注册表值后,如果网络资源映射到访问令牌,LSA 会检查是否存在与当前用户会话关联的另一个访问令牌。如果 LSA 确定存在链接访问令牌,它会将网络共享添加到链接位置。配置 EnableLinkedConnections 注册表值

  1. 单击“开始”,在“开始程序和文件”框中键入 regedit,然后按 Enter。

  2. 找到并右键单击注册表子项 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System。

  3. 指向新建,然后单击 DWORD 值。

  4. 键入 EnableLinkedConnections,然后按 Enter。

  5. 右键单击 EnableLinkedConnections,然后单击修改。

  6. 在数值数据框中,键入 1,然后单击确定。

  7. 退出注册表编辑器,然后重新启动计算机。

于 2014-02-19T19:28:13.743 回答