gpt4 book ai didi

android - 使用适用于 Visual Studio 2015 预览版的 Xamarin 扩展创建 Android 应用程序时出现构建错误

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:47:41 25 4
gpt4 key购买 nike

我正在使用最近发布的 Visual Studio 2015 预览版以及适用于 Visual Studio 的 Xamarian Studio 5.6.3(或 5.6.2)扩展。

在下载和安装所有必需软件(全部成功完成)数小时后,我开始在 VS2015P 中开发 Android 应用程序,但每次创建空白 Android 应用程序时,我都会收到此错误,没有错误代码:

The "MergeApkRecipelists" task was not given a value for the required parameter "RecipeFiles".

最佳答案

通过查看 Xamarin 的 .targets 文件解决了这个问题。

精简版

您可以:

  • 创建一个 Android C++ 库项目并从您的 Xamarin Android 项目中引用它

  • 注释掉 %PROGRAMFILES(x86)%\MSBuild\Xamarin\Android\Xamarin.Android.Common.After.targets 中定义的 Import 元素。请注意,这可能会禁用对向 Xamarin Android 项目添加 C++ 项目引用的支持。

完成其中一项操作后,您的 Xamarin Android 项目应该会构建并运行。

长版

首先注意VS输出窗口中的错误:

C:\Program Files (x86)\MSBuild\Xamarin\Android\Xamarin.Android.Common\ImportAfter\Microsoft.Cpp.Android.targets(54,9):错误 MSB4044:“MergeApkRecipelists”任务没有为必需的参数“RecipeFiles”提供值。

错误中提到的 Microsoft.Cpp.Android.targets 文件看起来都是关于支持对 C++ 项目的项目引用。其中,MergeApkRecipelists 任务的元素如下所示:

<!-- language: lang-xml -->
<MergeApkRecipelists RecipeFiles="@(_NativeAndroidRecipeFiles)">
...
</MergeApkRecipelists>

NativeAndroidRecipeFiles 变量似乎没有在 .targets 文件中定义,因此推测它是由构建过程初始化的。但由于 .targets 文件似乎旨在支持 C++ 项目引用,我尝试将 Android C++ 共享库项目添加到我的解决方案中:

Adding Dynamic Shared Library (Android) project

然后我从我的 Xamarin Android 项目中引用了 C++ 项目,瞧!之后编译运行成功。

但由于必须引入虚拟库非常繁琐,我还追踪了 Xamarin 的 Microsoft.Cpp.Android.targets 文件被拉入的位置。这发生在 C:\Program Files (x86)\MSBuild\Xamarin\Android\Xamarin.Android.Common.After.targets 文件,其中有一个 Import 元素:

<!-- language: lang-xml -->
<Import Project="$(MSBuildThisFileDirectory)\Xamarin.Android.Common\ImportAfter\*"
Condition="Exists('$(MSBuildThisFileDirectory)\Xamarin.Android.Common\ImportAfter')"/>

这会引入 %PROGRAMFILES(x86)\MSBuild\Xamarin\Android\Xamarin.Android.Common\ImportAfter 下的所有内容。由于该目录中唯一的项目是我们要排除的 .targets 文件,因此可以将其注释掉而不影响任何其他内容。但请注意,由于此 .targets 文件似乎是支持从 Xamarin Android 项目引用 C++ 项目的一部分,因此将其注释掉可能意味着它将不再正常工作。

注释掉 Import 语句后,Xamarin Android 项目应该在没有任何 C++ 引用的情况下构建和运行。

关于android - 使用适用于 Visual Studio 2015 预览版的 Xamarin 扩展创建 Android 应用程序时出现构建错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26902711/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com