当前位置: 首页 > 知识库问答 >
问题:

Visual Studio(xamarin)挂在每个构建、清理或重建上,同时AAPT. exe在后台运行

郭恩
2023-03-14

在过去的几天里,我一直在用头撞墙,试图弄清楚这一点。

下面是正在发生的事情:

  1. 每当我打开项目时,VS每隔一段时间就会挂起响应,因为我在一分钟左右前点击了一下。当你观看任务管理器时,你会看到AAPT. exe每隔几秒钟就会弹出并运行一会儿,大约3-5分钟后,它会完成正在做的任何事情,并再次开始工作,直到我做了其他让它启动的事情。
  2. 当我清理项目时也是一样。
  3. 当我建造/重建项目时也是一样。
  4. 当调试到物理设备时,它将生成并部署到设备,然后在开始调试之前挂起相同的问题几分钟

我发现:

这个问题可能与这个错误报告有关https://bugzilla.xamarin.com/show_bug.cgi?id=43081但是按照上面提供的说明操作是没有帮助的,只会导致更多的错误。

看起来AAPT正在处理我的pngs,这导致了挂起,但是我在整个项目中只有几个图像方面的小图标,没有什么应该需要2-3分钟来压缩。

我所尝试的:

  1. 更新所有android sdks和资源到最新可用。
  2. 更新java(64位)并删除除最新实例之外的所有其他实例
  3. 删除并重新安装了所有Android资源。
  4. 修复的Visual Studio(社区2015)
  5. 核弹VS与https://github.com/Microsoft/VisualStudioUninstaller/releases
  6. 试图安装VS 2017社区,但是它从来没有运行与错误CLR20r3从mcorlib 4.6.1与错误是'远程主机ervice.servicehub.service.json'找不到(我检查了它存在的地方,它应该是,它引用了虚拟服务器发现:一个过程导入by'Microsoft.VisualStudio.Settings.15.0.dll'无法加载。(不幸的是,我不再有完整的痕迹,我摆脱了17)
  7. 毕竟,我重新安装了vs 15,我得到了工作(勉强),但它仍然有完全相同的问题,当我开始。

在这一点上,我的下一步是彻底地用核武器炸毁我的电脑,我真的不想这么做,所以我非常希望有人知道如何解决这个问题。

共有1个答案

姚韬
2023-03-14

所以在玩了一些东西后,我注意到在我的解决方案中,来自Nuget的相当一部分包上有一个三角形,因为没有引用。

最终我发现,在我上面描述的每一个事件之后,AAPT实际上都在重新下载我解决方案中的大约20个包中的每一个,因为出于某种原因,它未能将项目链接到本地副本,尽管在那里。

已在此线程上发现解决方案:https://forums.xamarin.com/discussion/89926/the-referenced-component-xamarin-android-support-xxx-could-not-be-found-after-upgrade-with-nuget

罗纳德·彼得斯

二月二十三日

我通过强制重新安装包修复了黄色标记:打开NuGet Package Manager控制台并执行“更新包–重新安装”。

这迫使所有包从项目中删除所有引用并重新安装自己。最终他们中的大多数人只是找到了本地副本,只是需要再次链接。

运行此操作后,在上面列出的任何事件之后,VS都不再挂起,并且一切似乎都恢复正常。

 类似资料:
  • 问题内容: 我有一个Java应用程序的Maven构建,可以通过键入相同的命令在Linux或Windows上成功运行。 然而,使用Jenkinsfile方法设置此生成,在Linux上文件需要包含和Windows 。 如果在Windows上正确配置了路径和工具,则日志显示: 有没有办法让单个Jenkinsfile允许在两种环境中构建? 问题答案: 管道脚本可以包含常规代码,因此允许分支。您可以使用并根

  • 将我的项目从Android 6.0迁移到Android 7.0后,我在构建时遇到一个错误: 我在网上找到的唯一解决方案是将Java升级到1.8,但目前的版本是JavaSE开发工具包8u112。 有什么建议吗? 附言:Xamarin Android Studio 6.1。1在Mac OS Sierra上构建17

  • 目前,Jenkins 上有多个管道(A、B、C)和节点(X、Y、Z)。我们启用了 Throttle Concurrent Builds 插件,以确保管道中只有一个构建在单个节点上运行。 问题是,使用这种方法,来自不同管道的构建可能会发生冲突(例如,管道A可能已经在节点X上执行,我们不希望任何其他管道在节点X上执行,直到管道A完成)。TCB插件确保来自单个管道的多个构建不会在一个节点上运行,但它不会

  • 问题内容: 我有一个Jenkins声明性管道的小例子,该管道应同时在“ Windows”和“ Linux”代理上运行。目标是动态构建配置矩阵(例如,发布/调试配置;不同的CMake参数;等等),并使所有组合并行运行。但是,我被困在建立从预备变量执行并行步骤的管道中。 这是脚本的一个版本,其中并行阶段是在块内显式指定的: 我的计划是在块中动态创建阶段(取决于所需的配置),但是我不确定语法或是否完全可

  • 我们有一个项目,其中我们有几个Jenkins作业:一种类型的作业运行交付(a), 一个只进行编译和单元测试的程序(B) 和 运行集成测试、静态代码分析等(C)的人。 我们在四个 Jenkins 节点(主节点三个从节点)上运行,我们的作业是声明性管道作业的混合,并在 Jenkins 作业中手动单击。 我们一次只想为每个节点运行一个集成测试构建。然而,我们希望运行尽可能多的交付(A)和代码质量(B)构

  • 在尝试编译外部jar时,我必须使用终端并进行清理。然而,当我进入项目的根目录并执行时 梯度清洁 我收到以下消息: - 巴什: 格拉德柳: 命令未找到 这是我的应用程序文件夹主目录的屏幕截图。 如果你还需要什么,请告诉我,我不知道为什么会这样。