【问题标题】:The process cannot access the file 'CustomTabsClient_CustomTabsCallbackImpl.class'该进程无法访问文件“CustomTabsClient_CustomTabsCallbackImpl.class”
【发布时间】:2017-12-09 18:03:07
【问题描述】:

我已将我的 Windows 升级到 10.0.16299(最新),并将我的 Visual Studio 升级到 15.5.1(最新)。从那时起,我在清理或构建包含 Android 项目的 Xamarin 解决方案时看到此错误消息:

obj\Debug\android\src\android\support\customtabs\CustomTabsClient_CustomTabsCallbackImpl.java:4: 错误:编写 CustomTabsClient_CustomTabsCallbackImpl 时出错: obj\Debug\android\bin\classes\android\support\customtabs\CustomTabsClient_CustomTabsCallbackImpl.class (该进程无法访问该文件,因为它正被 另一个进程)

在我尝试运行和调试应用程序后,我发现锁定过程是 Visual Studio 本身。

无论我是想在模拟器还是连接的真实设备上运行应用程序,都会出现此问题。

当进程锁定包含 SO 的文件(例如著名的the process cannot access the file because it is being used by another process)时,有很多建议该怎么做。但是,所有提供的答案都无济于事,因为 Visual Studio 本身会锁定文件,唯一可行的解​​决方法是重新启动 Visual Studio - 这不是解决方案。

是什么导致这个文件被锁定?任何想法?有什么建议吗?

【问题讨论】:

  • 听起来像是正在调试的进程,或者托管被调试进程的模拟器本身还没有完全关闭,处于挂起或半挂起状态。您是否检查过流程管理器以查看是否是这种情况?您可能想尝试添加 Environment.Exit() 以查看这是否有助于恢复良好状态。要检查的另一件事是,两台机器之间的访问级别是否相同。不仅要检查 PC,还要检查模拟器。检查所有内容,并确保访问级别/模式相同。
  • 模拟器不是问题。我可以关闭模​​拟器,或者我什至可以在真实设备上工作,但会出现同样的问题。该问题在系统升级后直接出现,无需任何代码更改。作为后续问题,无论如何都无法再启动该应用程序(stackoverflow.com/questions/47732293/…),这可能与该问题相关,也可能不相关。因此,我什至无法运行单个代码行,应用程序崩溃,因为无论 VS 生成什么包:它都是错误的。

标签: c# windows visual-studio xamarin.android


【解决方案1】:

有时它有助于杀死 MsBuild.exe。此外,您还可以找到其他解决方案,例如此处所述:Xamarin Android project cannot build...

基本上,这似乎是 Studio 2017 版本 15.5 的问题。可能会在下一个版本中修复。

【讨论】:

  • 谢谢!杀死msbuild 或任何其他进程,类似于我在问题中提到的,而是一种解决方法,而不是解决方案。我不想杀死进程,因为它们锁定了对文件的访问。锁定根本不应该发生。在 15.5.1 之前我没有遇到过问题,即使是 15.5 也可以正常工作。但是,是的,您可能是对的,这是一个 15.5.1 问题并且可能已修复。如果是这样,我想知道为什么没有其他人报告这个问题:(
  • 真是悲剧。这确实是 VS 15.5.1 的一个问题。 Microsoft 的 15.5.2 发行说明将此问题列为其错误修复列表中的第一名;见visualstudio.com/en-us/news/releasenotes/vs2017-relnotes#15.5.2
  • 这里有同样的问题。我正在运行 VS 2017,在调试模式下运行时出现异常,但在不调试的情况下运行时不会引发异常。
【解决方案2】:

该死,我的建议不适合评论的上下文,所以这里是:

听起来像是正在调试的进程,或者托管被调试进程的模拟器本身还没有完全关闭,处于挂起或半挂起状态。您是否检查过流程管理器以查看是否是这种情况?您可能想尝试添加 Environment.Exit() 以查看这是否有助于恢复良好状态。

要检查的另一件事是,两台机器之间的访问级别是否相同。不仅要检查 PC,还要检查模拟器。检查所有内容,并确保访问级别/模式相同。

最后,尝试在管理员模式下运行 VS 2017,看看问题是否仍然存在。在您现在生活的 Win10 世界中,您过去运行 Windows 10 之前的访问级别完全有可能有所不同。

【讨论】:

  • 很好的建议。 VS 在管理员模式下运行:没有区别。模拟器不是问题:连接的真实设备上的同样问题。访问级别:我将比较两台开发人员机器;谢谢!重新关闭应用程序进程:启动时会杀死自己;见stackoverflow.com/questions/47732293/…。也许您指出了正确的问题。将对此进行检查。
猜你喜欢
  • 2018-09-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多