我在xamarin项目中使用org.apache.legacy库。我在清单文件中添加了<uses-library>
标记,但是在构建项目时出现错误:
Unexpected element <uses-library> found in manifest.
另外,当我尝试注释该行时,它会在构建解决方案时返回。
答案 0 :(得分:2)
uses-library标签应该放置在application元素内,这就是为什么会出现错误的原因。
即使更改它,编译器仍会抱怨同一行的问题很可能可以通过重新启动Xamarin studio,然后清理项目并重建来解决。
答案 1 :(得分:1)
通过使用Notepad ++编辑清单文件,只需删除uses-library
标记并将其放置在application
标记内,即可为我解决此问题(尽管清理,重建等。)。
有点类似于@ cmw2379所说的话。
答案 2 :(得分:0)
好,所以我的一位同事找到了解决方案,但这很奇怪。因此,就上下文而言,我们使用Visual Studio for Mac,因此它可能与Windows 100%不兼容。我们发现的问题是Visual Studio对AndroidManifest.xml文件有几个不同的视图,并且其中一个视图是在过去的某个时间修改的。
OpenWith -> 'Source Code editor'
。该视图是xml中可编辑清单的简约视图。在这里,您还应该找到关于apache库的问题行,该行不在应有的应用程序标记中。因此,您可以在此处将其删除。 清单UI视图->清单中间xml视图->清单生成的文件
似乎您只能修改xml中清单文件的一个版本,因为另一个版本将始终覆盖您的更改。通过遵循该错误消息,您只会得到最终的输出,而不是可以实际编辑并维护其更改的中间清单。很久以前,在我们的项目中对清单进行了修改,而现在最新版本的Visual Studio却将其引发错误。
建议的解决方法是不遵循错误消息来打开清单,而是打开xml raw中的清单文件。这将是一个比生成的文件小的文件,因此请寻找该文件,以确保您位于正确的位置。删除错误放置在“应用程序”标签外部的“ uses-library”行并保存。希望这对其他人有所帮助,因为它肯定让我忙了几个小时。
答案 3 :(得分:0)
因此,在这个愚蠢的错误上过夜后,我从零开始创建了一个全新的应用程序,并配置/安装了所有软件包和SDK,以便在Xamarin android native中使用Google Maps,这次我将标签放入了应用程序标签和在我的设备上安装了该应用,它运行正常。 希望能帮助到你 !!干杯!
答案 4 :(得分:0)
这是相当普遍的一个(或者至少让我不止一次被抓到)。
Visual Studio编译并运行代码时,它将从(例如)/bin/Debug/netcoreapp3.1
对于某些类型的文件,您必须告诉VS将其复制到此“工作文件夹”或输出目录中。 appSettings.json
配置文件经常发生这种情况,并引起混乱,在这种情况下,情况非常相似。
在VS中找到文件,右键单击属性,然后将“复制到输出目录”字段的值更改为“始终复制”或“如果更新则复制”。