首页 > 解决方案 > System.IO.FileNotFoundException:更新 xamarin 表单后无法加载程序集“AppName”

问题描述

我无法重建项目,并且在更新到最新的 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-studioxamarinxamarin.formsxamarin.androidfile-not-found

解决方案


我对这种情况的理解告诉我,您没有附带Visual Studio 15.9.xx.

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

您可以按如下方式给出路径:

  • 删除对 .dll 的现有引用
  • 在您的项目中,转到“参考”>“添加参考”>“浏览”,然后为其提供解决方案目录中的 .dll 路径。

更新:

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

所以用 Void 返回类型替换任务就可以了。参考


推荐阅读