未找到 AndroidManifest.xml - Xamarin

问题描述 投票:0回答:4

这是我过去几天遇到的非常有趣的场景。我有一个 Xamarin 项目,它使用 MvvmCross 和一些第三方库(如 RestSharp)。 几天前,当我获得项目代码并打开它时,我发现项目属性文件夹有超过 1 个清单文件,这是异常的。当我尝试运行项目时,Visual Studio 没有拾取 Android 清单文件。 我在互联网上搜索了这件事,但没有得到什么线索。

  • 每个应用程序的根目录中都必须有一个 AndroidManifest.xml 文件(正是该名称)。

我正在发布我的文件结构图像以供参考。我已经检查了我的 .csproj 文件,它具有以下代码

 <AndroidManifest>Properties\TurboViewerarmAndroidManifest.xml</AndroidManifest>
<ItemGroup>
<Content Include="Properties\TurboViewerarmAndroidManifest.xml">
  <SubType>Designer</SubType>
</Content>

据我所知,如果我将清单文件名更改为 AndroidManifest.xml,项目运行正常,但当我尝试将其他清单文件的名称更改为 AndroidManifest.xml 时,就会出现问题,因为我们不能在单个文件中包含许多具有相同名称的文件但对于这个项目,所有清单文件都将位于同一文件夹中,但如果不将其名称更改为 AndroidManifest.xml,项目将无法运行。这就像一个死锁。

由于我是 Visual Studio 和 Xamarin 的新手,所以我可能会错过一些可能会让一切变得清晰的要点。

c# android visual-studio xamarin mvvmcross
4个回答
0
投票

每个应用程序的根目录中都必须有一个 AndroidManifest.xml 文件(正是该名称)。

这就是你的问题 - 你的 Android 清单文件名为

TurboViewerarmAndroidManifest.xml
。将其重命名为
AndroidManifest.xml


0
投票

只是尝试对白标应用程序做同样的事情。 Visual Studio 会忽略 AndroidManifest 设置,因此您无法重命名该文件(目前)。这是一个已知问题:https://bugzilla.xamarin.com/show_bug.cgi?id=31306

即使预构建过程也不起作用,因为它总是抛出清单文件丢失的错误(但它在那里)。

我现在的解决方案:在手动构建项目之前重命名清单。


0
投票

重新启动我的 Visual Studio 会有所帮助。


0
投票

通常我所做的是将项目设置为启动项目,关闭并重新启动 Visual Studio,并让它从后台完全加载所有内容。大多数时候,这一步就可以了。有点乏味,但这是我找到的唯一解决方案。

© www.soinside.com 2019 - 2024. All rights reserved.