System.IO.FileNotFoundException:更新 xamarin 表单后无法加载程序集 "AppName"

System.IO.FileNotFoundException: Could not load assembly "AppName" after update xamarin forms

我无法重建项目,更新到最新的 Xamarin Forms 3.4.0.1008975 后出现此异常,如果我将其降级到 3.1.0.583944 或更低版本,异常将消失,我可以成功构建。

我已经尝试更新 VS 并清理 - 关闭 - 重新打开但问题仍然存在,我也尝试将项目移动到 C:/ 但没有成功。

Error       The "ResolveLibraryProjectImports" task failed unexpectedly.
System.IO.FileNotFoundException: Could not load assembly 'SouqAlData, Version=0.0.0.0, Culture=neutral, PublicKeyToken='. Perhaps it doesn't exist in the Mono for Android profile?
File name: 'SouqAlData.dll'
   at Java.Interop.Tools.Cecil.DirectoryAssemblyResolver.Resolve(AssemblyNameReference reference, ReaderParameters parameters)
   at Java.Interop.Tools.Cecil.DirectoryAssemblyResolver.Resolve(String fullName)
   at Xamarin.Android.Tasks.ResolveLibraryProjectImports.Extract(DirectoryAssemblyResolver res, ICollection`1 jars, ICollection`1 resolvedResourceDirectories, ICollection`1 resolvedAssetDirectories, ICollection`1 resolvedEnvironments)
   at Xamarin.Android.Tasks.ResolveLibraryProjectImports.Execute()
   at Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute()
   at Microsoft.Build.BackEnd.TaskBuilder.<ExecuteInstantiatedTask>d__26.MoveNext() SouqAlData.Android  

根据我对情况的了解,您没有 Visual Studio 15.9.xx.

随附的最新版本的 Xamarin

因此,当您将 Xamarin Forms 包更新到可用的最新版本时,它会发现版本之间存在差异,因此可能会抛出此错误。另一个原因可能是当您更新 Xamarin Forms 包时,VS 以某种方式丢失了 SouqAlData.dll 的路径,因此您会收到此错误。在第二种情况下,我建议您做的是再次为您的 .dll 提供正确的路径到 VS,看看这是否有助于您构建项目。

你可以给路径如下:

  • 删除对 .dll 的现有引用
  • 在您的项目中,转到 References>Add Reference>Browse 然后从您的解决方案目录中为其提供 .dll 路径。

更新:

从最近的 Xamarin 表单更新代码背后不支持任务return类型作为事件处理程序的签名。

所以用 Void return 类型替换任务就成功了。

当您在 xaml 文件检查您的 xaml 代码不匹配代码或事件的情况下,当您的解决方案中出现另一个错误时,就会发生此错误。就我而言,我在 xaml 文件中找到了“-->”,这就是问题所在。