首页 > 解决方案 > Xamarin - “ManifestMerger”任务意外失败

问题描述

更新 Visual Studio 版本后,我的 Xamarin Forms 项目未构建,向我显示以下错误。我试图创建一个空白应用程序,但出现同样的错误。

错误:

Severity    Code    Description Project File    Line    Suppression State
Error       The "ManifestMerger" task failed unexpectedly.
System.IO.FileNotFoundException: Could not find file 'D:\GIT\AppBlank\AppBlank\AppBlank.Android\obj\Debug\110\android\AndroidManifest.xml.tmp'.
File name: 'D:\GIT\AppBlank\AppBlank\AppBlank.Android\obj\Debug\110\android\AndroidManifest.xml.tmp'
   at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
   at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost)
   at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize)
   at System.Xml.XmlDownloadManager.GetStream(Uri uri, ICredentials credentials, IWebProxy proxy, RequestCachePolicy cachePolicy)
   at System.Xml.XmlUrlResolver.GetEntity(Uri absoluteUri, String role, Type ofObjectToReturn)
   at System.Xml.XmlTextReaderImpl.FinishInitUriString()
   at System.Xml.XmlTextReaderImpl..ctor(String uriStr, XmlReaderSettings settings, XmlParserContext context, XmlResolver uriResolver)
   at System.Xml.XmlReaderSettings.CreateReader(String inputUri, XmlParserContext inputContext)
   at System.Xml.XmlReader.Create(String inputUri, XmlReaderSettings settings, XmlParserContext inputContext)
   at System.Xml.Linq.XDocument.Load(String uri, LoadOptions options)
   at Xamarin.Android.Tasks.ManifestDocument..ctor(String templateFilename)
   at Xamarin.Android.Tasks.ManifestMerger.Execute()
   at Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute()
   at Microsoft.Build.BackEnd.TaskBuilder.<ExecuteInstantiatedTask>d__26.MoveNext() AppBlank.Android            

输出构建:

Rebuild started...
Restored D:\GIT\AppBlank\AppBlank\AppBlank\AppBlank.csproj (in 29 ms).
1>------ Rebuild All started: Project: AppBlank, Configuration: Debug Any CPU ------
Restored D:\GIT\AppBlank\AppBlank\AppBlank.Android\AppBlank.Android.csproj (in 99 ms).
1>AppBlank -> D:\GIT\AppBlank\AppBlank\AppBlank\bin\Debug\netstandard2.0\AppBlank.dll
2>------ Rebuild All started: Project: AppBlank.Android, Configuration: Debug Any CPU ------
2>  AppBlank.Android -> D:\GIT\AppBlank\AppBlank\AppBlank.Android\bin\Debug\AppBlank.Android.dll
2>D:\Arquivos de Programas\Microsoft Visual Studio\2019\Community\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(1448,3): error MSB4018: The "ManifestMerger" task failed unexpectedly.
2>D:\Arquivos de Programas\Microsoft Visual Studio\2019\Community\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(1448,3): error MSB4018: System.IO.FileNotFoundException: Could not find file 'D:\GIT\AppBlank\AppBlank\AppBlank.Android\obj\Debug\110\android\AndroidManifest.xml.tmp'.
2>D:\Arquivos de Programas\Microsoft Visual Studio\2019\Community\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(1448,3): error MSB4018: File name: 'D:\GIT\AppBlank\AppBlank\AppBlank.Android\obj\Debug\110\android\AndroidManifest.xml.tmp'
2>D:\Arquivos de Programas\Microsoft Visual Studio\2019\Community\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(1448,3): error MSB4018:    at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
2>D:\Arquivos de Programas\Microsoft Visual Studio\2019\Community\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(1448,3): error MSB4018:    at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost)
2>D:\Arquivos de Programas\Microsoft Visual Studio\2019\Community\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(1448,3): error MSB4018:    at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize)
2>D:\Arquivos de Programas\Microsoft Visual Studio\2019\Community\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(1448,3): error MSB4018:    at System.Xml.XmlDownloadManager.GetStream(Uri uri, ICredentials credentials, IWebProxy proxy, RequestCachePolicy cachePolicy)
2>D:\Arquivos de Programas\Microsoft Visual Studio\2019\Community\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(1448,3): error MSB4018:    at System.Xml.XmlUrlResolver.GetEntity(Uri absoluteUri, String role, Type ofObjectToReturn)
2>D:\Arquivos de Programas\Microsoft Visual Studio\2019\Community\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(1448,3): error MSB4018:    at System.Xml.XmlTextReaderImpl.FinishInitUriString()
2>D:\Arquivos de Programas\Microsoft Visual Studio\2019\Community\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(1448,3): error MSB4018:    at System.Xml.XmlTextReaderImpl..ctor(String uriStr, XmlReaderSettings settings, XmlParserContext context, XmlResolver uriResolver)
2>D:\Arquivos de Programas\Microsoft Visual Studio\2019\Community\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(1448,3): error MSB4018:    at System.Xml.XmlReaderSettings.CreateReader(String inputUri, XmlParserContext inputContext)
2>D:\Arquivos de Programas\Microsoft Visual Studio\2019\Community\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(1448,3): error MSB4018:    at System.Xml.XmlReader.Create(String inputUri, XmlReaderSettings settings, XmlParserContext inputContext)
2>D:\Arquivos de Programas\Microsoft Visual Studio\2019\Community\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(1448,3): error MSB4018:    at System.Xml.Linq.XDocument.Load(String uri, LoadOptions options)
2>D:\Arquivos de Programas\Microsoft Visual Studio\2019\Community\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(1448,3): error MSB4018:    at Xamarin.Android.Tasks.ManifestDocument..ctor(String templateFilename)
2>D:\Arquivos de Programas\Microsoft Visual Studio\2019\Community\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(1448,3): error MSB4018:    at Xamarin.Android.Tasks.ManifestMerger.Execute()
2>D:\Arquivos de Programas\Microsoft Visual Studio\2019\Community\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(1448,3): error MSB4018:    at Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute()
2>D:\Arquivos de Programas\Microsoft Visual Studio\2019\Community\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(1448,3): error MSB4018:    at Microsoft.Build.BackEnd.TaskBuilder.<ExecuteInstantiatedTask>d__26.MoveNext()
========== Rebuild All: 1 succeeded, 1 failed, 0 skipped ==========

为了尝试正确,我尝试将 Xamarin.Forms 版本降级到 4.6.0.847 版本并在 AndroidManifest.xml 中添加工具,但不起作用。

环境:

适用于 Windows 的 Microsoft Visual Studio Community 2019 版本 16.10.3

Xamarin.Android SDK 11.3.0.4

Xamarin.Forms 5.0.0.2083

目标框架:Android 11.0 (R)

转载: https ://github.com/FlavineiOliveira/AppBlank

标签: androidvisual-studioxamarinxamarin.androidandroid-manifest

解决方案


现在问题解决了,但我不知道它发生了。

之前,我尝试过:

  1. 清洁和重建解决方案
  2. 删除文件夹 bin、obj 并重建解决方案
  3. 更新和降级 Xamarin.Forms 版本
  4. 关闭和打开解决方案以重建
  5. 重新启动我的电脑
  6. 修复 Visual Studio
  7. 卸载并安装 Visual Studio

现在,我只需打开解决方案并尝试重建。

成功。

环境是一样的。


推荐阅读