【问题标题】:Access to the path is denied VS 2017 Unable to copy file访问路径被拒绝 VS 2017 无法复制文件
【发布时间】:2018-04-20 04:29:09
【问题描述】:

最近在使用 Visual Studio 时遇到了最奇怪的问题。我正在运行 2017 年,我有一个回购协议,我一直在与一位同事合作一段时间,突然有一天,我尝试构建,但出现了几个错误,

对路径function.json的访问被拒绝

然后在构建和清理解决方案多次尝试后,我收到大量 MSB3021 错误说明,

无法将文件“localfilepath.dll”复制到“bin\Debug...\file.dll”

我有一位同事能够在他的机器上正常访问 repo,并且一切正常。不确定它是否相关,但这是一个包含 2 个 Azure 函数项目和 1 个类库项目的项目。我的其他本地存储库也可以很好地构建和重建。

我的尝试:

  • 关闭 Visual Studio 的所有实例并重新打开项目(没有任何变化)
  • 重新启动我的计算机(我第一次打开项目时可以成功构建,但第二次无法构建。那时我再次收到所有错误)
  • 从我的机器本地删除 repo 并从 github 拉下一个新副本(完全相同的问题重现)

【问题讨论】:

  • 听起来您的应用程序在您第一次构建后仍在运行。检查浏览器窗口或 IIS (express) 以查看它是否仍有正在运行的应用程序。
  • @oerkelens 我确实想知道这是否也会发生,但是当我检查 IIS 没有运行时
  • 当您尝试构建时,您按的是哪个按钮?构建、IIS Express(运行)还是发布?
  • @nurdyguy 构建。但我也尝试了所有替代方案,结果相同。
  • 如果你重启你的盒子,构建一次(成功),然后再次尝试构建,它会失败吗?即使您在构建之间什么也没做?那么构建清洁构建呢?

标签: c# asp.net visual-studio access-denied


【解决方案1】:

如何解决问题

处理锁定文件或文件夹的最简单方法之一是使用 Microsoft Sysinternals Process Explorer

使用 Process Explorer 有一种简单的方法可以找到正在使用文件的程序。

打开进程浏览器

以管理员身份运行。

在工具栏上,找到右侧的“瞄准镜”图标。

将图标拖放到已打开的已锁定文件或文件夹上。

正在使用该文件的可执行文件将在 Process Explorer 主显示列表中突出显示。


打开以管理员身份运行的进程资源管理器。

输入键盘快捷键 Ctrl+F 或单击“查找”菜单并选择“查找句柄或 DLL”,将打开一个搜索对话框。

输入锁定文件或其他感兴趣文件的名称。

函数.json

部分名称通常就足够了。

点击“搜索”按钮会生成列表,可能有多个条目。


要释放您正在尝试对其进行维护操作的文件的锁定,您需要终止相应的进程。 Process Explorer 提供的列表中的单个程序或句柄可以通过选择进程/句柄/程序条目并按删除来终止进程。

https://docs.microsoft.com/en-gb/archive/blogs/markrussinovich/the-case-of-the-mysterious-locked-file

【讨论】:

  • 实际上,就我而言,它是 BitDefender。每次我构建解决方案时,它都会在 exe 文件中检测到病毒。
猜你喜欢
  • 2011-10-31
  • 2017-07-29
  • 2021-05-03
  • 2019-01-31
  • 1970-01-01
  • 2012-11-28
  • 2011-09-10
  • 2014-07-27
相关资源
最近更新 更多