1

总结的问题是我无法删除网络共享中的特定文件。这些文件似乎被锁定在服务器端,而不是被 Windows 服务锁定。出现此问题的计算机位于域下,文档和其他 Windows 库位于网络共享上。我已经尝试了几种解决方案,这些解决方案将在下面描述。

以下是发生的事情:在 Visual Studio 中调试 Web 应用程序时,我遇到了臭名昭著的蓝屏死机。我重新启动并想继续调试后,项目没有编译。我收到此错误:“创建调试信息文件 z:\MY_Proj_Dir\obj\Debug\My_Proj_Name.pdb 访问被拒绝”。我觉得这很奇怪,因为我之前在那个位置调试过那个项目很多次。在 Visual Studio 中运行调试会话时出现的意外 Windows 错误一定是以某种方式锁定了它。该文件用于调试信息,在查看论坛如何解决问题后,他们建议删除 Debug 目录。

所以这里是我尝试过的解决方案: - 首先,当然,我尝试清理和重建项目。- 关闭 Visual Studio 并重新启动计算机并再次尝试。- 尝试手动删除 obj\Debug 目录:无法删除文件 My_Proj_Name.dll 和 .pdb,因为显然我需要管理员(即我自己)的权限才能执行此操作。- 所以我右键单击目录,打开属性-> 安全-> 高级-> 所有权-> 所有权是 my_user_name@the_domain。这是我登录的帐户。如果我尝试将所有权更改为唯一给我的选项,即相同的 (my_user_name@the_domain) ,勾选子容器和对象上的替换所有者,它会给我一个错误“应用安全性错误:访问被拒绝”。如果我尝试在单个 .dll 和 .

  • 我尝试关闭用户帐户控制,重新启动并尝试删除文件。
  • 我也尝试过使用命令行但没有运气。
  • 我尝试了“解锁器”工具来查看是否可以从其他 Windows 服务释放文件或写入权限,但我仍然无法删除它们。

要查看问题是否出在计算机上,我尝试使用家用计算机上的 VPN 登录并访问网络驱动器: - 如果我从那里删除文件,它们会立即重新出现,没有任何“无法删除”对话框。它也不允许我更改这些文件的所有权。

  • 我启动了我的 Ubuntu VM 并访问了网络共享。并试图从那里删除文件。它给了我一个更奇怪的错误信息:“文件不存在”。但我可以在那里看到它!

  • 我尝试从 WinSCP 和 putty 登录到网络共享,但我无法使用 ssh 或 ftp 访问域 DNS。可能服务器只支持 SMB(Windows 共享)......我不确定。

  • 注意:我只对那个特定文件夹及其文件有问题。我的网络驱动器中的任何其他文件夹都没有问题。我学到的一件事是不要调试位于网络共享上的项目。

4

1 回答 1

0

通过离线工作和本地调试解决了问题。脱机工作 Visual Studio 能够重写调试信息文件。从visual studio我清理解决方案并删除文件。似乎释放了视觉工作室对这些文件的锁定。一旦它离线工作,只需再次将工作模式转换为在线模式。然后我就可以正常编译和调试了。

我学会了不直接在网络共享上进行调试,而是将我的 Visual Studio 项目放在本地以避免所有权和权限问题。

于 2012-08-07T19:35:16.563 回答